Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!wparse1.cnu[/** * section: Parsing * synopsis: Parse an XML file to a tree and free it * purpose: Demonstrate the use of xmlReadFile() to read an XML file * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse1 test1.xml * test: parse1 test1.xml * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include /** * example1Func: * @filename: a filename or an URL * * Parse the resource and free the resulting tree */ static void example1Func(const char *filename) { xmlDocPtr doc; /* the resulting document tree */ doc = xmlReadFile(filename, NULL, 0); if (doc == NULL) { fprintf(stderr, "Failed to parse %s\n", filename); return; } xmlFreeDoc(doc); } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION example1Func(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } PK!reader2nuȯ#! /bin/sh # reader2 - temporary wrapper script for .libs/reader2 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The reader2 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader2.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "reader2:reader2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "reader2:reader2:$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 () { if test -n "$lt_option_debug"; then $ECHO "reader2:reader2:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'reader2' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!=E`` testWriter.onu[ELF>@@;: .0-1,2+3AVAUATUSHdH%(HD$1HHHIHHHDhIC|-<$HcIHDt$HL$HHHSxwT$D)uI$LpHcHHc$HL$dH3 %(HH[]A\A]A^H51L1H=f1@MHLDH51LsH=1YU1SHH11HHH@H5HH5H=HHHHHt HH5HHH5HHH5HH5H=H5HHH1Ht HH5H01HHH51HHH5vH5H=H5HHH.Ht HH5H=H5HHHHt HHH5HCH5H,HH5H1 HHH5yHH5HHH5H1HHH5H/HH5HxLHH5HHHXH[]HH=[]fDHH=[]fDHH=[]fDHH=[]fDHH=[]fDHH=[]fDHH=[]fDHH=[]fDHH=[]ZH=[]ff.@AUIATUSHH=H1HHHHH1H1H=H5HH5H=HHIH=?Mt LH5H3HH5H5HH5HH5H=HH5HI1H=Mt LH5H1HHH51HHH5H5H=H5HHIoMt LH5H=H5HHI1Mt LH#H5HH5HHH5H1 HHH5HH5H+HH5H]1HHH5(H8H(H5HHH5HHHH=xWHLH5H=HHt1H}HHXH[]A\A]H=H[]A\A]f.HH=[]A\A]f.HH=[]A\A]f.H=H=H={@AT1IUSHdH%(HD$1HH11HHHpH5H)H5H=HHH`Ht HH5HHH5HHH5HH5H=H5HHH1Ht HH5HH1HHH51HHH5~H5H=H5HHH>Ht HH5H=H5HHHHt HH"H5H[H5HDHH5H1 HHH5HH5HHH5H,1HHH5H7H'H5HxdHH5HHHHH4$LHH<$ H=HD$dH3%(H[]A\H=fH=fH=fH=fH=fH={H=cH=KH=5fAUIH=ATUSHH=H1H1HHHHHHHH1H=HHmH1H1H=KH5H=HHIH=Mt LH5H/HH5HHH5HH5H=HH5HI1H=Mt LH5H1HHH51HHH5kH5H=H5HHIKMt LH5H=H5HHI Mt LHH5HH5HHH5H1 HHH5nH~H5H'HH5H91HHH5HHH5HHH5HHHH=x3HLHHXH[]A\A]H=H[]A\A]f.HH=[]A\A]f.HH=[]A\A]f.H=H=H={ GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<>HEADER%010dX_ORDER_ID%dCUSTOMER_IDMllerNAME_1JrgNAME_2ENTRIESENTRYARTICLEENTRY_NOFOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s' ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets. testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocumentGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSH RH=H=H=H=1Hõ; 5Eintmm1% 3f 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D>` FDh Hfp Ift J tx MQ NX OJ QZ Y [e \p ]D ^ C _ ) `f bv + 9 Z 51 ` k  5% f  C c f))/5/EfL y (S(  !  ;    !G E< J Q Y [_ \quse ]< ^< _ `q Zk<       w< [   x U C    U U  U( U0 U8doc @ns E H qP  X E ` Ch Qp Qrg J C    U U  ( U0 U8doc @ CH CP CX C`  h  p Cx[ ' (C ) * +U ,U  -U( .U0 /U8doc 0@ 3fH 4fL :JP ;JX <K ` = h > pids ?Cx @CURL A  Bf DM  EC Ff HfP  w 0 E  K       C  (`   C    U U  U(  0  8doc @ns E H [P CXQ  g '   %P &G -  9_ e p C B3|  C ) M  C C) W   p p  S  #' 8  xq` inxx*outzqret{ f| f } f@ ~ fD!2R "2#J2$U1$T !2 "2#2$U %2 "2#J2$U1$T $Q|%2 2 "2#2$U &2J $U|&2b $Uv' $U }1$1 $ &' $U|$Tw$Qv$RD' $U|' $U|(2)klkrcm fn, doco: p tmpqq*2w +2*2 +2*2 +2*2 +2*2 '+2*2c J+2%2 "2,2-2$U .2$U %2 "2%2 "2!2 ="2!2 q"2!2  /2&/4$U &<4$Us$T0$Q $R0&I4$Us$Tv&V43$Us$Tv$Q0&b4b$Uv$T0$Q $R0&> $U $T &n4$Uv$T|'$U|&z4$Uv$T &4$Uv$T $Q &4I$Uv$T $Q &> u$U $T &4$Uv$T $Q|'$U|&z4$Uv$T &4$Uv$T $Q $R &4K$Uv$T $Q $R &> w$U $T &4$Uv$T $Q|'$U|&> $U $T &4 $Uv$T $Q|'!$U|&49$Uv&z4^$Uv$T &z4$Uv$T &4$Uv$T $Q &4$Uv$T $Q $R:&4$Uv&z4)$Uv$T &4[$Uv$T $Q &4$Uv$T $Q $RD&4$Uv&4$Uv&z4$Uv$T &4$Uv$T $Q &41$Uv&4I$Uv&4a$Uv&4$U}$Ts$Q ,4)ogorcq fr, tmpsq0doct: P!2  k"2#2$U !2  "2#2$U !2  "2#2$U !2 z X"2#2$U !2  "2#2$U !2  "2#2$U !2  E"2#2$U !2  "2#2$U !2  "2#2$U !2 Y 2"2#2$U &?7O$Uw$T0&b4~$Us$T0$Q $R0&z4$Us$T &> $U $T &n4$Us$Tv'$Uv&z4&$Us$T &4X$Us$T $Q &4$Us$T $Q &> $U $T &4$Us$T $Qv'$Uv&z4$Us$T &4S$Us$T $Q $R &4$Us$T $Q $R &> $U $T &4$Us$T $Qv'$Uv&> #$U $T &4N$Us$T $Qv'b$Uv&4z$Us&z4$Us$T &z4$Us$T &4$Us$T $Q &4-$Us$T $Q $R:&4E$Us&z4j$Us$T &4$Us$T $Q &4$Us$T $Q $RD&4$Us&4$Us&z4($Us$T &4Z$Us$T $Q &4r$Us&4$Us&4$Us&4$U|$Q (4(2)Ql(Q!rcS fT, bufU_tmpVqfpW *2] +2*2n +2*2 +2*2 !+2*2U ,!+2*2] O!+2!2 a!"<2"02#R7$Ts%2e ""2,2-2!$U .2$U %2w ;""2%2 c""2!2 ""2!2 ""2!2  "/2(8&8(#$Uv$T0&b4W#$Us$T0$Q $R0&z4|#$Us$T &> #$U $T &n4#$Us$T|'#$U|&z4#$Us$T &41$$Us$T $Q &4c$$Us$T $Q &> $$U $T &4$$Us$T $Q|'$$U|&z4$$Us$T &4,%$Us$T $Q $R &4e%$Us$T $Q $R &> %$U $T &4%$Us$T $Q|'%$U|&> %$U $T &4'&$Us$T $Q|';&$U|&4S&$Us&z4x&$Us$T &z4&$Us$T &4&$Us$T $Q &4'$Us$T $Q $R:&4'$Us&z4C'$Us$T &4u'$Us$T $Q &4'$Us$T $Q $RD&4'$Us&4'$Us&z4($Us$T &43($Us$T $Q &4K($Us&4c($Us&4{($Us&8($U}$T &8($Us,81EA.12uriE#3rcG f4H, 3tmpIq52` u)"2.2$U 52W )"2.2$U 52 )"2.2$U 52N ;*"2.2$U 52m }*"2.2$U 52 *"2.2$U 52 +"2.2$U 52 C+"2.2$U 52 +"2.2$U %2B +/2.2$U &;+$UU$T0&b4,$Us$T0$Q $R0&z49,$Us$T &> e,$U $T &n4,$Us$Tv',$Uv&z4,$Us$T &4,$Us$T $Q &4 -$Us$T $Q &> L-$U $T &4w-$Us$T $Qv'-$Uv&z4-$Us$T &4-$Us$T $Q $R &4".$Us$T $Q $R &> N.$U $T &4y.$Us$T $Qv'.$Uv&> .$U $T &4.$Us$T $Qv'.$Uv&4/$Us&z45/$Us$T &z4Z/$Us$T &4/$Us$T $Q &4/$Us$T $Q $R:&4/$Us&z40$Us$T &420$Us$T $Q &4i0$Us$T $Q $RD&40$Us&40$Us&z40$Us$T &40$Us$T $Q &41$Us&4 1$Us,46fS2&;i1$U R&(1$U &1$U &1$U & 1$U (;(;7kf28k 97dfJ28d8d<9:\ ;/-ConvertInput: conversion wasn't successful. <;ConvertInput: no mem : =>;20testXmlwriterTree: Error creating the xml node ;;9testXmlwriterTree: Error at xmlTextWriterWriteAttribute ;97testXmlwriterTree: Error at xmlTextWriterStartElement ;?=testXmlwriterTree: Error at xmlTextWriterWriteFormatElement ;97testXmlwriterTree: Error at xmlTextWriterWriteElement ;75testXmlwriterTree: Error at xmlTextWriterEndElement = = <= :+ :8 :N:W ::F :h :r:`:<:-= = ;86testXmlwriterDoc: Error at xmlTextWriterStartElement ;97testXmlwriterDoc: Error at xmlTextWriterStartDocument ;:8testXmlwriterDoc: Error at xmlTextWriterWriteAttribute ;31testXmlwriterDoc: Error creating the xml writer ;86testXmlwriterDoc: Error at xmlTextWriterWriteComment ;86testXmlwriterDoc: Error at xmlTextWriterWriteElement ;>  &I$ >  I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!'II> I: ; 9 (  : ; 9 I8  : ;9  : ;9 I8  : ;9 I8 : ;9 I'.?: ;9 'I@B: ;9 IB: ;9 IB4: ;9 IB4: ;9 IB 4: ;9 I!1RB X YW "1B#1$B%1RB UX YW &1'(1).?: ;9 '@B*1X YW +1,B1-B1.B1/104: ;9 I1.?: ; 9 '@B2: ; 9 IB34: ; 9 IB44: ; 9 IB51RB UX Y W 6.?: ; 9 'I@B7.?: ; 9 'I 48: ; 9 I9:.?<n: ; 9 ;6<.?<n: ; =.?<n: ;9 >.?<nUVUVUVUT\TT\TP\PS\P\PP]]]PSSSPS  U]U]U]U]U]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPVVVVPSUSSSSPVPP\PQ\P\P\\\\U\U\PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSSPSSPVPQVPVPVVVVU]U]U]U]U]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSPSSSPVUVVVVP\PQ\P\P\\\PSPSUUPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSUSSSPSSSSSSPVPQVPVPVVVVVVVV<S /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltestWriter.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hiconv.hencoding.hxmlstring.htree.hxmlmemory.hglobals.hxmlwriter.hstring.hxmlversion.hparser.h <<X> K=X=  Y   Jf<  X>%<><%< JQ m,w . = -xw J  w XwJ   w t w.XXwXKz&z.^Y  Y    0 d> YX  Z Z  / = X[X  . .  / = YX  / = YX    Z .   Z .   Q Z   =  ~  ~Jt  ~  j ~Jt  ~  l ~Jt  ~  a ~Jt ~.  ~Jt  ~   ~Jt  ~  8F ~Jt  ~  &X ~Jt  ~   ~Jt  ~ X ~ ~ t  ~ X Kw  Y ~tX= / ~t    0 d> Y }tX  Z Z  / = .[ }tX  . .  / = YX  / = ZX    Z .   Z .    Z    |tO |t=]| = .- ~~ t | } |Jt  |J } |Jt . |. }  }  } nx.<Y  Y    0 d> YX  Z Z  / = X[X  . .  / = YX  / = YX    Z .   Z .   P Z   0 ~{   ~{  #J{  RJ{  J{  J{  mJ{  m{  2z  X wXz  Kw  Xwt  Y yt  X= yt= / yt   0 d> Y ytX  Z Z  / = .[ ytX  . .  / = YX  / = YX    Z .   Z .    Z    xtO"= .- ~y t x y xJt . x. y xJt . x. y  y  x   PzP\YprintfxmlTextWriterWriteFormatComment_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLxmlReallocFuncXML_BUFFER_ALLOC_DOUBLEITtype_IO_buf_basexmlTextWriterEndDocumentpsvilong long unsigned int_IO_buf_endout_sizexmlNewTextWriterTreeSystemIDXML_XINCLUDE_STARTnsDeftestXmlwriterFilename_privatexmlTextWriterWriteCommentxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLlong unsigned int_fileno_IO_read_endencodinglastlong intoldNsparent_flagsxmlCharEncodingHandler__builtin_fputs__builtin_putsstdinXML_XINCLUDE_END_IO_codecvt__printf_chkxmlNewTextWriterFilenameExternalID_old_offset_offsetxmlBufferxmlCharxmlCleanupParserXML_ATTRIBUTE_ENTITIEStestXmlwriterDoccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODEtempxmlMalloc_xmlDocXML_NOTATION_NODExmlCharEncodingOutputFuncunsigned int_freeres_bufxmlTextWriterWriteFormatElementxmlDocxmlTextWriterWriteAttributexmlMemoryDump_xmlAttr__streamoutputxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYprefixnamesys_nerrcharsetcontextsizeshort unsigned intXML_ENTITY_DECL_IO_wide_datastrlenxmlBufferPtrxmlBufferAllocationSchemexmlTextWriterStartElementwriterxmlNewDoc_xmlDtdtestWriter.c_lockxmlTextWriterStartDocument_flags2_modexmlTextWriterEndElementstdoutXML_BUFFER_ALLOC_IOXML_PI_NODExmlTextWriterWriteElementXML_ATTRIBUTE_IDiconv_thandlerxmlFreeTextWriter_codecvt_xmlBufferstandaloneextSubsetxmlRealloccontentpentities_IO_save_basexmlCharEncodingInputFuncxmlTextWriterPtrelements_xmlTextWriter_IO_write_endXML_ATTRIBUTE_DECLxmlFindCharEncodingHandler_IO_lock_t_IO_FILEfputsXML_BUFFER_ALLOC_BOUNDED__off_t_IO_save_endXML_BUFFER_ALLOC_EXACTXML_ENTITY_NODEsys_errlist_markersrefsxmlFreecontentIOxmlBufferCreatexmlNsTypechildrenunsigned charXML_DTD_NODEnodeXML_BUFFER_ALLOC_IMMUTABLEversionentitiesshort intfilenotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNodeXML_ATTRIBUTE_IDREFS_vtable_offsetFILExmlMemStrdupatypeinput__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictfprintfXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictxmlSaveFileEncXML_TEXT_NODEfcloseallocxmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_baseiconv_inXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS_xmlCharEncodingHandler__pad5ConvertInputxmlNewDocNode_unused2stderrxmlTextWriterxmlCharEncodingHandlerPtr_IO_markerXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlBufferFreexmlNewTextWriterMemoryXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODExmlNewTextWriterDocprev_wide_datatestXmlwriterTreeXML_DOCUMENT_NODEXML_BUFFER_ALLOC_HYBRID_xmlNsputsmain_IO_write_baseiconv_outXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAfopentestXmlwriterMemoryGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx @`FBB A(A0D@ 0A(A BBBI `AECD G DAH D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAE AHAplFEA A(D0 (D ABBL K (A ABBO D (H ABBO D (H ABBO 0xgFFA D0  AABH plFLA A(D0 (D ABBH K (A ABBO D (H ABBO D (H ABBO  SHJ   / 1  K0i123%A`[`  %FeyS !#%')012345/6h8!h)/3;>GMTZeht{ &,28>DJ(OTZ_ekqHw}@h0 ``0@0 h @ % + 17 =x C( Ih O U[agmy*+,-.`*2C`AYr7Ohzl g l'1?TiSn~.annobin_testWriter.c.annobin_testWriter.c_end.annobin_testWriter.c.hot.annobin_testWriter.c_end.hot.annobin_testWriter.c.unlikely.annobin_testWriter.c_end.unlikely.annobin_testWriter.c.startup.annobin_testWriter.c_end.startup.annobin_testWriter.c.exit.annobin_testWriter.c_end.exit.annobin_ConvertInput.start.annobin_ConvertInput.end.annobin_testXmlwriterFilename.start.annobin_testXmlwriterFilename.end.annobin_testXmlwriterMemory.start.annobin_testXmlwriterMemory.end.annobin_testXmlwriterDoc.start.annobin_testXmlwriterDoc.end.annobin_testXmlwriterTree.start.annobin_testXmlwriterTree.end.annobin_main.start.annobin_main.end.LC3.LC2.LC0.LC1.LC4.LC6.LC8.LC10.LC12.LC13.LC14.LC16.LC17.LC18.LC19.LC21.LC22.LC23.LC25.LC26.LC27.LC28.LC30.LC31.LC33.LC34.LC35.LC36.LC37.LC38.LC39.LC40.LC41.LC9.LC7.LC15.LC5.LC11.LC29.LC24.LC20.LC32.LC42.LC43.LC45.LC47.LC49.LC53.LC54.LC55.LC44.LC46.LC48.LC50.LC51.LC52.LC58.LC57.LC60.LC56.LC59.LC63.LC62.LC61.LC64.LC65.LC66.LC68.LC69.LC70.LC73.LC77.LC67.LC72.LC71.LC74.LC75.LC76.LC78.LC79.LC80.LC81.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupConvertInput_GLOBAL_OFFSET_TABLE_xmlFindCharEncodingHandlerstrlenxmlMallocxmlRealloc__printf_chkxmlFree__stack_chk_failtestXmlwriterFilenamexmlNewTextWriterFilenamexmlTextWriterStartDocumentxmlTextWriterStartElementxmlTextWriterWriteCommentxmlTextWriterWriteAttributexmlTextWriterWriteFormatCommentxmlTextWriterWriteFormatElementxmlTextWriterWriteElementxmlTextWriterEndElementxmlTextWriterEndDocumentxmlFreeTextWritertestXmlwriterMemoryxmlBufferCreatexmlNewTextWriterMemoryfopenfputsfclosexmlBufferFreetestXmlwriterDocxmlNewTextWriterDocxmlSaveFileEncxmlFreeDoctestXmlwriterTreexmlNewDocxmlNewDocNodexmlDocSetRootElementxmlNewTextWriterTreemainxmlCheckVersionxmlCleanupParserxmlMemoryDump3G_789.:8K;R\m<=<>?@AB%C-<<CDHOE_u|FGHIJ<KL<"M'.N<RZiOqPQRISPTR)I0S5EUdUlwV~WXYZ['\?]W^o_`ab<c=+<2>7ELdbi?q@ABC<DEeF $G+H0IIPJUd<kKpwL<MNOPQ%R-FIMSRbqPyTRISU V W ! 1 8 fD N gS Z hn v  i j k l m nE Y <d s ={  < >    ?  @ A  B C  < D ' E7 M T F\ u G| H  I J  < K  L   < M  N * 2 A OI X P` o Qv R~  I S   P  T R  I S  - < UD O VV W^ n ~   <   o  p  q rs#t(3u8KvPcwhryx~@y=z< {/<6>;IP|fm?u@ABC<DE}F(G/H4MITJYh<oKt{L<MNO P"Q)R1JIQSVfuP}TRISUV W%5<~HU<Zs.F^v    i 4`$,`P`X`   D Lpx . / 0 155S!&-29>CH ( - -  -I +@% ,* -{8 -? -zH -bT -x[ -b -p -u - - - - - -' - -* -7 -+ -h - -! -. -% ; -H -U -4b -o -8| - -  -  - - - - -  -  - -  -@ - & - 2 -: - a -Pl - -9 -^ -  -Z - - -&< -`H -T -x a -Un -. { - -8  -F  -  - - - - -e -  - - - - -8 -sE - R -5` - - -  -  -o  -  - -y -& -  - -  -N -  -p - -v - - -G -? -  -f % -+ -E 1 -7 -9= -C -P I -a O -A U -: \ -Q h -v -v - -U -Y - - - -  - -d  -Z+ -9 -G - \ -j -vx - -U -Y - - - -  - -P -Y  -  -. ->< -Q -F_ -vm -{ -U -Y - - - -  - - -  - -# -1 -M -(i -cw -  - -  -d  - -  -  -O - -&  - - -5  -N) -v7 -kR -` -vn -| -U -Y - - - - -( - - -. -; -T -q - - -; - -< - - -- -  - ( -Y- -?? - K m )q )v - ) ) )K )= ) ) -s )  ) -  -7 - )u )i  ) )- )2 H hW ` } )' )%   8 + + )Q )O <  H +0 ) )} V( 3 7K Kc c    ` -  - )  ) )  )% -1 )5 )F )J )O -}[ )(_ )"p )t )q}M ,9OpX +i ) m )} r x  + )  )  + )  ) 4 ) 8 ) BKh )' l )% v '3/!4Tc?xhMjy)3/3>@;J_GlvM8ZT].h;eLxatnx{":U_z5Zej *ER\we)29JLb^m -  - )W  )O  )  )  - )  )  )` )H! * G )VK )TP ap y  ) )~ `   ) ) 4 )8 )= N0]f ) )   )( )&,00! )R% )P*<;JHSHp )|t )zyT@`` ) )lvv ) )(03I Ph p ! h   )' B3O/Y t>;$ G; Q ` M 6ZCTT oh|e t {  $ ?O. c6 {M d   e. F ak  e! 1 H )b DQ[r s    v -  - )  )" )"& )+ -7 )x; )lL )P )a )e )u )y )   I !5 1!W T!f ]!f z! )~! )! )! )!r ! ! +! )4! )2! ! !0! "" !" +02" )^6" )\@" I" +`Z" )^" )h" q" " )" )" " " )" )" " " '8" #)#I#X# s#!}#;#h##I#f#u#)$$3($/2$M$>Z$;d$y$G$$$$$$M$4%Z%T-%YH%hU%ef%t{%t%%%{%%%%%&(&<&T&o&y&&&1&&&V&&e'f'}:'D'_'l'v'''e''''( (*(4(% L(5 d(H |(W ((z ( ( -`(`( )( )) )) )A ) -) )_) )E+) )/) )f8)A) +`Q) )U) )Z)k)(z)) +) )) ))))) +) )) ))))* + * )F* )D *1*@* I* +`Y* )p]* )nb*2s**8* +* )* )*J**P* +* )* )*b*+h+ + + )#+ )(+z9+HH+Q+ +`a+ )e+ )j+{+++ ++ 'I;++@+q+,,0,!:,O,h\,f,,,,),,3,/,1 ->-;!-L6-GC-M-ch-x-y--M--Z-T-.h.e#.8.tE.O.j.{z..+...@..V.^/u,/6/Q/[/v/////e///00)0309N0[0ej0I0Y0p00000 1!1/1 -2 :15Q15j15115*1156115B115G15L2 -2 -[ 2 - 12 -=2 -[ K2 -\O2 -\2 -- 2 -*2 -2 -2 -2 -2 -4 2 -4 04 -44 -=4 - A4 - J4 - N4 - W4 -)[4 -)c4 -g4 -o4 -s4 -{4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -F4 -F4 -4 -4 -4 -4 - 4 - 4 - 4 - @7 - D7 - S7 -W7 -8 -?8 -?8 -p 8 -p 8 -z 8 -z 8 - 8 - 8 -b 9 -b ; -i; -i; -; -; -; -; -; -/!/)4<JR]epx[[`66ff ++`KfS^fqyAUU[  O(3;FAN[u:}JJ""Q h'/: 'V2Q+Y<dA[ '2hhmm  (3;IQ\drz>Miy#.6AIT8\Bg]owz45?Zij%-8@KS^fqy()89K#+d6>IQ\dcclmw(0;CNmVwHLL   ! ) f4 < G O Z b  m w '2   '3   '?3   'z3' / : '3W  _ D j D r  }     h  ~     $  ,  7  ?  J  R  ]  e # p ; x P ` j        - 6 L M c  d     #  .  6  A  I  T  \  g  o  z   ! 0 1 G H a b q r           %  -  8 @ K S +^ .f ;q Ay S Y k v  I g g      q%v-` h s {1 1 6 6 : :            &q1v9V ^ i '4   '.5   'i5   '5 '5(0,; '6R.Z<e 'N6|AT '6Yl '6v '7 ' 2 : H P [ c q y         "*5 =:HIPe[ucnv4>Ys!,40?1G;RVZeefm|x}  $ % 4 5 G # + 6 > I Q xa         # . 6 A I T \ g o z  DHH%-8@KS ^ f q y a q q  f r  'K7f q q r 4 < G ']7^ f q '7   '7   '8   'T8`pp#01Kcx!)4<GOZ@bUm^utu9 HI X+Y3o>pFQYdlw12IJabyz"*_qgrz,2D J\b%t0z8CKYY^^bb; ;??&19DL-W2_EjJr]}buz ' 9 'I9$/ '9FNY '9px2 ':2J 'C:Jb ':bz ':z + ' ; ' 5"'+<0H8O@QH[`hpx (0 8@H ` h p$x+-888<CEPPPT[]h h(h0l8s@uH`hpx        0 8 @ H ` h p x pw (@HP5X5S~5 d`| $5.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@8>T8>l8>(8>8 @8%8&,61@8 L[V@08 uTT@H08A((@x08@082 2 *8@08A0,S<@8T,;O@xT8`&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/libxml2 pkgincludedir = $(includedir)/libxml2 pkglibdir = $(libdir)/libxml2 pkglibexecdir = $(libexecdir)/libxml2 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 = x86_64-redhat-linux-gnu host_triplet = x86_64-redhat-linux-gnu check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \ parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \ reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \ reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \ tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT) subdir = doc/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am_io1_OBJECTS = io1.$(OBJEXT) io1_OBJECTS = $(am_io1_OBJECTS) io1_LDADD = $(LDADD) io1_DEPENDENCIES = $(top_builddir)/libxml2.la AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) am__v_lt_0 = --silent am__v_lt_1 = am_io2_OBJECTS = io2.$(OBJEXT) io2_OBJECTS = $(am_io2_OBJECTS) io2_LDADD = $(LDADD) io2_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse1_OBJECTS = parse1.$(OBJEXT) parse1_OBJECTS = $(am_parse1_OBJECTS) parse1_LDADD = $(LDADD) parse1_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse2_OBJECTS = parse2.$(OBJEXT) parse2_OBJECTS = $(am_parse2_OBJECTS) parse2_LDADD = $(LDADD) parse2_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse3_OBJECTS = parse3.$(OBJEXT) parse3_OBJECTS = $(am_parse3_OBJECTS) parse3_LDADD = $(LDADD) parse3_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse4_OBJECTS = parse4.$(OBJEXT) parse4_OBJECTS = $(am_parse4_OBJECTS) parse4_LDADD = $(LDADD) parse4_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader1_OBJECTS = reader1.$(OBJEXT) reader1_OBJECTS = $(am_reader1_OBJECTS) reader1_LDADD = $(LDADD) reader1_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader2_OBJECTS = reader2.$(OBJEXT) reader2_OBJECTS = $(am_reader2_OBJECTS) reader2_LDADD = $(LDADD) reader2_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader3_OBJECTS = reader3.$(OBJEXT) reader3_OBJECTS = $(am_reader3_OBJECTS) reader3_LDADD = $(LDADD) reader3_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader4_OBJECTS = reader4.$(OBJEXT) reader4_OBJECTS = $(am_reader4_OBJECTS) reader4_LDADD = $(LDADD) reader4_DEPENDENCIES = $(top_builddir)/libxml2.la am_testWriter_OBJECTS = testWriter.$(OBJEXT) testWriter_OBJECTS = $(am_testWriter_OBJECTS) testWriter_LDADD = $(LDADD) testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la am_tree1_OBJECTS = tree1.$(OBJEXT) tree1_OBJECTS = $(am_tree1_OBJECTS) tree1_LDADD = $(LDADD) tree1_DEPENDENCIES = $(top_builddir)/libxml2.la am_tree2_OBJECTS = tree2.$(OBJEXT) tree2_OBJECTS = $(am_tree2_OBJECTS) tree2_LDADD = $(LDADD) tree2_DEPENDENCIES = $(top_builddir)/libxml2.la am_xpath1_OBJECTS = xpath1.$(OBJEXT) xpath1_OBJECTS = $(am_xpath1_OBJECTS) xpath1_LDADD = $(LDADD) xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la am_xpath2_OBJECTS = xpath2.$(OBJEXT) xpath2_OBJECTS = $(am_xpath2_OBJECTS) xpath2_LDADD = $(LDADD) xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I. -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \ ./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \ ./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \ ./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \ ./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \ ./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \ ./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \ ./$(DEPDIR)/xpath2.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_$(V)) am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \ $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \ $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ $(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \ $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES) DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \ $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \ $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ $(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \ $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' aclocal-1.16 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 0 AR = ar AUTOCONF = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoconf AUTOHEADER = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoheader AUTOMAKE = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' automake-1.16 AWK = gawk BASE_THREAD_LIBS = -lpthread C14N_OBJ = c14n.c CATALOG_OBJ = catalog.o CC = gcc CCDEPMODE = depmode=none CFLAGS = -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection CPP = gcc -E CPPFLAGS = CSCOPE = cscope CTAGS = ctags CYGPATH_W = echo CYGWIN_EXTRA_LDFLAGS = CYGWIN_EXTRA_PYTHON_LIBADD = DEBUG_OBJ = debugXML.o DEFS = -DHAVE_CONFIG_H DEPDIR = .deps DLLTOOL = false DSYMUTIL = DUMPBIN = ECHO_C = ECHO_N = -n ECHO_T = EGREP = /usr/bin/grep -E ETAGS = etags EXEEXT = EXTRA_CFLAGS = -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wno-long-long -Wno-format-extra-args FGREP = /usr/bin/grep -F FTP_OBJ = nanoftp.o GREP = /usr/bin/grep HTML_OBJ = HTMLparser.o HTMLtree.o HTTP_OBJ = nanohttp.o ICONV_LIBS = ICU_CFLAGS = ICU_DEFS = ICU_LIBS = INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld LIBM = -lm LIBOBJS = LIBS = LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBXML_MAJOR_VERSION = 2 LIBXML_MICRO_VERSION = 2 LIBXML_MINOR_VERSION = 10 LIBXML_VERSION = 2.10.2 LIBXML_VERSION_EXTRA = LIBXML_VERSION_INFO = 12:2:10 LIBXML_VERSION_NUMBER = 21002 LIPO = LN_S = ln -s LTLIBOBJS = LT_SYS_LIBRARY_PATH = LZMA_CFLAGS = LZMA_LIBS = -llzma MAINT = MAKEINFO = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' makeinfo MANIFEST_TOOL = : MKDIR_P = /usr/bin/mkdir -p MODULE_EXTENSION = .so MODULE_PLATFORM_LIBS = -ldl MV = /usr/bin/mv NM = /usr/bin/nm -B NMEDIT = OBJDUMP = objdump OBJEXT = o OTOOL = OTOOL64 = PACKAGE = libxml2 PACKAGE_BUGREPORT = PACKAGE_NAME = libxml2 PACKAGE_STRING = libxml2 2.10.2 PACKAGE_TARNAME = libxml2 PACKAGE_URL = PACKAGE_VERSION = 2.10.2 PATH_SEPARATOR = : PERL = /usr/bin/perl PKG_CONFIG = /usr/bin/x86_64-redhat-linux-gnu-pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = :/opt/alt/libxml2/usr/lib64/pkgconfig:/opt/alt/libxml2/usr/share/pkgconfig PYTHON = PYTHON_CFLAGS = PYTHON_EXEC_PREFIX = PYTHON_LIBS = PYTHON_PLATFORM = PYTHON_PREFIX = PYTHON_TESTS = PYTHON_VERSION = RANLIB = ranlib RDL_LIBS = RELDATE = Fri Mar 14 2025 SED = /usr/bin/sed SET_MAKE = SHELL = /bin/sh STRIP = strip TAR = /usr/bin/tar TEST_CATALOG = Catatests TEST_DEBUG = Scripttests TEST_REGEXPS = Automatatests TEST_SCHEMATRON = Schematrontests TEST_VALID = TEST_VTIME = VTimingtests THREAD_CFLAGS = -D_REENTRANT THREAD_LIBS = VERSION = 2.10.2 VERSION_SCRIPT_FLAGS = -Wl,--version-script= WGET = /usr/bin/wget WIN32_EXTRA_LDFLAGS = WIN32_EXTRA_LIBADD = WIN32_EXTRA_PYTHON_LIBADD = WITH_C14N = 1 WITH_CATALOG = 1 WITH_DEBUG = 1 WITH_FTP = 1 WITH_HTML = 1 WITH_HTTP = 1 WITH_ICONV = 1 WITH_ICU = 0 WITH_ISO8859X = 1 WITH_LEGACY = 0 WITH_LZMA = 1 WITH_MEM_DEBUG = 0 WITH_MODULES = 1 WITH_OUTPUT = 1 WITH_PATTERN = 1 WITH_PUSH = 1 WITH_READER = 1 WITH_REGEXPS = 1 WITH_RUN_DEBUG = 0 WITH_SAX1 = 1 WITH_SCHEMAS = 1 WITH_SCHEMATRON = 1 WITH_THREADS = 1 WITH_THREAD_ALLOC = 0 WITH_TREE = 1 WITH_TRIO = 0 WITH_VALID = 1 WITH_WRITER = 1 WITH_XINCLUDE = 1 WITH_XPATH = 1 WITH_XPTR = 1 WITH_XPTR_LOCS = 0 WITH_ZLIB = 1 XINCLUDE_OBJ = xinclude.o XMLLINT = /usr/bin/xmllint XML_CFLAGS = XML_INCLUDEDIR = -I${includedir}/libxml2 XML_LIBDIR = -L${libdir} XML_LIBS = -lxml2 XML_LIBTOOLLIBS = libxml2.la XML_PRIVATE_LIBS = -lz -llzma -lm XPATH_OBJ = xpath.o XPTR_OBJ = xpointer.o XSLTPROC = /usr/bin/xsltproc Z_CFLAGS = Z_LIBS = -lz abs_builddir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples abs_srcdir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples abs_top_builddir = /builddir/build/BUILD/libxml2-2.10.2 abs_top_srcdir = /builddir/build/BUILD/libxml2-2.10.2 ac_ct_AR = ar ac_ct_CC = gcc ac_ct_DUMPBIN = am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = /opt/alt/libxml2/usr/bin build = x86_64-redhat-linux-gnu build_alias = x86_64-redhat-linux-gnu build_cpu = x86_64 build_os = linux-gnu build_vendor = redhat builddir = . datadir = /opt/alt/libxml2/usr/share datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = /opt/alt/libxml2/usr host = x86_64-redhat-linux-gnu host_alias = x86_64-redhat-linux-gnu host_cpu = x86_64 host_os = linux-gnu host_vendor = redhat htmldir = ${docdir} includedir = /opt/alt/libxml2/usr/include infodir = /opt/alt/libxml2/usr/share/info install_sh = ${SHELL} /builddir/build/BUILD/libxml2-2.10.2/install-sh libdir = /opt/alt/libxml2/usr/lib64 libexecdir = /opt/alt/libxml2/usr/libexec localedir = ${datarootdir}/locale localstatedir = /var mandir = /opt/alt/libxml2/usr/share/man mkdir_p = $(MKDIR_P) oldincludedir = /usr/include pdfdir = ${docdir} pkgpyexecdir = pkgpythondir = prefix = /opt/alt/libxml2/usr program_transform_name = s&^&& psdir = ${docdir} pyexecdir = pythondir = runstatedir = ${localstatedir}/run sbindir = /opt/alt/libxml2/usr/sbin sharedstatedir = /var/lib srcdir = . sysconfdir = /etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include LDADD = $(top_builddir)/libxml2.la CLEANFILES = *.tmp EXTRA_DIST = \ examples.xml \ examples.xsl \ index.html \ index.py \ test1.xml \ test2.xml \ test3.xml io1_SOURCES = io1.c io2_SOURCES = io2.c parse1_SOURCES = parse1.c parse2_SOURCES = parse2.c parse3_SOURCES = parse3.c parse4_SOURCES = parse4.c reader1_SOURCES = reader1.c reader2_SOURCES = reader2.c reader3_SOURCES = reader3.c reader4_SOURCES = reader4.c testWriter_SOURCES = testWriter.c tree1_SOURCES = tree1.c tree2_SOURCES = tree2.c xpath1_SOURCES = xpath1.c xpath2_SOURCES = xpath2.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(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) --foreign doc/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/examples/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ 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): clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) @rm -f io1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS) io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) @rm -f io2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS) parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) @rm -f parse1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS) parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) @rm -f parse2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS) parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) @rm -f parse3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS) parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) @rm -f parse4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS) reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) @rm -f reader1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS) reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) @rm -f reader2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS) reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) @rm -f reader3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS) reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) @rm -f reader4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS) testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) @rm -f testWriter$(EXEEXT) $(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS) tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) @rm -f tree1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS) tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) @rm -f tree2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS) xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) @rm -f xpath1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS) xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) @rm -f xpath2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c #include ./$(DEPDIR)/io1.Po # am--include-marker #include ./$(DEPDIR)/io2.Po # am--include-marker #include ./$(DEPDIR)/parse1.Po # am--include-marker #include ./$(DEPDIR)/parse2.Po # am--include-marker #include ./$(DEPDIR)/parse3.Po # am--include-marker #include ./$(DEPDIR)/parse4.Po # am--include-marker #include ./$(DEPDIR)/reader1.Po # am--include-marker #include ./$(DEPDIR)/reader2.Po # am--include-marker #include ./$(DEPDIR)/reader3.Po # am--include-marker #include ./$(DEPDIR)/reader4.Po # am--include-marker #include ./$(DEPDIR)/testWriter.Po # am--include-marker #include ./$(DEPDIR)/tree1.Po # am--include-marker #include ./$(DEPDIR)/tree2.Po # am--include-marker #include ./$(DEPDIR)/xpath1.Po # am--include-marker #include ./$(DEPDIR)/xpath2.Po # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: # $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< # $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po # $(AM_V_CC)source='$<' object='$@' libtool=no # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(AM_V_CC)$(COMPILE) -c -o $@ $< .c.obj: # $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` # $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po # $(AM_V_CC)source='$<' object='$@' libtool=no # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: # $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< # $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo # $(AM_V_CC)source='$<' object='$@' libtool=yes # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(AM_V_CC)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ 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-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ 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" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile installdirs: 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 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-checkPROGRAMS clean-generic clean-libtool clean-local \ mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/io1.Po -rm -f ./$(DEPDIR)/io2.Po -rm -f ./$(DEPDIR)/parse1.Po -rm -f ./$(DEPDIR)/parse2.Po -rm -f ./$(DEPDIR)/parse3.Po -rm -f ./$(DEPDIR)/parse4.Po -rm -f ./$(DEPDIR)/reader1.Po -rm -f ./$(DEPDIR)/reader2.Po -rm -f ./$(DEPDIR)/reader3.Po -rm -f ./$(DEPDIR)/reader4.Po -rm -f ./$(DEPDIR)/testWriter.Po -rm -f ./$(DEPDIR)/tree1.Po -rm -f ./$(DEPDIR)/tree2.Po -rm -f ./$(DEPDIR)/xpath1.Po -rm -f ./$(DEPDIR)/xpath2.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local 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 ./$(DEPDIR)/io1.Po -rm -f ./$(DEPDIR)/io2.Po -rm -f ./$(DEPDIR)/parse1.Po -rm -f ./$(DEPDIR)/parse2.Po -rm -f ./$(DEPDIR)/parse3.Po -rm -f ./$(DEPDIR)/parse4.Po -rm -f ./$(DEPDIR)/reader1.Po -rm -f ./$(DEPDIR)/reader2.Po -rm -f ./$(DEPDIR)/reader3.Po -rm -f ./$(DEPDIR)/reader4.Po -rm -f ./$(DEPDIR)/testWriter.Po -rm -f ./$(DEPDIR)/tree1.Po -rm -f ./$(DEPDIR)/tree2.Po -rm -f ./$(DEPDIR)/xpath1.Po -rm -f ./$(DEPDIR)/xpath2.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \ check-local clean clean-checkPROGRAMS clean-generic \ clean-libtool clean-local cscopelist-am ctags ctags-am \ distclean distclean-compile 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-data-local 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 maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-local .PRECIOUS: Makefile rebuild: cd $(srcdir) && $(PYTHON) index.py $(MAKE) Makefile cd $(srcdir) && xsltproc examples.xsl examples.xml -cd $(srcdir) && xmllint --valid --noout index.html .PHONY: rebuild install-data-local: $(MKDIR_P) $(DESTDIR)$(docdir)/examples -$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/ uninstall-local: rm -f $(DESTDIR)$(docdir)/examples/*.c rm -f $(DESTDIR)$(docdir)/examples/*.html -rmdir $(DESTDIR)$(docdir)/examples clean-local: test -f Makefile.am || rm -f test?.xml rm -f .memdump valgrind: $(MAKE) CHECKER='valgrind' check check-local: @test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml . @(echo '## examples regression tests') @(echo > .memdump) @$(CHECKER) ./io1 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./io2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse1 test1.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse2 test2.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse3 @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse4 test3.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader2 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader3 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./testWriter @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @rm -f *.tmp # 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: PK!~3parse1nuȯ#! /bin/sh # parse1 - temporary wrapper script for .libs/parse1 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The parse1 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse1.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "parse1:parse1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "parse1:parse1:$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 () { if test -n "$lt_option_debug"; then $ECHO "parse1:parse1:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'parse1' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!< reader1nuȯ#! /bin/sh # reader1 - temporary wrapper script for .libs/reader1 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The reader1 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader1.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "reader1:reader1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "reader1:reader1:$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 () { if test -n "$lt_option_debug"; then $ECHO "reader1:reader1:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'reader1' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!٥   examples.xslnu[ https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-
  • line : Type from
  • line : Function from
  • line : Macro from
  • :

    Includes:

    Uses:

    Usage:

    Author:

  • :

    • :
  • The examples are stored per section depending on the main focus of the example:

    Getting the compilation options and libraries dependencies needed to generate binaries from the examples is best done on Linux/Unix by using the xml2-config script which should have been installed as part of make install step or when installing the libxml2 development package:

    gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`

    Examples

    Libxml2 set of examples <xsl:value-of select="$title"/>

    PK!^parse3nuȯ#! /bin/sh # parse3 - temporary wrapper script for .libs/parse3 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The parse3 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse3.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "parse3:parse3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "parse3:parse3:$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 () { if test -n "$lt_option_debug"; then $ECHO "parse3:parse3:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'parse3' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!00parse4.onu[ELF>p@@;: .0-1,2+3HH H GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSAUATUSHdH%(HD$1tHT$dH3%(^H[]A\A]H RH{H5HHLcH\$HMH11HHuD1ɉHHH1HHDmHH]EtdHH=1H=L1HHKH=H1H=L1HzH "H=`rbFailed to parse %s Failed to create parser context ! =$ 5CJintrr 5 1: 3k 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X DS` FYh Hkp Ikt J yx MV N] O_ Qo Y [z \ ]Y ^ C _ ) `k b +N o 5Fu  5: k  J & @ } ~C   | ( raw ( ( k0 k4 58  #  h 4buf 6 8 9 : cur ; end < ( = k0 > k4col ? k8 E5@ FH G P H X I k`id J kd $ &  sax d C  k k   ( k0 k4 8 k@ kD jH kP kX k\ }` kh Lp k k k k k k   k    k( k, p0 r8 r@ kH kL kP  X  `  h vp kx k| v k  k k k k C k k C k k  p k k       k k k p v |   ( k0 k4 $k8 %k< &k@ 'kH (EP -X .G /5 05 3@ 4k 5k 6@ 8k 95 '  )  A  B C D  E  *      S ` m   ( F0 }8 @ H P %X H` fh sp x     "  , 9 F 9   <  C z   0 & 'C (  )  *i +i ,^( -i0 .i8doc /@ 1 H 2 P 3kX 4\ 5 ` 6 h 8pURI 9 x :k ; k 1   i#  r4  <        : <      6  ^ p   j*6x d C     i i  i( i0 i8doc @ns vH  P XX v` Ch Vp Vrvv ^ C     i i  ( i0 i8doc @ CH CP CX C`  h  p Cxo ' (C )  * +i ,i  -i( .i0 /i8doc 0@ 3kH 4kL :^P ;^X <|` = h > pids ?Cx @CURL A  Bk D EC Fk Hkd<  < "& ' 0#@0 2 3 4& 5 c1 6 c2 7  8   9 ( 13@ w  0 v |      C  ( ` E C     i i  i( X0 X8doc @ns vH P CX R v x^ %d &~C <L XN O k P k Q R S T k U( V0 W8 X k@ Y kD ZCH [CPMCZ C+<%"N&_Bqe*9P pR} S C T| U Xk Yk Zk$ [}( ]<0doc^8 _k@ bvH ckP dkT evXamh0` iShk<    2  T# ( W@ XF Z5 [5 \5 ]5 d `&X  b c5 d5 e@k n       < G  _  kS! C!kC ^!C   jC    w %! 9C   SY}C k     C  kk ^ C k %C     28HC  U[fC U C p C    )C k 5 @ J T ` j v    C   kpkkp Cc!k  vvJQy(- (| !         !! 6!kCk ?9UB3!C)M !CC)W+1!@" #jk!$jk$j!%!z!!&!'(")"D("()"*"8 &"+",#-T1-Q -R|*""a &"+",#-T1-Q -R|*"F P &"+",#-U -T1-Q"."h -Us.# -U0-T0-Qs-X|.# -Uv-Ts-R0." -Us.# -Uv-Ts-Q0-R1.# !-Uv,#-Us*" } y!&"+",#-T1-Q .#!-U R.#!-T /$/$/$/*$0,6"1,2- 2. 3doc/3res0 k4kl"5mem1k3res k6)"7E7')8__n6)79sz ):dk"1d1d<;6"#&G"(_"Z ?@ @ @ @ >>> @ 9>A@% U: ; 9 I$ >  7I&I$ >  I I !I/  : ; 9  : ; 9 I8 : ; 9 <4: ; 9 I?<! : ; 9 I8  : ; 9  : ; 9 I8 : ;9 I8 : ;9  : ;9 I8  : ;9 > I: ; 9 (  : ;9 I8 > I: ;9 : ;9 I'I ( !'I"4: ; 9 I#.?: ; 9 'I@B$: ; 9 IB%1RB UX Y W &1B' U(41B)41*1RB X Y W +1,1-B.1/10.: ; 9 ' 1: ; 9 I24: ; 9 I34: ; 9 I4.: ; 9 'I 5: ; 9 I6.?: ;9 'I 47: ;9 I8: ;9 I94: ;9 I:.?: ; 9 'I 4;.1@B<1 =1RB UX Y W >.?<n: ; 9 ?.?<n: ; @.?<n: ;9 A.?<nUUUUTTTSTST\\\PVVPVSSPPP]P]    UUP 41UU <6 /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h } JX~! XXj<X]  uJ X  >    Q& K :KZ_\Y  t, S. g .   X ` aXparentnodeInfoTablastErrorexternalfatalErrorSAXFuncxmlParserCtxtPtrXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFuncxmlParseChunk_xmlNode_freeres_listrawconsumedxmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities__fread_alias_flags2begin_pos_xmlNs_old_offsetparse4.cetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORelementsintSubseterrorcharactersendDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedexample4FuncendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linenexteXML_PARSE_UNKNOWNreadPacketprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYdomaingetParameterEntitySAXFuncserrorfopenend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclwarningSAXFunc_markersXML_XINCLUDE_END_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDfreeXML_PARSER_ENTITY_DECLnodememcodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntitygetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodevalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstartDocumentSAXFuncstr_xmlnsXML_ATTRIBUTE_IDXML_PARSER_IGNOREprocessingInstruction_IO_write_basexmlMallocFunc_vtable_offsetmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextcharsdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_id_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtrsize_freeres_buf_IO_backup_basexmlReallocXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOM_xmlStartTagXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetlinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONxmlAttrshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthfread__stack_chk_failreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodefclosegetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxtxmlCreatePushParserCtxtxmlEntityPtrXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_info__ptrvstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlercontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdstartElementSAXFunchasExternalSubsetSAXFunc_chainvstatexmlAutomataStateFILEdescerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNs__size_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx DZ<4FBA A(D@r (A ABBA   / )  ?0Yt123#G^ cw !#%')012345/6*+,-. %=K]ho.annobin_parse4.c.annobin_parse4.c_end.annobin_parse4.c.hot.annobin_parse4.c_end.hot.annobin_parse4.c.unlikely.annobin_parse4.c_end.unlikely.annobin_parse4.c.startup.annobin_parse4.c_end.startup.annobin_parse4.c.exit.annobin_parse4.c_end.exit.annobin_readPacket.constprop.0.start.annobin_readPacket.constprop.0.endreadPacket.constprop.0desc.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_freadmainxmlCheckVersionfopenxmlCreatePushParserCtxtxmlParseChunkxmlFreeParserCtxtxmlFreeDocfclosexmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite__stack_chk_failD .$, ( ) * +//PF[1`GgHIIJKLM NO+20P=OD2PPYOj2oP{O3QR " '_ ' ' %p% &* '8 'a ? ' M 'Y '-` 'g 'u '0z ' ' ' '  'T 'M 'p ' '  'B ' ') '6 ' C '$ P '] 'j 'w ' ' ' 'r '  ' ', ' 'd 'x '2 '  'Z  '- '; 'G 'O '0 v ' ' ' ' ' ' ' 'L 'v  ' - 'f : 'G ' T 'a 'N{ ' '[ '@ ' '( 'e ' '  'u 'e) 'C 'P '] 'j 'mw '4 ' '?  ' ' ' ' ' 'm  ' '4% '2 ' ? 'L 'Y '+f 's ' ' '< '- ' ' ' ' ' '  ' ' ' 'n+ ' 9 'G 'M U '#c 'fq '_ ' 'Z '$ ' 'T '  'Y  ' ' 'I  'u '9 ' 'y5 ' C ']Q '_ 'm '$| '  ' ' '  'E 't  'J '? '  ' 'T ! ' 0 '? 'N '] ' l 'D{ '(  ' ' ' '] ' ' ' '  ' ' 'y / ' > 'M ' \ 'k 'z ' ' ' '8 ' ' ' ' 'X ' ' ' . 'N< 'J '6X 'f 'Z t '$ ' '  '4 ' ' 'G ' ' ' 'R ' 'a* ' 8 ' F 'T 'b '[p '~ ' '~ ' '  '$ ' ' 'j ' 'C '$ '" '/ ' < 'I 'V 'c '} 'q ' 'e ' 'b ' 'O ' ' '\ '$ ') 'PI ' O ' U '[ ' a '@g ' m 's 'y ' ' '~ '? ' '/ '` 's ' '7 ' ' ' ' '^ ' ' ' 'y  '  ' '! '} 'e+ 'v7 'D 'Q '_ 'w ') '$ ' ' '  ' ' ' ' ' '9, '9: 'H 'V 'p '5~ '$ ' ' '  ' ' ' ' 'X  'H 'm& 'k4 'bB ' P 'e '.s '$ ' ' '  ' ' ' ' ' '4  'Q ') '9 7 'mE 'a '} '  't  ' '  '9 '  ' ' ' ' 'u ' '  '' '.4 'A 'O '] 'kk ' ' ' ' '  'L 'd  '  '  ' 'e '" '0 '> 'T L 'Z '$h 'f  ' '0  '$ ' ' '  ' ' ' ') ' 7 'F '. _ ' l ' '' 'e ' 'G 'e ' ' ': '& ' 'Q  'o* 'I7 'D '-Q '^ ' k 'x ' ' ' 'Z  '_  '+ ' 't 'l  's, '1 ' C 'O '; T ' f '>r ' } '  'I '  ' ' '[ ' ' ' ' '<  '=# ' 0 '= 'J 'W '?p ' 'I '& '  '( 'Q ' ' ' 'u ' '  ' 'D& 'w3 'M '$Y 'Of 's 'e 'N 'i ' ' '  ' ' 'R ' '? 'R ' ' ' ' ' ': 'o  '[  ' # 'U) '/ '5 '; 'A 'H ';T 'F` '- ' 'U ' 'h : 'PG 'o~ '3  ' 'L '& ' I '? g 'lt ' ' ' ' 'z 'r '  '- ': ' G '&T 'a 'n '{ ' ' 'P '  ' " '. 'x; 'H ' U 'b ' o '& } ' ' ' ' 'g '  'U  'A 'M ' Y '4 e 'Hq ' } ' ' / '  # # ' #x #j/x %0 # # %0  #o #e! #% #. #$2 #;/D/` #d #n/4/V/V # #/s/x /x # #* /;  Q /i / / / / / !/&!/6/!/6K! #2O! #0Y!/To!z!/T!/d!!/!/ !/!/! '! '" '+" 'n 7" 'gT" ' m" 'l" '9" 'k" ' " '" ' " '" # #b# #^# ## #*#3# %?# #C# #L# #P# #Y# #]# #f# #=j# #9o# %x# #x|# #v## ' # ' # '# ' # 'D# 'D# '# '# '2# '2# '# '# '# '# 'q# 'q$ ' $ '$ '$ '$ 't#$ 't+$ 'r/$ 'r4$ 'l8$ '//(/(#/G1/G9/OD/OL/x//(/(/G/G/S/S/}/}/6/6/V/V//x$///7/6B/VJ/o/w////V/x/x//////V/x$/,/7/?/J/R/]/e/p/x/(/V/x//4/V/x/x / 2/6:/VEbju}=EPXx ! /0/x8/@/H/6P/VX/px/// 8/.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@84>T85>l86>(87>88 @b08&,641@b8 L$[$V@`c08 u@c08#@c08@c08t 8@ d08# @Pd812O @2h #T A$O@fH<8`1sy5n@88!:@~@0H8#V:@xP8%::@Ȭ08'00>)0YW.W#WuWLW WWWWW WW 4Wp/@086X9C _(EPK!Rjؚؚ index.htmlnu[ Libxml2 set of examples

    Libxml2 set of examples

    The examples are stored per section depending on the main focus of the example:

    • xmlWriter :

    • InputOutput :

      • io1.c: Example of custom Input/Output
      • io2.c: Output to char buffer
    • Tree :

      • tree1.c: Navigates a tree to print element names
      • tree2.c: Creates a tree
    • XPath :

      • xpath1.c: Evaluate XPath expression and prints result node set.
      • xpath2.c: Load a document, locate subelements with XPath, modify said elements and save the resulting document.
    • Parsing :

      • parse1.c: Parse an XML file to a tree and free it
      • parse2.c: Parse and validate an XML file to a tree and free the result
      • parse3.c: Parse an XML document in memory to a tree and free it
      • parse4.c: Parse an XML document chunk by chunk to a tree and free it
    • xmlReader :

      • reader1.c: Parse an XML file with an xmlReader
      • reader2.c: Parse and validate an XML file with an xmlReader
      • reader3.c: Show how to extract subdocuments with xmlReader
      • reader4.c: Parse multiple XML files reusing an xmlReader

    Getting the compilation options and libraries dependencies needed to generate binaries from the examples is best done on Linux/Unix by using the xml2-config script which should have been installed as part of make install step or when installing the libxml2 development package:

    gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`

    InputOutput Examples

    io1.c: Example of custom Input/Output

    Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.

    Includes:

    Uses:

    Usage:

    io1

    Author: Daniel Veillard

    io2.c: Output to char buffer

    Demonstrate the use of xmlDocDumpMemory to output document to a character buffer

    Includes:

    Uses:

    Usage:

    io2

    Author: John Fleck

    Parsing Examples

    parse1.c: Parse an XML file to a tree and free it

    Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree

    Includes:

    Uses:

    Usage:

    parse1 test1.xml

    Author: Daniel Veillard

    parse2.c: Parse and validate an XML file to a tree and free the result

    Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.

    Includes:

    Uses:

    Usage:

    parse2 test2.xml

    Author: Daniel Veillard

    parse3.c: Parse an XML document in memory to a tree and free it

    Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree

    Includes:

    Uses:

    Usage:

    parse3

    Author: Daniel Veillard

    parse4.c: Parse an XML document chunk by chunk to a tree and free it

    Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree

    Includes:

    Uses:

    Usage:

    parse4 test3.xml

    Author: Daniel Veillard

    Tree Examples

    tree1.c: Navigates a tree to print element names

    Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.

    Includes:

    Uses:

    Usage:

    tree1 filename_or_URL

    Author: Dodji Seketeli

    tree2.c: Creates a tree

    Shows how to create document, nodes and dump it to stdout or file.

    Includes:

    Uses:

    Usage:

    tree2 <filename> -Default output: stdout

    Author: Lucas Brasilino <brasilino@recife.pe.gov.br>

    XPath Examples

    xpath1.c: Evaluate XPath expression and prints result node set.

    Shows how to evaluate XPath expression and register known namespaces in XPath context.

    Includes:

    Uses:

    Usage:

    xpath1 <xml-file> <xpath-expr> [<known-ns-list>]

    Author: Aleksey Sanin

    xpath2.c: Load a document, locate subelements with XPath, modify said elements and save the resulting document.

    Shows how to make a full round-trip from a load/edit/save

    Includes:

    Uses:

    Usage:

    xpath2 <xml-file> <xpath-expr> <new-value>

    Author: Aleksey Sanin and Daniel Veillard

    xmlReader Examples

    reader1.c: Parse an XML file with an xmlReader

    Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)

    Includes:

    Uses:

    Usage:

    reader1 <filename>

    Author: Daniel Veillard

    reader2.c: Parse and validate an XML file with an xmlReader

    Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)

    Includes:

    Uses:

    Usage:

    reader2 <valid_xml_filename>

    Author: Daniel Veillard

    reader3.c: Show how to extract subdocuments with xmlReader

    Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)

    Includes:

    Uses:

    Usage:

    reader3

    Author: Daniel Veillard

    reader4.c: Parse multiple XML files reusing an xmlReader

    Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.)

    Includes:

    Uses:

    Usage:

    reader4 <filename> [ filename ... ]

    Author: Graham Bennett

    xmlWriter Examples

    testWriter.c: use various APIs for the xmlWriter

    tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.

    Includes:

    Uses:

    Usage:

    testWriter

    Author: Alfred Mickautsch

    PK!7|ee testWriter.cnu[/** * section: xmlWriter * synopsis: use various APIs for the xmlWriter * purpose: tests a number of APIs for the xmlWriter, especially * the various methods to write to a filename, to a memory * buffer, to a new document, or to a subtree. It shows how to * do encoding string conversions too. The resulting * documents are then serialized. * usage: testWriter * test: testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done * author: Alfred Mickautsch * copy: see Copyright for the status of this software. */ #include #include #include #include #if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) #define MY_ENCODING "ISO-8859-1" void testXmlwriterFilename(const char *uri); void testXmlwriterMemory(const char *file); void testXmlwriterDoc(const char *file); void testXmlwriterTree(const char *file); xmlChar *ConvertInput(const char *in, const char *encoding); int main(void) { /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION /* first, the file version */ testXmlwriterFilename("writer1.tmp"); /* next, the memory version */ testXmlwriterMemory("writer2.tmp"); /* next, the DOM version */ testXmlwriterDoc("writer3.tmp"); /* next, the tree version */ testXmlwriterTree("writer4.tmp"); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return 0; } /** * testXmlwriterFilename: * @uri: the output URI * * test the xmlWriter interface when writing to a new file */ void testXmlwriterFilename(const char *uri) { int rc; xmlTextWriterPtr writer; xmlChar *tmp; /* Create a new XmlWriter for uri, with no compression. */ writer = xmlNewTextWriterFilename(uri, 0); if (writer == NULL) { printf("testXmlwriterFilename: Error creating the xml writer\n"); return; } /* Start the document with the xml default for the version, * encoding ISO 8859-1 and the default for the standalone * declaration. */ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n"); return; } /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Write a comment as child of EXAMPLE. * Please observe, that the input to the xmlTextWriter functions * HAS to be in UTF-8, even if the output XML is encoded * in iso-8859-1 */ tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteComment(writer, tmp); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "ORDER" as child of EXAMPLE. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Add an attribute with name "version" and value "1.0" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", BAD_CAST "1.0"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); return; } /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", BAD_CAST "de"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n"); return; } /* Write a comment as child of ORDER */ tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteFormatComment(writer, "This is another comment with special chars: %s", tmp); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "HEADER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "X_ORDER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", "%010d", 53535); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "CUSTOMER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", "%d", 1010); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "NAME_1" as child of HEADER. */ tmp = ConvertInput("M\xFCller", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Write an element named "NAME_2" as child of HEADER. */ tmp = ConvertInput("J\xF6rg", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Close the element named HEADER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRIES" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 10); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 20); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); return; } /* Close the element named ENTRIES. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "FOOTER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "TEXT" as child of FOOTER. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", BAD_CAST "This is a text."); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n"); return; } /* Close the element named FOOTER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n"); return; } /* Here we could close the elements ORDER and EXAMPLE using the * function xmlTextWriterEndElement, but since we do not want to * write any other elements, we simply call xmlTextWriterEndDocument, * which will do all the work. */ rc = xmlTextWriterEndDocument(writer); if (rc < 0) { printf ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n"); return; } xmlFreeTextWriter(writer); } /** * testXmlwriterMemory: * @file: the output file * * test the xmlWriter interface when writing to memory */ void testXmlwriterMemory(const char *file) { int rc; xmlTextWriterPtr writer; xmlBufferPtr buf; xmlChar *tmp; FILE *fp; /* Create a new XML buffer, to which the XML document will be * written */ buf = xmlBufferCreate(); if (buf == NULL) { printf("testXmlwriterMemory: Error creating the xml buffer\n"); return; } /* Create a new XmlWriter for memory, with no compression. * Remark: there is no compression for this kind of xmlTextWriter */ writer = xmlNewTextWriterMemory(buf, 0); if (writer == NULL) { printf("testXmlwriterMemory: Error creating the xml writer\n"); return; } /* Start the document with the xml default for the version, * encoding ISO 8859-1 and the default for the standalone * declaration. */ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n"); return; } /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Write a comment as child of EXAMPLE. * Please observe, that the input to the xmlTextWriter functions * HAS to be in UTF-8, even if the output XML is encoded * in iso-8859-1 */ tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteComment(writer, tmp); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "ORDER" as child of EXAMPLE. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Add an attribute with name "version" and value "1.0" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", BAD_CAST "1.0"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); return; } /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", BAD_CAST "de"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n"); return; } /* Write a comment as child of ORDER */ tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteFormatComment(writer, "This is another comment with special chars: %s", tmp); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "HEADER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "X_ORDER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", "%010d", 53535); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "CUSTOMER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", "%d", 1010); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "NAME_1" as child of HEADER. */ tmp = ConvertInput("M\xFCller", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Write an element named "NAME_2" as child of HEADER. */ tmp = ConvertInput("J\xF6rg", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Close the element named HEADER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRIES" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 10); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 20); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); return; } /* Close the element named ENTRIES. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "FOOTER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "TEXT" as child of FOOTER. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", BAD_CAST "This is a text."); if (rc < 0) { printf ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n"); return; } /* Close the element named FOOTER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n"); return; } /* Here we could close the elements ORDER and EXAMPLE using the * function xmlTextWriterEndElement, but since we do not want to * write any other elements, we simply call xmlTextWriterEndDocument, * which will do all the work. */ rc = xmlTextWriterEndDocument(writer); if (rc < 0) { printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n"); return; } xmlFreeTextWriter(writer); fp = fopen(file, "w"); if (fp == NULL) { printf("testXmlwriterMemory: Error at fopen\n"); return; } fprintf(fp, "%s", (const char *) buf->content); fclose(fp); xmlBufferFree(buf); } /** * testXmlwriterDoc: * @file: the output file * * test the xmlWriter interface when creating a new document */ void testXmlwriterDoc(const char *file) { int rc; xmlTextWriterPtr writer; xmlChar *tmp; xmlDocPtr doc; /* Create a new XmlWriter for DOM, with no compression. */ writer = xmlNewTextWriterDoc(&doc, 0); if (writer == NULL) { printf("testXmlwriterDoc: Error creating the xml writer\n"); return; } /* Start the document with the xml default for the version, * encoding ISO 8859-1 and the default for the standalone * declaration. */ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n"); return; } /* Start an element named "EXAMPLE". Since this is the first * element, this will be the root element of the document. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Write a comment as child of EXAMPLE. * Please observe, that the input to the xmlTextWriter functions * HAS to be in UTF-8, even if the output XML is encoded * in iso-8859-1 */ tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteComment(writer, tmp); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "ORDER" as child of EXAMPLE. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Add an attribute with name "version" and value "1.0" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", BAD_CAST "1.0"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); return; } /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", BAD_CAST "de"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n"); return; } /* Write a comment as child of ORDER */ tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteFormatComment(writer, "This is another comment with special chars: %s", tmp); if (rc < 0) { printf ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "HEADER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "X_ORDER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", "%010d", 53535); if (rc < 0) { printf ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "CUSTOMER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", "%d", 1010); if (rc < 0) { printf ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "NAME_1" as child of HEADER. */ tmp = ConvertInput("M\xFCller", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Write an element named "NAME_2" as child of HEADER. */ tmp = ConvertInput("J\xF6rg", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Close the element named HEADER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRIES" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 10); if (rc < 0) { printf ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 20); if (rc < 0) { printf ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); return; } /* Close the element named ENTRIES. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "FOOTER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "TEXT" as child of FOOTER. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", BAD_CAST "This is a text."); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n"); return; } /* Close the element named FOOTER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n"); return; } /* Here we could close the elements ORDER and EXAMPLE using the * function xmlTextWriterEndElement, but since we do not want to * write any other elements, we simply call xmlTextWriterEndDocument, * which will do all the work. */ rc = xmlTextWriterEndDocument(writer); if (rc < 0) { printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n"); return; } xmlFreeTextWriter(writer); xmlSaveFileEnc(file, doc, MY_ENCODING); xmlFreeDoc(doc); } /** * testXmlwriterTree: * @file: the output file * * test the xmlWriter interface when writing to a subtree */ void testXmlwriterTree(const char *file) { int rc; xmlTextWriterPtr writer; xmlDocPtr doc; xmlNodePtr node; xmlChar *tmp; /* Create a new XML DOM tree, to which the XML document will be * written */ doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION); if (doc == NULL) { printf ("testXmlwriterTree: Error creating the xml document tree\n"); return; } /* Create a new XML node, to which the XML document will be * appended */ node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL); if (node == NULL) { printf("testXmlwriterTree: Error creating the xml node\n"); return; } /* Make ELEMENT the root node of the tree */ xmlDocSetRootElement(doc, node); /* Create a new XmlWriter for DOM tree, with no compression. */ writer = xmlNewTextWriterTree(doc, node, 0); if (writer == NULL) { printf("testXmlwriterTree: Error creating the xml writer\n"); return; } /* Start the document with the xml default for the version, * encoding ISO 8859-1 and the default for the standalone * declaration. */ rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n"); return; } /* Write a comment as child of EXAMPLE. * Please observe, that the input to the xmlTextWriter functions * HAS to be in UTF-8, even if the output XML is encoded * in iso-8859-1 */ tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteComment(writer, tmp); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "ORDER" as child of EXAMPLE. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Add an attribute with name "version" and value "1.0" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version", BAD_CAST "1.0"); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); return; } /* Add an attribute with name "xml:lang" and value "de" to ORDER. */ rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", BAD_CAST "de"); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n"); return; } /* Write a comment as child of ORDER */ tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING); rc = xmlTextWriterWriteFormatComment(writer, "This is another comment with special chars: %s", tmp); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Start an element named "HEADER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "X_ORDER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID", "%010d", 53535); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "CUSTOMER_ID" as child of HEADER. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID", "%d", 1010); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Write an element named "NAME_1" as child of HEADER. */ tmp = ConvertInput("M\xFCller", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Write an element named "NAME_2" as child of HEADER. */ tmp = ConvertInput("J\xF6rg", MY_ENCODING); rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); return; } if (tmp != NULL) xmlFree(tmp); /* Close the element named HEADER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRIES" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 10); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "ENTRY" as child of ENTRIES. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "ARTICLE" as child of ENTRY. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE", BAD_CAST ""); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); return; } /* Write an element named "ENTRY_NO" as child of ENTRY. */ rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d", 20); if (rc < 0) { printf ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n"); return; } /* Close the element named ENTRY. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); return; } /* Close the element named ENTRIES. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); return; } /* Start an element named "FOOTER" as child of ORDER. */ rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER"); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n"); return; } /* Write an element named "TEXT" as child of FOOTER. */ rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT", BAD_CAST "This is a text."); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n"); return; } /* Close the element named FOOTER. */ rc = xmlTextWriterEndElement(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n"); return; } /* Here we could close the elements ORDER and EXAMPLE using the * function xmlTextWriterEndElement, but since we do not want to * write any other elements, we simply call xmlTextWriterEndDocument, * which will do all the work. */ rc = xmlTextWriterEndDocument(writer); if (rc < 0) { printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n"); return; } xmlFreeTextWriter(writer); xmlSaveFileEnc(file, doc, MY_ENCODING); xmlFreeDoc(doc); } /** * ConvertInput: * @in: string in a given encoding * @encoding: the encoding used * * Converts @in into UTF-8 for processing with libxml2 APIs * * Returns the converted UTF-8 string, or NULL in case of error. */ xmlChar * ConvertInput(const char *in, const char *encoding) { xmlChar *out; int ret; int size; int out_size; int temp; xmlCharEncodingHandlerPtr handler; if (in == 0) return 0; handler = xmlFindCharEncodingHandler(encoding); if (!handler) { printf("ConvertInput: no encoding handler found for '%s'\n", encoding ? encoding : ""); return 0; } size = (int) strlen(in) + 1; out_size = size * 2 - 1; out = (unsigned char *) xmlMalloc((size_t) out_size); if (out != 0) { temp = size - 1; ret = handler->input(out, &out_size, (const xmlChar *) in, &temp); if ((ret < 0) || (temp - size + 1)) { if (ret < 0) { printf("ConvertInput: conversion wasn't successful.\n"); } else { printf ("ConvertInput: conversion wasn't successful. converted: %i octets.\n", temp); } xmlFree(out); out = 0; } else { out = (unsigned char *) xmlRealloc(out, out_size + 1); out[out_size] = 0; /*null terminating out */ } } else { printf("ConvertInput: no mem\n"); } return out; } #else int main(void) { fprintf(stderr, "Writer or output support not compiled in\n"); return 0; } #endif PK!#ʞXXparse1.onu[ELF>I@@98 ,.+/*0)1 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONStS RHH[11HHtH1[H=HپHFailed to parse %s g  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 7@ns H P X ` Ch Lp Lr  C      7( 0 8doc 7@ CH CP CX C` h p Cx '7 (C ) * + ,  -( .0 /8doc 07@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w j0   P   C  7(]j`  C      ( 0 8doc 7@ns H P CX % &KC 9 B3C ) M  C& C) W2 8 G       & "ae "a"  -    c  ! " #T1#Q #Rs$+ #Us#T0#Q0%8 $E #U R%Q %^ & '(doc)da 'd'd<*+Z , q, +, 9+ % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B: ; 9 IB1RB UX Y W 1B U41B 1RB X Y W !1"1#B$1%1&.: ; 9 ' ': ; 9 I(4: ; 9 I).?: ; 9 'I 4*+.?<n: ; 9 ,.?<n: ;9 UUTSTSSPP ,eA /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h! !K!j  X)?6@;A@BKCZ,_D  " " "* 0% !* "\8 "z? ""H "7O "V "] "ck "*p "| "j "D " "@ " "  " " " " " "G " ) "C6 "C "P "] "j ")w " "t " "h "# " " " " "/ " "1 "! "- "5 "\ "jg "m "S "7 "  " " " " " "R  "& ", "2 ">8 "> "D "J "P "V "\ "Eb "h "n "t "rz " "Y " "5 "J " " " " " " " "X "o " "  " "( ".6 "D "9R "c` " " " " " " " " " " " ".* "8 "9F "cT "p "{~ " " "Z "v " " " " " " ". "- "9; "cI "e "s "b "` "m "3 "R "! " " "  " "9) "@ "G "-L "IQ "$^ "k "y "c " "S "[ " " "h " " " ".  ". "9< "cJ "s " " "K " " " "* "<' "H "T "` "wl "x " " * "   "  C = *!     *H *H/ 3 = *cS d *- *: * *? *D " " "R "q " "$ ", "0 "9 "8= "8F "J "R "V "_ "Zc "Z* ***eC*K*V*^*!i*!q*e*!*:*H*e*-*9*H*b*H *c **!*:*H*e0*8*eP* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6-*P6.*h6/*(60*61!'1,@.06 GVQ@H.06 phh@x.06<<@.06@.06 8@/06 e@8/6,2 @ k ;@/6L\_`1Z@D6o0j@F06!P~@F6#@hG6%0I0%.M%M%pM%GM%M%M%M%M%M%M%P%  p%8@G64%x7<  ,G1PK!$q~~ examples.xmlnu[ Example of custom Input/Output Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way. io1 io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res Daniel Veillard see Copyright for the status of this software.
    InputOutput
    <libxml/parser.h> <libxml/tree.h> <libxml/xinclude.h> <libxml/xmlIO.h>
    Output to char buffer Demonstrate the use of xmlDocDumpMemory to output document to a character buffer io2 io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res John Fleck see Copyright for the status of this software.
    InputOutput
    <libxml/parser.h>
    Parse an XML file to a tree and free it Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree parse1 test1.xml parse1 test1.xml Daniel Veillard see Copyright for the status of this software.
    Parsing
    <libxml/parser.h> <libxml/tree.h>
    Parse and validate an XML file to a tree and free the result Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree. parse2 test2.xml parse2 test2.xml Daniel Veillard see Copyright for the status of this software.
    Parsing
    <libxml/parser.h> <libxml/tree.h>
    Parse an XML document in memory to a tree and free it Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree parse3 parse3 Daniel Veillard see Copyright for the status of this software.
    Parsing
    <libxml/parser.h> <libxml/tree.h>
    Parse an XML document chunk by chunk to a tree and free it Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree parse4 test3.xml parse4 test3.xml Daniel Veillard see Copyright for the status of this software.
    Parsing
    <libxml/parser.h> <libxml/tree.h>
    Parse an XML file with an xmlReader Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.) reader1 <filename> reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res Daniel Veillard see Copyright for the status of this software.
    xmlReader
    <libxml/xmlreader.h>
    Parse and validate an XML file with an xmlReader Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.) reader2 <valid_xml_filename> reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res Daniel Veillard see Copyright for the status of this software.
    xmlReader
    <libxml/xmlreader.h>
    Show how to extract subdocuments with xmlReader Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.) reader3 reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res Daniel Veillard see Copyright for the status of this software.
    xmlReader
    <libxml/xmlreader.h>
    Parse multiple XML files reusing an xmlReader Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context. (Note that the XMLReader functions require libxml2 version later than 2.6.) reader4 <filename> [ filename ... ] reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res Graham Bennett see Copyright for the status of this software.
    xmlReader
    <libxml/xmlreader.h>
    use various APIs for the xmlWriter tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized. testWriter testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done Alfred Mickautsch see Copyright for the status of this software.
    xmlWriter
    <libxml/encoding.h> <libxml/xmlwriter.h>
    Navigates a tree to print element names Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order. tree1 filename_or_URL tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res Dodji Seketeli see Copyright for the status of this software.
    Tree
    <libxml/parser.h> <libxml/tree.h>
    Creates a tree Shows how to create document, nodes and dump it to stdout or file. tree2 <filename> -Default output: stdout tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res Lucas Brasilino <brasilino@recife.pe.gov.br> see Copyright for the status of this software
    Tree
    <libxml/parser.h> <libxml/tree.h>
    Evaluate XPath expression and prints result node set. Shows how to evaluate XPath expression and register known namespaces in XPath context. xpath1 <xml-file> <xpath-expr> [<known-ns-list>] xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res Aleksey Sanin see Copyright for the status of this software.
    XPath
    <libxml/parser.h> <libxml/tree.h> <libxml/xpath.h> <libxml/xpathInternals.h>
    Load a document, locate subelements with XPath, modify said elements and save the resulting document. Shows how to make a full round-trip from a load/edit/save xpath2 <xml-file> <xpath-expr> <new-value> xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res Aleksey Sanin and Daniel Veillard see Copyright for the status of this software.
    XPath
    <libxml/parser.h> <libxml/tree.h> <libxml/xpath.h> <libxml/xpathInternals.h>
    PK!Gparse3.cnu[/** * section: Parsing * synopsis: Parse an XML document in memory to a tree and free it * purpose: Demonstrate the use of xmlReadMemory() to read an XML file * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse3 * test: parse3 * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include static const char *document = ""; /** * example3Func: * @content: the content of the document * @length: the length in bytes * * Parse the in memory document and free the resulting tree */ static void example3Func(const char *content, int length) { xmlDocPtr doc; /* the resulting document tree */ /* * The document being in memory, it have no base per RFC 2396, * and the "noname.xml" argument will serve as its base. */ doc = xmlReadMemory(content, length, "noname.xml", NULL, 0); if (doc == NULL) { fprintf(stderr, "Failed to parse document\n"); return; } xmlFreeDoc(doc); } int main(void) { /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION example3Func(document, 6); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } PK! . parse4.cnu[/** * section: Parsing * synopsis: Parse an XML document chunk by chunk to a tree and free it * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and * xmlParseChunk() to read an XML file progressively * into a tree and xmlFreeDoc() to free the resulting tree * usage: parse4 test3.xml * test: parse4 test3.xml * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include #ifdef LIBXML_PUSH_ENABLED static FILE *desc; /** * readPacket: * @mem: array to store the packet * @size: the packet size * * read at most @size bytes from the document and store it in @mem * * Returns the number of bytes read */ static int readPacket(char *mem, int size) { int res; res = fread(mem, 1, size, desc); return(res); } /** * example4Func: * @filename: a filename or an URL * * Parse the resource and free the resulting tree */ static void example4Func(const char *filename) { xmlParserCtxtPtr ctxt; char chars[4]; xmlDocPtr doc; /* the resulting document tree */ int res; /* * Read a few first byte to check the input used for the * encoding detection at the parser level. */ res = readPacket(chars, 4); if (res <= 0) { fprintf(stderr, "Failed to parse %s\n", filename); return; } /* * Create a progressive parsing context, the 2 first arguments * are not used since we want to build a tree and not use a SAX * parsing interface. We also pass the first bytes of the document * to allow encoding detection when creating the parser but this * is optional. */ ctxt = xmlCreatePushParserCtxt(NULL, NULL, chars, res, filename); if (ctxt == NULL) { fprintf(stderr, "Failed to create parser context !\n"); return; } /* * loop on the input getting the document data, of course 4 bytes * at a time is not realistic but allows to verify testing on small * documents. */ while ((res = readPacket(chars, 4)) > 0) { xmlParseChunk(ctxt, chars, res, 0); } /* * there is no more input, indicate the parsing is finished. */ xmlParseChunk(ctxt, chars, 0, 1); /* * collect the document back and if it was wellformed * and destroy the parser context. */ doc = ctxt->myDoc; res = ctxt->wellFormed; xmlFreeParserCtxt(ctxt); if (!res) { fprintf(stderr, "Failed to parse %s\n", filename); } /* * since we don't use the document, destroy it now. */ xmlFreeDoc(doc); } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION /* * simulate a progressive parsing using the input file. */ desc = fopen(argv[1], "rb"); if (desc != NULL) { example4Func(argv[1]); fclose(desc); } else { fprintf(stderr, "Failed to parse %s\n", argv[1]); } /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else /* ! LIBXML_PUSH_ENABLED */ int main(int argc, char **argv) { fprintf(stderr, "Library not compiled with push parser support\n"); return(0); } #endif PK!=r|r| Makefile.innu[# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2021 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@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) 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@ check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \ parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \ reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \ reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \ tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT) subdir = doc/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am_io1_OBJECTS = io1.$(OBJEXT) io1_OBJECTS = $(am_io1_OBJECTS) io1_LDADD = $(LDADD) io1_DEPENDENCIES = $(top_builddir)/libxml2.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = am_io2_OBJECTS = io2.$(OBJEXT) io2_OBJECTS = $(am_io2_OBJECTS) io2_LDADD = $(LDADD) io2_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse1_OBJECTS = parse1.$(OBJEXT) parse1_OBJECTS = $(am_parse1_OBJECTS) parse1_LDADD = $(LDADD) parse1_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse2_OBJECTS = parse2.$(OBJEXT) parse2_OBJECTS = $(am_parse2_OBJECTS) parse2_LDADD = $(LDADD) parse2_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse3_OBJECTS = parse3.$(OBJEXT) parse3_OBJECTS = $(am_parse3_OBJECTS) parse3_LDADD = $(LDADD) parse3_DEPENDENCIES = $(top_builddir)/libxml2.la am_parse4_OBJECTS = parse4.$(OBJEXT) parse4_OBJECTS = $(am_parse4_OBJECTS) parse4_LDADD = $(LDADD) parse4_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader1_OBJECTS = reader1.$(OBJEXT) reader1_OBJECTS = $(am_reader1_OBJECTS) reader1_LDADD = $(LDADD) reader1_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader2_OBJECTS = reader2.$(OBJEXT) reader2_OBJECTS = $(am_reader2_OBJECTS) reader2_LDADD = $(LDADD) reader2_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader3_OBJECTS = reader3.$(OBJEXT) reader3_OBJECTS = $(am_reader3_OBJECTS) reader3_LDADD = $(LDADD) reader3_DEPENDENCIES = $(top_builddir)/libxml2.la am_reader4_OBJECTS = reader4.$(OBJEXT) reader4_OBJECTS = $(am_reader4_OBJECTS) reader4_LDADD = $(LDADD) reader4_DEPENDENCIES = $(top_builddir)/libxml2.la am_testWriter_OBJECTS = testWriter.$(OBJEXT) testWriter_OBJECTS = $(am_testWriter_OBJECTS) testWriter_LDADD = $(LDADD) testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la am_tree1_OBJECTS = tree1.$(OBJEXT) tree1_OBJECTS = $(am_tree1_OBJECTS) tree1_LDADD = $(LDADD) tree1_DEPENDENCIES = $(top_builddir)/libxml2.la am_tree2_OBJECTS = tree2.$(OBJEXT) tree2_OBJECTS = $(am_tree2_OBJECTS) tree2_LDADD = $(LDADD) tree2_DEPENDENCIES = $(top_builddir)/libxml2.la am_xpath1_OBJECTS = xpath1.$(OBJEXT) xpath1_OBJECTS = $(am_xpath1_OBJECTS) xpath1_LDADD = $(LDADD) xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la am_xpath2_OBJECTS = xpath2.$(OBJEXT) xpath2_OBJECTS = $(am_xpath2_OBJECTS) xpath2_LDADD = $(LDADD) xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \ ./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \ ./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \ ./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \ ./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \ ./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \ ./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \ ./$(DEPDIR)/xpath2.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \ $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \ $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ $(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \ $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES) DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \ $(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \ $(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \ $(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \ $(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BASE_THREAD_LIBS = @BASE_THREAD_LIBS@ C14N_OBJ = @C14N_OBJ@ CATALOG_OBJ = @CATALOG_OBJ@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@ DEBUG_OBJ = @DEBUG_OBJ@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ FGREP = @FGREP@ FTP_OBJ = @FTP_OBJ@ GREP = @GREP@ HTML_OBJ = @HTML_OBJ@ HTTP_OBJ = @HTTP_OBJ@ ICONV_LIBS = @ICONV_LIBS@ ICU_CFLAGS = @ICU_CFLAGS@ ICU_DEFS = @ICU_DEFS@ ICU_LIBS = @ICU_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBM = @LIBM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@ LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@ LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@ LIBXML_VERSION = @LIBXML_VERSION@ LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@ LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@ LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LZMA_CFLAGS = @LZMA_CFLAGS@ LZMA_LIBS = @LZMA_LIBS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MODULE_EXTENSION = @MODULE_EXTENSION@ MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@ MV = @MV@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ 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@ PERL = @PERL@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PYTHON = @PYTHON@ PYTHON_CFLAGS = @PYTHON_CFLAGS@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_PLATFORM = @PYTHON_PLATFORM@ PYTHON_PREFIX = @PYTHON_PREFIX@ PYTHON_TESTS = @PYTHON_TESTS@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RDL_LIBS = @RDL_LIBS@ RELDATE = @RELDATE@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEST_CATALOG = @TEST_CATALOG@ TEST_DEBUG = @TEST_DEBUG@ TEST_REGEXPS = @TEST_REGEXPS@ TEST_SCHEMATRON = @TEST_SCHEMATRON@ TEST_VALID = @TEST_VALID@ TEST_VTIME = @TEST_VTIME@ THREAD_CFLAGS = @THREAD_CFLAGS@ THREAD_LIBS = @THREAD_LIBS@ VERSION = @VERSION@ VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@ WGET = @WGET@ WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@ WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@ WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@ WITH_C14N = @WITH_C14N@ WITH_CATALOG = @WITH_CATALOG@ WITH_DEBUG = @WITH_DEBUG@ WITH_FTP = @WITH_FTP@ WITH_HTML = @WITH_HTML@ WITH_HTTP = @WITH_HTTP@ WITH_ICONV = @WITH_ICONV@ WITH_ICU = @WITH_ICU@ WITH_ISO8859X = @WITH_ISO8859X@ WITH_LEGACY = @WITH_LEGACY@ WITH_LZMA = @WITH_LZMA@ WITH_MEM_DEBUG = @WITH_MEM_DEBUG@ WITH_MODULES = @WITH_MODULES@ WITH_OUTPUT = @WITH_OUTPUT@ WITH_PATTERN = @WITH_PATTERN@ WITH_PUSH = @WITH_PUSH@ WITH_READER = @WITH_READER@ WITH_REGEXPS = @WITH_REGEXPS@ WITH_RUN_DEBUG = @WITH_RUN_DEBUG@ WITH_SAX1 = @WITH_SAX1@ WITH_SCHEMAS = @WITH_SCHEMAS@ WITH_SCHEMATRON = @WITH_SCHEMATRON@ WITH_THREADS = @WITH_THREADS@ WITH_THREAD_ALLOC = @WITH_THREAD_ALLOC@ WITH_TREE = @WITH_TREE@ WITH_TRIO = @WITH_TRIO@ WITH_VALID = @WITH_VALID@ WITH_WRITER = @WITH_WRITER@ WITH_XINCLUDE = @WITH_XINCLUDE@ WITH_XPATH = @WITH_XPATH@ WITH_XPTR = @WITH_XPTR@ WITH_XPTR_LOCS = @WITH_XPTR_LOCS@ WITH_ZLIB = @WITH_ZLIB@ XINCLUDE_OBJ = @XINCLUDE_OBJ@ XMLLINT = @XMLLINT@ XML_CFLAGS = @XML_CFLAGS@ XML_INCLUDEDIR = @XML_INCLUDEDIR@ XML_LIBDIR = @XML_LIBDIR@ XML_LIBS = @XML_LIBS@ XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@ XML_PRIVATE_LIBS = @XML_PRIVATE_LIBS@ XPATH_OBJ = @XPATH_OBJ@ XPTR_OBJ = @XPTR_OBJ@ XSLTPROC = @XSLTPROC@ Z_CFLAGS = @Z_CFLAGS@ Z_LIBS = @Z_LIBS@ 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@ 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@ pkgpyexecdir = @pkgpyexecdir@ pkgpythondir = @pkgpythondir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ pyexecdir = @pyexecdir@ pythondir = @pythondir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include LDADD = $(top_builddir)/libxml2.la CLEANFILES = *.tmp EXTRA_DIST = \ examples.xml \ examples.xsl \ index.html \ index.py \ test1.xml \ test2.xml \ test3.xml io1_SOURCES = io1.c io2_SOURCES = io2.c parse1_SOURCES = parse1.c parse2_SOURCES = parse2.c parse3_SOURCES = parse3.c parse4_SOURCES = parse4.c reader1_SOURCES = reader1.c reader2_SOURCES = reader2.c reader3_SOURCES = reader3.c reader4_SOURCES = reader4.c testWriter_SOURCES = testWriter.c tree1_SOURCES = tree1.c tree2_SOURCES = tree2.c xpath1_SOURCES = xpath1.c xpath2_SOURCES = xpath2.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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) --foreign doc/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/examples/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__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) @rm -f io1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS) io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) @rm -f io2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS) parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) @rm -f parse1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS) parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) @rm -f parse2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS) parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) @rm -f parse3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS) parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) @rm -f parse4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS) reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) @rm -f reader1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS) reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) @rm -f reader2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS) reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) @rm -f reader3$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS) reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) @rm -f reader4$(EXEEXT) $(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS) testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) @rm -f testWriter$(EXEEXT) $(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS) tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) @rm -f tree1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS) tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) @rm -f tree2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS) xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) @rm -f xpath1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS) xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) @rm -f xpath2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse3.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse4.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader3.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader4.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testWriter.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath1.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath2.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ 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-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ 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" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(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 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile installdirs: 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: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 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-checkPROGRAMS clean-generic clean-libtool clean-local \ mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/io1.Po -rm -f ./$(DEPDIR)/io2.Po -rm -f ./$(DEPDIR)/parse1.Po -rm -f ./$(DEPDIR)/parse2.Po -rm -f ./$(DEPDIR)/parse3.Po -rm -f ./$(DEPDIR)/parse4.Po -rm -f ./$(DEPDIR)/reader1.Po -rm -f ./$(DEPDIR)/reader2.Po -rm -f ./$(DEPDIR)/reader3.Po -rm -f ./$(DEPDIR)/reader4.Po -rm -f ./$(DEPDIR)/testWriter.Po -rm -f ./$(DEPDIR)/tree1.Po -rm -f ./$(DEPDIR)/tree2.Po -rm -f ./$(DEPDIR)/xpath1.Po -rm -f ./$(DEPDIR)/xpath2.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local 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 ./$(DEPDIR)/io1.Po -rm -f ./$(DEPDIR)/io2.Po -rm -f ./$(DEPDIR)/parse1.Po -rm -f ./$(DEPDIR)/parse2.Po -rm -f ./$(DEPDIR)/parse3.Po -rm -f ./$(DEPDIR)/parse4.Po -rm -f ./$(DEPDIR)/reader1.Po -rm -f ./$(DEPDIR)/reader2.Po -rm -f ./$(DEPDIR)/reader3.Po -rm -f ./$(DEPDIR)/reader4.Po -rm -f ./$(DEPDIR)/testWriter.Po -rm -f ./$(DEPDIR)/tree1.Po -rm -f ./$(DEPDIR)/tree2.Po -rm -f ./$(DEPDIR)/xpath1.Po -rm -f ./$(DEPDIR)/xpath2.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \ check-local clean clean-checkPROGRAMS clean-generic \ clean-libtool clean-local cscopelist-am ctags ctags-am \ distclean distclean-compile 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-data-local 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 maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-local .PRECIOUS: Makefile rebuild: cd $(srcdir) && $(PYTHON) index.py $(MAKE) Makefile cd $(srcdir) && xsltproc examples.xsl examples.xml -cd $(srcdir) && xmllint --valid --noout index.html .PHONY: rebuild install-data-local: $(MKDIR_P) $(DESTDIR)$(docdir)/examples -$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/ uninstall-local: rm -f $(DESTDIR)$(docdir)/examples/*.c rm -f $(DESTDIR)$(docdir)/examples/*.html -rmdir $(DESTDIR)$(docdir)/examples clean-local: test -f Makefile.am || rm -f test?.xml rm -f .memdump valgrind: $(MAKE) CHECKER='valgrind' check check-local: @test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml . @(echo '## examples regression tests') @(echo > .memdump) @$(CHECKER) ./io1 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./io2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse1 test1.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse2 test2.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse3 @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse4 test3.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader2 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader3 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./testWriter @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @rm -f *.tmp # 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: PK!#AA test3.xmlnu[ This text node must be discarded content1 content2 too content3 content4 content5 content6 This text node must be discarded This text node must be discarded This text node must be discarded This text node must be discarded This text node must be discarded PK!F>2##index.pynu[#!/usr/bin/env python # # Indexes the examples and build an XML description # import glob import sys try: import libxml2 except: print("libxml2 python bindings not available") sys.exit(1) sys.path.insert(0, "..") from apibuild import CParser, escape examples = [] extras = ['examples.xsl', 'index.html', 'index.py'] tests = [] sections = {} symbols = {} api_dict = None api_doc = None def load_api(): global api_dict global api_doc if api_dict != None: return api_dict = {} try: print("loading ../libxml2-api.xml") api_doc = libxml2.parseFile("../libxml2-api.xml") except: print("failed to parse ../libxml2-api.xml") sys.exit(1) def find_symbol(name): global api_dict global api_doc if api_doc == None: load_api() if name == None: return if name in api_dict: return api_dict[name] ctxt = api_doc.xpathNewContext() res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name)) if type(res) == type([]) and len(res) >= 1: if len(res) > 1: print("Found %d references to %s in the API" % (len(res), name)) node = res[0] typ = node.name file = node.xpathEval("string(@file)") info = node.xpathEval("string(info)") else: print("Reference %s not found in the API" % (name)) return None ret = (typ, file, info) api_dict[name] = ret return ret def parse_top_comment(filename, comment): res = {} lines = comment.split("\n") item = None for line in lines: while line != "" and (line[0] == ' ' or line[0] == '\t'): line = line[1:] while line != "" and line[0] == '*': line = line[1:] while line != "" and (line[0] == ' ' or line[0] == '\t'): line = line[1:] try: (it, line) = line.split(":", 1) item = it while line != "" and (line[0] == ' ' or line[0] == '\t'): line = line[1:] if item in res: res[item] = res[item] + " " + line else: res[item] = line except: if item != None: if item in res: res[item] = res[item] + " " + line else: res[item] = line return res def parse(filename, output): global symbols global sections parser = CParser(filename) parser.collect_references() idx = parser.parse() info = parse_top_comment(filename, parser.top_comment) output.write(" \n" % filename) try: synopsis = info['synopsis'] output.write(" %s\n" % escape(synopsis)); except: print("Example %s lacks a synopsis description" % (filename)) try: purpose = info['purpose'] output.write(" %s\n" % escape(purpose)); except: print("Example %s lacks a purpose description" % (filename)) try: usage = info['usage'] output.write(" %s\n" % escape(usage)); except: print("Example %s lacks an usage description" % (filename)) try: test = info['test'] output.write(" %s\n" % escape(test)); progname=filename[0:-2] command=test.replace(progname, './' + progname, 1) tests.append(command) except: pass try: author = info['author'] output.write(" %s\n" % escape(author)); except: print("Example %s lacks an author description" % (filename)) try: copy = info['copy'] output.write(" %s\n" % escape(copy)); except: print("Example %s lacks a copyright description" % (filename)) try: section = info['section'] output.write("
    %s
    \n" % escape(section)); if section in sections: sections[section].append(filename) else: sections[section] = [filename] except: print("Example %s lacks a section description" % (filename)) for topic in sorted(info.keys()): if topic != "purpose" and topic != "usage" and \ topic != "author" and topic != "copy" and \ topic != "section" and topic != "synopsis" and topic != "test": str = info[topic] output.write(" %s\n" % ( escape(topic), escape(str))) output.write(" \n") for include in sorted(idx.includes.keys()): if include.find("libxml") != -1: id = idx.includes[include] line = id.get_lineno() output.write(" %s\n" % (line, escape(include))) output.write(" \n") output.write(" \n") for ref in sorted(idx.references.keys()): id = idx.references[ref] name = id.get_name() line = id.get_lineno() if name in symbols: sinfo = symbols[name] refs = sinfo[0] # gather at most 5 references per symbols if refs > 5: continue sinfo.append(filename) sinfo[0] = refs + 1 else: symbols[name] = [1, filename] info = find_symbol(name) if info != None: type = info[0] file = info[1] output.write(" <%s line='%d' file='%s' name='%s'/>\n" % (type, line, file, name)) else: type = id.get_type() output.write(" <%s line='%d' name='%s'/>\n" % (type, line, name)) output.write(" \n") output.write("
    \n") return idx def dump_symbols(output): global symbols output.write(" \n") for symbol in sorted(symbols.keys()): output.write(" \n" % (symbol)) info = symbols[symbol] i = 1 while i < len(info): output.write(" \n" % (info[i])) i = i + 1 output.write(" \n") output.write(" \n") def dump_sections(output): global sections output.write(" \n") for section in sorted(sections.keys()): output.write("
    \n" % (section)) info = sections[section] i = 0 while i < len(info): output.write(" \n" % (info[i])) i = i + 1 output.write("
    \n") output.write("
    \n") def dump_Makefile(): for file in glob.glob('*.xml'): extras.append(file) for file in glob.glob('*.res'): extras.append(file) Makefile="""## ## This file is auto-generated by index.py ## DO NOT EDIT !!! ## AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include LDADD = $(top_builddir)/libxml2.la CLEANFILES = *.tmp rebuild: \tcd $(srcdir) && $(PYTHON) index.py \t$(MAKE) Makefile \tcd $(srcdir) && xsltproc examples.xsl examples.xml \t-cd $(srcdir) && xmllint --valid --noout index.html .PHONY: rebuild install-data-local: \t$(MKDIR_P) $(DESTDIR)$(docdir)/examples \t-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/ clean-local: \ttest -f Makefile.am || rm -f test?.xml """ examples.sort() extras.sort() tests.sort() EXTRA_DIST="" for extra in extras: EXTRA_DIST = EXTRA_DIST + " \\\n\t" + extra Makefile = Makefile + "EXTRA_DIST =%s\n\n" % (EXTRA_DIST) check_PROGRAMS="" for example in examples: check_PROGRAMS = check_PROGRAMS + " \\\n\t" + example Makefile = Makefile + "check_PROGRAMS =%s\n\n" % (check_PROGRAMS) for example in examples: Makefile = Makefile + "%s_SOURCES = %s.c\n\n" % (example, example) Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n" Makefile = Makefile + "tests: $(check_PROGRAMS)\n" Makefile = Makefile + "\t@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .\n" Makefile = Makefile + "\t@(echo '## examples regression tests')\n" Makefile = Makefile + "\t@(echo > .memdump)\n" for test in tests: Makefile = Makefile + "\t@$(CHECKER) %s\n" % (test) Makefile = Makefile + '\t@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0\n' Makefile = Makefile + "\t@rm *.tmp\n" try: old = open("Makefile.am", "r").read() if old != Makefile: n = open("Makefile.am", "w").write(Makefile) print("Updated Makefile.am") except: print("Failed to read or save Makefile.am") if __name__ == "__main__": load_api() output = open("examples.xml", "w") output.write("\n") for file in sorted(glob.glob('*.c')): parse(file, output) examples.append(file[:-2]) dump_symbols(output) dump_sections(output) output.write("\n") output.close() #dump_Makefile() PK!Kio1nuȯ#! /bin/sh # io1 - temporary wrapper script for .libs/io1 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The io1 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io1.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "io1:io1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "io1:io1:$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 () { if test -n "$lt_option_debug"; then $ECHO "io1:io1:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'io1' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!C iio1.cnu[/** * section: InputOutput * synopsis: Example of custom Input/Output * purpose: Demonstrate the use of xmlRegisterInputCallbacks * to build a custom I/O layer, this is used in an * XInclude method context to show how dynamic document can * be built in a clean way. * usage: io1 * test: io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include #include #include #include #ifdef LIBXML_XINCLUDE_ENABLED static const char *result = "ab"; static const char *cur = NULL; static int rlen; /** * sqlMatch: * @URI: an URI to test * * Check for an sql: query * * Returns 1 if yes and 0 if another Input module should be used */ static int sqlMatch(const char * URI) { if ((URI != NULL) && (!strncmp(URI, "sql:", 4))) return(1); return(0); } /** * sqlOpen: * @URI: an URI to test * * Return a pointer to the sql: query handler, in this example simply * the current pointer... * * Returns an Input context or NULL in case or error */ static void * sqlOpen(const char * URI) { if ((URI == NULL) || (strncmp(URI, "sql:", 4))) return(NULL); cur = result; rlen = strlen(result); return((void *) cur); } /** * sqlClose: * @context: the read context * * Close the sql: query handler * * Returns 0 or -1 in case of error */ static int sqlClose(void * context) { if (context == NULL) return(-1); cur = NULL; rlen = 0; return(0); } /** * sqlRead: * @context: the read context * @buffer: where to store data * @len: number of bytes to read * * Implement an sql: query read. * * Returns the number of bytes read or -1 in case of error */ static int sqlRead(void * context, char * buffer, int len) { const char *ptr = (const char *) context; if ((context == NULL) || (buffer == NULL) || (len < 0)) return(-1); if (len > rlen) len = rlen; memcpy(buffer, ptr, len); rlen -= len; return(len); } const char *include = "\n\ \n\

    List of people:

    \n\ \n\
    \n"; int main(void) { xmlDocPtr doc; /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION /* * register the new I/O handlers */ if (xmlRegisterInputCallbacks(sqlMatch, sqlOpen, sqlRead, sqlClose) < 0) { fprintf(stderr, "failed to register SQL handler\n"); exit(1); } /* * parse include into a document */ doc = xmlReadMemory(include, strlen(include), "include.xml", NULL, 0); if (doc == NULL) { fprintf(stderr, "failed to parse the including file\n"); exit(1); } /* * apply the XInclude process, this should trigger the I/O just * registered. */ if (xmlXIncludeProcess(doc) <= 0) { fprintf(stderr, "XInclude processing failed\n"); exit(1); } #ifdef LIBXML_OUTPUT_ENABLED /* * save the output for checking to stdout */ xmlDocDump(stdout, doc); #endif /* * Free the document */ xmlFreeDoc(doc); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "XInclude support not compiled in\n"); return(0); } #endif PK!nzPs s Makefile.amnu[AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include LDADD = $(top_builddir)/libxml2.la CLEANFILES = *.tmp rebuild: cd $(srcdir) && $(PYTHON) index.py $(MAKE) Makefile cd $(srcdir) && xsltproc examples.xsl examples.xml -cd $(srcdir) && xmllint --valid --noout index.html .PHONY: rebuild install-data-local: $(MKDIR_P) $(DESTDIR)$(docdir)/examples -$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/ uninstall-local: rm -f $(DESTDIR)$(docdir)/examples/*.c rm -f $(DESTDIR)$(docdir)/examples/*.html -rmdir $(DESTDIR)$(docdir)/examples clean-local: test -f Makefile.am || rm -f test?.xml rm -f .memdump EXTRA_DIST = \ examples.xml \ examples.xsl \ index.html \ index.py \ test1.xml \ test2.xml \ test3.xml check_PROGRAMS = \ io1 \ io2 \ parse1 \ parse2 \ parse3 \ parse4 \ reader1 \ reader2 \ reader3 \ reader4 \ testWriter \ tree1 \ tree2 \ xpath1 \ xpath2 io1_SOURCES = io1.c io2_SOURCES = io2.c parse1_SOURCES = parse1.c parse2_SOURCES = parse2.c parse3_SOURCES = parse3.c parse4_SOURCES = parse4.c reader1_SOURCES = reader1.c reader2_SOURCES = reader2.c reader3_SOURCES = reader3.c reader4_SOURCES = reader4.c testWriter_SOURCES = testWriter.c tree1_SOURCES = tree1.c tree2_SOURCES = tree2.c xpath1_SOURCES = xpath1.c xpath2_SOURCES = xpath2.c valgrind: $(MAKE) CHECKER='valgrind' check check-local: @test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml . @(echo '## examples regression tests') @(echo > .memdump) @$(CHECKER) ./io1 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./io2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse1 test1.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse2 test2.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse3 @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./parse4 test3.xml @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader2 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader3 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./testWriter @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree1 test2.xml >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./tree2 >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 @rm -f *.tmp PK! ` ` reader1.onu[ELF>Q@@98 ,.+/*0)1 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONStAW RAVAUATUSHHHC11HH$HH-fDHHHHHHHDHIHAHAHAHEIAUDH51XZMt@LL(~H51OH517 (H߉D$ D$ uH1[]A\A]A^A_H $H=H1H $H=H1--%d %d %s %d %d %.40s... %s %s : failed to parse Unable to open %s {  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E 9*C B36<CK) MW]CqC) W} * * K   q c  jNaNaN Y".;B HT`m$#1~U1T RXvY~m- ~~U1T Q|m/~U1T m*~U:/UsGUs_UswUs Us Us U| G ( T1Q Rw J ~ ( T1Q Rw4 UwT0Q0A UsM UsY U R e r !:;":#;$ret< a!m"##%ka"k &%da"d"d<&'\ ( )' ' ' ' ' ' ' U'Z * I' ' v' *9' % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!'I'I.?: ; 9 'I@B: ; 9 IB1RB UX Y W 1B U41B1RB X Y W 1B111 1!.: ; 9 ' ": ; 9 I#4: ; 9 I$4: ; 9 I%.?: ; 9 'I 4&'.?<n: ; 9 (6).?<n: ; *.?<n: ;9 UUTSTPwwwPSSPSP1PSSPVVP\Q\    ,U /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h! K!j  .!wX !w JZeJtaJX=   X  : :=tL Z :>X J. [   < Y> tB< . VgX  XtY \Y I/  c . d <_IO_buf_endxmlMallocAtomic__printf_chkxmlReallocFuncxmlFreesys_nerr__fprintf_chkshort intsize_txmlMemStrdup_offsetputchar_freeres_listxmlCheckVersionxmlTextReaderNodeType_IO_write_ptr_flags_IO_buf_base_freeres_bufxmlTextReaderConstNamevaluexmlFreeFuncxmlTextReaderHasValue/builddir/build/BUILD/libxml2-2.10.2/doc/examplesfilenameargv_IO_read_endxmlMallocstderrGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlTextReader_locklong intprintf_cur_column_markersfprintfxmlChar_IO_write_basereadername_vtable_offset_IO_FILElong doubleunsigned charargcsigned char_codecvtlong long unsigned intxmlStrlenunsigned int_IO_marker_shortbufxmlTextReaderPtr_old_offset_chain_unused2_IO_read_ptrshort unsigned intxmlReaderForFilexmlFreeTextReadercharreader1.cmainxmlTextReaderConstValue_wide_dataxmlTextReaderRead__pad5__builtin_putcharxmlStrdupFunc_IO_codecvt__fmtlong unsigned int_IO_save_end_IO_write_end__off64_t_filenoxmlRealloc__off_tstreamFile_IO_backup_basestdin_flags2_mode_IO_read_basexmlTextReaderIsEmptyElement_IO_wide_dataxmlMallocFunc_IO_save_basesys_errlistFILEprocessNodexmlTextReaderDepth__stream_xmlTextReaderxmlCleanupParserxmlMemoryDumpstdoutlong long int_IO_lock_tGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx TQGB B(A0A8GPXH`YXAPv 8C0A(B BBBA  - +  B.]y/01!#%'./0123-4-27<A"F8KWg|()*+,4Pfy.annobin_reader1.c.annobin_reader1.c_end.annobin_reader1.c.hot.annobin_reader1.c_end.hot.annobin_reader1.c.unlikely.annobin_reader1.c_end.unlikely.annobin_reader1.c.startup.annobin_reader1.c_end.startup.annobin_reader1.c.exit.annobin_reader1.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk ) # $ % &**&C:DTEeFu,~GHIJK-LM.L/LN0O=PBQ^Re0qS~R1S  " " "' % !* "a8 "I? "5H "O "V "] "Wk "xp "| "v " " " " "g " " " "h " " ") "6 "[C "P "t] "j "w "h " " "M "r "u "  " " " " " "{! "*- "5 "B\ "7g " " " "~ "@ " " "  " "+ "L ")r ") " "t "  " "8 "h "d "W "W "* "& * / "b: C> =G*9P ` d i r v    *a @   @ D >  **  *6*? pO !S X*n** O M*** } {*#*i0*H*`*x****W*W  *u "!*w**wH8W*m8*>*X*4***A*F  " "Y# "< "/I "U "a "n " "C " "N "C " " "} " " " " " " " " " " " "; "; "+! "+) "I- "I5 "9 "B "F "N "R "Z "^ "f "fj "fs "ww "w* ***C*K*)V*)^*Ai*Aq**9*=*=*****<*W**A*J**J2*M=*WE*wP*wX*c*k**X*a*a*(*(*3*3*<*W*w*a**#*(D*rL*yW*y_*j*r*(********(**!*)*4O*W*b}**( *W*w" **.*5*9*< *W(*@*aH*P*X*(p*x*****d* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@62*P63*h64*(65*66!'1,@x106 GVQ@106 phh@106<<@206@8206 8@h206 @26,2 K@  ;@ 56L._Z@F6o0j@M06!~@M6#r@xO6%0U 0%.(&(&p(&G(&(&(&(&(&(&(&(&  H&p@O64&7A .O1PK!<«l(X(Xio2.onu[ELF>I@@98 ,.+/*0)1 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSUH=SH(dH%(HD$11H1HHH5HHHHHT$ HHt$HT$H51H|$HHL$dH3 %(u H(1[]1.0rootcontent%s  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 2@ns H P X ` Ch Lp Lr  C      2( 0 8doc 2@ CH CP CX C` h p Cx '2 (C ) * + ,  -( .0 /8doc 02@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w e0   K   C  2(Xe`  C      ( 0 8doc 2@ns H P CX   % &FC 9 B3  C ) M' - CA C) WM S b       A a7 ndocP aL7 %W H V U1 T !b v U !o Us T0 Q  R0!| Uv T ! Us Tv!  Us TP QL R1! ) Us" #kaV $k %&\ ' ' <' %' ' ' (% U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<!7I> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B4: ; 9 IB4: ; 9 I1RB X Y W 1B1 B!1"1#.?: ; 9 'I 4$: ; 9 I%&.?<n: ; 9 '.?<n: ;9 (.?<nPVVPSS ," /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.h   XvtX  Y = Y s=g tf printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTstdoutnsDefxmlbuff_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offsetbuffersizexmlCharcompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYnamesys_nerrcharsetxmlNodeSetContentshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modexmlDocDumpFormatMemoryXML_PI_NODEXML_ATTRIBUTE_IDprefix_codecvtstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDict_offsetio2.cXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSxmlNewDocNode_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODEcontext_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx ,EHD@ CAA  - #  6.Me/01!#%'./0123-4  %5J^()*+,ot.annobin_io2.c.annobin_io2.c_end.annobin_io2.c.hot.annobin_io2.c_end.hot.annobin_io2.c.unlikely.annobin_io2.c_end.unlikely.annobin_io2.c.startup.annobin_io2.c_end.startup.annobin_io2.c.exit.annobin_io2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlNewDocxmlNewDocNodexmlNodeSetContentxmlDocSetRootElementxmlDocDumpFormatMemory__printf_chkxmlFreexmlFreeDoc__stack_chk_fail ) # $ % &**,"A+-8B?.JCUDlEx/FGHI  "( " "1 % !* "c8 "x? "(H "RO "V "] "~k "6p "| " "s " "L " "  " "4 " " " "S ") "6 "C ")P "] "j "@w " " " "o ": " " " " "5 "$ "H "N! "- "5 "\ "vg " "_ " "W " " "  " "I " "-! "' " - "e3 "9 "? "E "K "Q "^W "`] "c "i "o "yu "{ "e " "Y "q " "+ " " "C "  " "X " " " " "# "I1 "? "EM "j[ " " "" " " " " "2 " "  " "I% "3 "EA "jO "k "y " " "u " " " " " " "  "I "( "E6 "jD "` "n "| " " "? "m "- "2 " "D " "h$ ""; "B "\G "xL "?Y "f "t "j " " " " " "o " " "  "I ") "E7 "jE "n "| " "  " "Q " " " "u "BB "#c "o "{ " "7 " "/ *   U O " " *p *p. 2 7 *M X *&m w *<  *N  *Y *p ** *8 "I "W "[ "c "(g "(p "@t "@} " " " " "N "N " " " "*F*M*M!*,*4*U*7]*;h*;p*{***p* ***1* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@60*P61*h62*(63*64!'1,@.06 GVQ@.06 phh@.06<<@ /06@P/06 8@/06 @/86,2 @ ;@06L(_Z@Eh6o0j@ G06! ~@PG06#@G6%0m0$.%%p%G%%%%%%% %  @%H@G64%7? x,G1PK! test2.xmlnu[ ]> PK!2.memdumpnu[ PK!ǝitree2nuȯ#! /bin/sh # tree2 - temporary wrapper script for .libs/tree2 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The tree2 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree2.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "tree2:tree2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "tree2:tree2:$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 () { if test -n "$lt_option_debug"; then $ECHO "tree2:tree2:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'tree2' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!Ȥxxpath2.cnu[/** * section: XPath * synopsis: Load a document, locate subelements with XPath, modify * said elements and save the resulting document. * purpose: Shows how to make a full round-trip from a load/edit/save * usage: xpath2 * test: xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res * author: Aleksey Sanin and Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include #include #include #include #include #include #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) && \ defined(LIBXML_OUTPUT_ENABLED) static void usage(const char *name); static int example4(const char *filename, const xmlChar * xpathExpr, const xmlChar * value); static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar * value); int main(int argc, char **argv) { /* Parse command line and process file */ if (argc != 4) { fprintf(stderr, "Error: wrong number of arguments.\n"); usage(argv[0]); return(-1); } /* Init libxml */ xmlInitParser(); LIBXML_TEST_VERSION /* Do the main job */ if (example4(argv[1], BAD_CAST argv[2], BAD_CAST argv[3])) { usage(argv[0]); return(-1); } /* Shutdown libxml */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return 0; } /** * usage: * @name: the program name. * * Prints usage information. */ static void usage(const char *name) { assert(name); fprintf(stderr, "Usage: %s \n", name); } /** * example4: * @filename: the input XML filename. * @xpathExpr: the xpath expression for evaluation. * @value: the new node content. * * Parses input XML file, evaluates XPath expression and update the nodes * then print the result. * * Returns 0 on success and a negative value otherwise. */ static int example4(const char* filename, const xmlChar* xpathExpr, const xmlChar* value) { xmlDocPtr doc; xmlXPathContextPtr xpathCtx; xmlXPathObjectPtr xpathObj; assert(filename); assert(xpathExpr); assert(value); /* Load XML document */ doc = xmlParseFile(filename); if (doc == NULL) { fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); return(-1); } /* Create xpath evaluation context */ xpathCtx = xmlXPathNewContext(doc); if(xpathCtx == NULL) { fprintf(stderr,"Error: unable to create new XPath context\n"); xmlFreeDoc(doc); return(-1); } /* Evaluate xpath expression */ xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx); if(xpathObj == NULL) { fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr); xmlXPathFreeContext(xpathCtx); xmlFreeDoc(doc); return(-1); } /* update selected nodes */ update_xpath_nodes(xpathObj->nodesetval, value); /* Cleanup of XPath data */ xmlXPathFreeObject(xpathObj); xmlXPathFreeContext(xpathCtx); /* dump the resulting document */ xmlDocDump(stdout, doc); /* free the document */ xmlFreeDoc(doc); return(0); } /** * update_xpath_nodes: * @nodes: the nodes set. * @value: the new value for the node(s) * * Prints the @nodes content to @output. */ static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar* value) { int size; int i; assert(value); size = (nodes) ? nodes->nodeNr : 0; /* * NOTE: the nodes are processed in reverse order, i.e. reverse document * order because xmlNodeSetContent can actually free up descendant * of the node and such nodes may have been selected too ! Handling * in reverse order ensure that descendant are accessed first, before * they get removed. Mixing XPath and modifications on a tree must be * done carefully ! */ for(i = size - 1; i >= 0; i--) { assert(nodes->nodeTab[i]); xmlNodeSetContent(nodes->nodeTab[i], value); /* * All the elements returned by an XPath query are pointers to * elements from the tree *except* namespace nodes where the XPath * semantic is different from the implementation in libxml2 tree. * As a result when a returned node set is freed when * xmlXPathFreeObject() is called, that routine must check the * element type. But node from the returned set may have been removed * by xmlNodeSetContent() resulting in access to freed data. * This can be exercised by running * valgrind xpath2 test3.xml '//discarded' discarded * There is 2 ways around it: * - make a copy of the pointers to the nodes from the result set * then call xmlXPathFreeObject() and then modify the nodes * or * - remove the reference to the modified nodes from the node set * as they are processed, if they are not namespace nodes. */ if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL) nodes->nodeTab[i] = NULL; } } #else int main(void) { fprintf(stderr, "XPath support not compiled in\n"); return 0; } #endif PK!_$tree1.cnu[/** * section: Tree * synopsis: Navigates a tree to print element names * purpose: Parse a file to a tree, use xmlDocGetRootElement() to * get the root element, then walk the document and print * all the element name in document order. * usage: tree1 filename_or_URL * test: tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res * author: Dodji Seketeli * copy: see Copyright for the status of this software. */ #include #include #include #ifdef LIBXML_TREE_ENABLED /* *To compile this file using gcc you can type *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c */ /** * print_element_names: * @a_node: the initial xml node to consider. * * Prints the names of the all the xml elements * that are siblings or children of a given xml node. */ static void print_element_names(xmlNode * a_node) { xmlNode *cur_node = NULL; for (cur_node = a_node; cur_node; cur_node = cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE) { printf("node type: Element, name: %s\n", cur_node->name); } print_element_names(cur_node->children); } } /** * Simple example to parse a file called "file.xml", * walk down the DOM, and print the name of the * xml elements nodes. */ int main(int argc, char **argv) { xmlDoc *doc = NULL; xmlNode *root_element = NULL; if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION /*parse the file and get the DOM */ doc = xmlReadFile(argv[1], NULL, 0); if (doc == NULL) { printf("error: could not parse file %s\n", argv[1]); } /*Get the root element node */ root_element = xmlDocGetRootElement(doc); print_element_names(root_element); /*free the document */ xmlFreeDoc(doc); /* *Free the global variables that may *have been allocated by the parser. */ xmlCleanupParser(); return 0; } #else int main(void) { fprintf(stderr, "Tree support not compiled in\n"); return 0; } #endif PK!\9 9 reader4.cnu[/** * section: xmlReader * synopsis: Parse multiple XML files reusing an xmlReader * purpose: Demonstrate the use of xmlReaderForFile() and * xmlReaderNewFile to parse XML files while reusing the reader object * and parser context. (Note that the XMLReader functions require * libxml2 version later than 2.6.) * usage: reader4 [ filename ... ] * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res * author: Graham Bennett * copy: see Copyright for the status of this software. */ #include #include #ifdef LIBXML_READER_ENABLED static void processDoc(xmlTextReaderPtr readerPtr) { int ret; xmlDocPtr docPtr; const xmlChar *URL; ret = xmlTextReaderRead(readerPtr); while (ret == 1) { ret = xmlTextReaderRead(readerPtr); } /* * One can obtain the document pointer to get interesting * information about the document like the URL, but one must also * be sure to clean it up at the end (see below). */ docPtr = xmlTextReaderCurrentDoc(readerPtr); if (NULL == docPtr) { fprintf(stderr, "failed to obtain document\n"); return; } URL = docPtr->URL; if (NULL == URL) { fprintf(stderr, "Failed to obtain URL\n"); } if (ret != 0) { fprintf(stderr, "%s: Failed to parse\n", URL); return; } printf("%s: Processed ok\n", (const char *)URL); } int main(int argc, char **argv) { xmlTextReaderPtr readerPtr; int i; xmlDocPtr docPtr; if (argc < 2) return(1); /* * this initialises the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION /* * Create a new reader for the first file and process the * document. */ readerPtr = xmlReaderForFile(argv[1], NULL, 0); if (NULL == readerPtr) { fprintf(stderr, "%s: failed to create reader\n", argv[1]); return(1); } processDoc(readerPtr); /* * The reader can be reused for subsequent files. */ for (i=2; i < argc; ++i) { xmlReaderNewFile(readerPtr, argv[i], NULL, 0); if (NULL == readerPtr) { fprintf(stderr, "%s: failed to create reader\n", argv[i]); return(1); } processDoc(readerPtr); } /* * Since we've called xmlTextReaderCurrentDoc, we now have to * clean up after ourselves. We only have to do this the last * time, because xmlReaderNewFile calls xmlCtxtReset which takes * care of it. */ docPtr = xmlTextReaderCurrentDoc(readerPtr); if (docPtr != NULL) xmlFreeDoc(docPtr); /* * Clean up the reader. */ xmlFreeTextReader(readerPtr); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "xmlReader support not compiled in\n"); return(0); } #endif PK!ijparse4nuȯ#! /bin/sh # parse4 - temporary wrapper script for .libs/parse4 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The parse4 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse4.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "parse4:parse4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "parse4:parse4:$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 () { if test -n "$lt_option_debug"; then $ECHO "parse4:parse4:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'parse4' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!RbXXxpath1.onu[ELF>X@@<; /1.2-3,4HHt[HH=1H4H H=3H HH=H BH5H=ff.fAVAUATUSHjHBHHIHH fDH< ttk=HHLh LHt*LHHLpu7MtLLHHuL1[]A\A]A^H=MH1HL[]A\A]A^H &H=L[]A\A]A^H (H=eH H5H=H H5H=fAVAUATUSHIHH\1HHIFHHJSL-L$OAH@HHHHIоHH1I9t`IFHHHD@HPAuHHqHHyHHHtXHLNIоWHH1XZI9u[]A\A]A^fDHѾLH1rfDIIоHH1KHѾH1H&f[H1]HA\A]1A^H H5H=H H5H=fAUATUSHHEIHHIHHttHHHMtLHHLIHtYHxH5LHH1H[]A\A]H=Hپ1HLHH=1HHLHH *H=HbH [H5H=H ZH5H= GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath1.cnamexpathCtxnsListoutputResult (%d nodes): nodes->nodeTab[i]= element node "%s:%s" = element node "%s" = node "%s": type %d filenamexpathExprUsage: %s [] where is a list of known namespaces in "= =href2> ..." format Error: unable to strdup namespaces list Error: invalid namespaces list format Error: unable to register NS with prefix="%s" and href="%s" = namespace "%s"="%s" for node %s:%s = namespace "%s"="%s" for node %s Error: unable to parse file "%s" Error: unable to create new XPath context Error: failed to register namespaces list "%s" Error: unable to evaluate xpath expression "%s" Error: wrong number of arguments. GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSUGSHHwB R1҃t$HsH{xC1H[]HSH "H=H;H;print_xpath_nodesregister_namespacesexecute_xpath_expressionusage 5intCC1. 3< 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X DG` FMh H<p I<t J tx MX Nf OS Qc Y [n \y ]M ^ _ ) `< b + B c 5: i t  5. <  Q_        _    x        ( 0 8doc E@ns H P X ` h Xp Xr        E( 0 8doc E@ H P X ` h p x 'E ( ) * + ,  -( .0 /8doc 0E@ 3<H 4<L :P ;X <` =h >pids ?x @URL A B< D  E F< H< ^  oR w 0   u     E( `        ( 0 8doc E@ns H P X    % & ^ 9  *  B36 < K ) MW ] q ) W}        _  L XN O < P < Q R  S T < U( V0 W8 X <@ Y <D ZH [PM  Z    * * K  q '!. x, doc-.0 <1 <2 4 < 5 <$6(8 <09 <4: 8< <@= <D>HA PB <XC `F <hG <lJ <pKxLO P Q T WX[\ _ ` <c d e f@icHk <Pn Xq5`r5hs <p( " )' Xfcur <  <(<,40!8 <@H<P* r QS T < U < V Rx_e r| H~    <     (  <0  8  <@}<<  *:f<FL`fl  :`$ z" {.!.cur  <i <! "ns#+$ v$H$<%&Uv&T1&Q '+( $H$<%&Uv&T1&Q (+i$H$<)<&Uv&T1&Q &Rs*&UT&T1&Q &R0(+$H$<%&Uv&T1&Q}#+"$H$<%&Uv&T1&Q #+ $H$<%&Uv&T1&Q )&U &T &Q&R %&U &T &Q&R   5+<9( A    !I #+ )$H,<%&T1&Q &Rs&X}#+$H,<%&U &T1&Q&#+$H,<%&U &T1&Q()&&UT)2&Us&T=)2:&U}&T )>^&Uv&Ts&Q})>&Uv&Ts&Q}-&U|-&U|-&U|)&U &T &Q&R %&U &T &Q&R  I 59+U<{U&U?UYdocV W X! #+`Y$H,<%&T1&Q &Rs#+w $H,<%&T1#+ n $H,<#+g :$H,<%&U &T1&Q*)KR&Us)Xj&Uv)&Us&T|)e&U}&Ts.a)r&U|)&Us)&Uv)&Us)+&Uv)C&Uv)&U &T &Q[&R %&U &T &QZ&R   5/A0A!   5+<% <%#+!$H,<%&U &T1&Q".)&U R.N....1d<V0d0d<23$#+D$H,<%&T1&Q &RU#+E;$H,<%&U &T1&Q4(+F$H,<*&U &T1&Q3'A45%&U &T &QB&R 6Z 6C 76 )6 788L88888 876896 % U: ; 9 I$ > $ >   I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I : ;9  : ;9 I84: ;9 I?<.?: ; 9 '@B: ; 9 IB4: ; 9 IB 4: ; 9 IB!4I4" U#1RB X Y W $1B%1&B'1RB X Y W (1RB UX Y W )1*B1+.?: ; 9 'I@B,1-.1/.: ; 9 ' 0: ; 9 I1.?: ; 9 'I 423.1@B41 5 6.?<n: ; 9 7.?<n: ; 8.?<n: ;9 U^U^U^U^UUTVTVTUTVTTPRpPpS00PP V V  TVTUT V V VUVUVUVUVUUUUTTTTTTP\\\P\SSSS]]PSP]P^0P   USUSUUUUUT]T]T]TTQ\Q\Q\QQQQPVPVPSSPSP\P    UVUVUpUVTSTS URUUU   < /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hxpathInternals.hparser.hxmlversion.h KZ  ._ ` a J[I KIzz?gijjkBkOlacp@zelcAflcBf*>C g*>%D*g[EjeFGe$H.eYeyIeJeE*>Kg*>L g:oJpfhyqrmstucMeNcetuO!c2P7f?uP*<\>cQhgo*<{>Rg`fe 8$,PX....DL 2 3 4 599w"x6n?yDzZckSpfx , 1  1A 1 /% 0* 18 1F 1 M 1T 1I [ 1 b 1 i 1 p 1j u 1 1 1Z 1! 1 1W 1 1A 1R 1y 1  1 1 1* 17 1\D 1Q 1^ 1Uk 1x 1o 1 1 1 1G 1  1v 1  1  1A 1 1  1m! 1/ 1j; 1VC 1j 1 u 1  1  1\  1p 1 1P 1O 1 " 1( 1'. 14 1 : 1@ 1 F 1L 1R 1 X 1c ^ 1d 1 j 1ep 1 v 1&| 1` 1$ 1 1  1 1 1C 1!  1  1&  1 1  1-  1w 1S  16 1a  1 1D ( 1@ 6 17D 11R 1` 1*n 1" 1  1  1;  1  1p  1  1 1 1D  1@ * 178 11F 1T 1*b 1"~ 1  1 1  1 1  1 1 1  1 1D  1@  17- 11; 1I 1*W 1"s 1  15  1 1 1= 1/ 1 1N  1]  1 1 ) 17 1 N 1S 1_ 1R d 1?v 1l 1 1 1* 1D  1 1 1 1 1  1 1( 1D 6 1@ D 17R 11` 1n 1*| 1" 1 1  1 1 1J 1F 1++ 1L 1M r 1 1t 15 1 1 1~ 1 1u 1w 1 1B 1  1 1) 16 18C 1p P 1Q] 1Vj 1[w 1 1 1 1 1 1 1 1z 1 1h 19# 1/ 1L 1Z 1h 1v 1 1 1S 1 1 1 1J 1 1 1 1y 10  1\, 1 : 1H 1 V 1d 1`r 1j 1 1G 1 1g 1 1 1 1 1) 1 1 1( 17 1F 1gU 1Ld 1 s 1q 1 1 1 1y 1Q 1 1 1 1 1=  1. 1< 1 J 1X 1 g 1y 1  1 1: 1 1D 1 1  1 1k 1E  1 1m  1q 1m 15 1* 1D 7 1D 1Q 11^ 1k 1\x 1 1 1 1  1@ 1  1 1L 1@  1 1; 1Ka 1m 1\z 1@  1 1 1p 1 1  1. 1" 1 ; 1H 1 U 1rb 1[ i0 1 - - 1a - - - - 1 -U -Q - - 1* / -  -: -> -G -K -P2l@{hh -A -? -o -mhV /0 - - - - n-%=Z%nHw / -\ -Z - -] - - - -K'0L -P -Y -0] -.b~c9** 1 $; 1^F -kJ -SO 1Z -z^ -nc 1C n -r -w 1 - - 1 - - 1* -A -1 1* ^^ - -~.7S - W - ar -H  -F  ;#_FS* ./* O 1sZq 1| -  -t  1g -]  -M  1 -  -  -  -  1^ -g  -]  1  -  -  1*@ % -' ) -% 3I^g -U  -S  -  -  -  - ;%;>SNkj} ,CDlYfy*@*@ 17 1@  1*Y 1!98 1FC - G - L 1W -[ -d9Wm9W - -9tP99&9:9C9H 9|9, 1 = 19I 1[v -<z -2   - -&&& -  -C&8@CI /Y -] - gdxpddd *Y 1_ 1_ 1  1  1  1' 1'+ 1'3 177 17? 1 C 1 L 1P 1Y 1] 1f 1Tj 1Ts 1w 1 1 1 1 1 1 1 1W  1W  1 1 1 10g'g/A:ABBPBXckv~  0dd;%;-B;BCNVait|  !B"X-b5UV]hpn-b9@$9AbIThobwVn%%Vddn!)4<\BdboxBbK c08ks~WW^^   '5=)H)P.z"".$,Y7^?JR]epx/1J^J^AIT\goz  11J^~ " - H P [   = = Q Q     M M g g l l ' / ] e =p =x     M M ` ` l l    ' =2 =: E M [ c n v   M M Y Y l l x x  A M M ' / : B Mg Qo iz i     : : M      ' / : U ] h      ;  9 999J9J9Q)9Q19W<9WD9oO9oW9sd9sl9z999999O9O9Q9Q99W9tP<DOW%b%jdxd~~ &&C8Cd"p + 9COSd0V8n@HPX`hpxHh4h 9(99 <089.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9TFT9UFl9VF(9WF9X @8sp9&[,[6\T1@{9 L [ V@X}09 u  @}09AX X @}09,,@}0922s8@~09A`<@H~9O_\OW@879h6-{H9;v@09"I@@HH9$I@@9&K@`09(0R0.a.\aA\au\aL\a \a\a\a\a\a\a$`a <a`7@x97b :c hnMPK!!F& reader3.cnu[/** * section: xmlReader * synopsis: Show how to extract subdocuments with xmlReader * purpose: Demonstrate the use of xmlTextReaderPreservePattern() * to parse an XML file with the xmlReader while collecting * only some subparts of the document. * (Note that the XMLReader functions require libxml2 version later * than 2.6.) * usage: reader3 * test: reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) /** * streamFile: * @filename: the file name to parse * * Parse and print information about an XML file. * * Returns the resulting doc with just the elements preserved. */ static xmlDocPtr extractFile(const char *filename, const xmlChar *pattern) { xmlDocPtr doc; xmlTextReaderPtr reader; int ret; /* * build an xmlReader for that file */ reader = xmlReaderForFile(filename, NULL, 0); if (reader != NULL) { /* * add the pattern to preserve */ if (xmlTextReaderPreservePattern(reader, pattern, NULL) < 0) { fprintf(stderr, "%s : failed add preserve pattern %s\n", filename, (const char *) pattern); } /* * Parse and traverse the tree, collecting the nodes in the process */ ret = xmlTextReaderRead(reader); while (ret == 1) { ret = xmlTextReaderRead(reader); } if (ret != 0) { fprintf(stderr, "%s : failed to parse\n", filename); xmlFreeTextReader(reader); return(NULL); } /* * get the resulting nodes */ doc = xmlTextReaderCurrentDoc(reader); /* * Free up the reader */ xmlFreeTextReader(reader); } else { fprintf(stderr, "Unable to open %s\n", filename); return(NULL); } return(doc); } int main(int argc, char **argv) { const char *filename = "test3.xml"; const char *pattern = "preserved"; xmlDocPtr doc; if (argc == 3) { filename = argv[1]; pattern = argv[2]; } /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION doc = extractFile(filename, (const xmlChar *) pattern); if (doc != NULL) { /* * output the result. */ xmlDocDump(stdout, doc); /* * don't forget to free up the doc */ xmlFreeDoc(doc); } /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "Reader, Pattern or output support not compiled in\n"); return(0); } #endif PK!Vzzio1.onu[ELF>Pk@@=< 02/3.4-5Ht 1ø@USHHu7Ht2-HHH9NHc)-H[]fHHt,H=u1H1DH1HtH= GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignabfailed to register SQL handler failed to parse the including file

    List of people:

    sql:include.xmlXInclude processing failed GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSS RH HH5H=x^HHHE11HHHtH~LH=HH1[H H=H H=H #H= 5Cintmm 1% 3f 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D>` FDh Hfp Ift J tx MQ NX OJ QZ Y [e \p ]D ^ C _ ) `f bv + 9 Z51 ` k 5%  f   J<       <    x  C      ( 0 8doc <@ns H P X ` Ch Qp Qr  C      <( 0 8doc <@ CH CP CX C` h p Cx '< (C ) * + ,  -( .0 /8doc 0<@ 3fH 4fL :P ;X <` =h >pids ?Cx @CURL A Bf D EC Ff Hf  w o0   U   C  <(bo`  C      ( 0 8doc <@ns H P CX % &PC 9 B3 C ) M # C7 C) WC I X       7 cur f b  hfp doci!v k ":#.$H%U %T1%QO! ":#.$H%U %T1%QK!~ & ":#.$H%U %T1%Q#&S? %U R&_ %U %T %Q %R &k %Us&x %Us%Q %R0%X0& %Us& %Ts& %Us''&E %U1&\ %U1$%U1(VfWH )VC)V *lenV,f ptrW+ ]""" $%UT%TU%Qs $ &(Dfy ,DCU(3C; *URI3(#f* *URI#-C.E..)-dfH.d.d</01122u1]2 2 291 2f 0% U: ; 9 I$ >  7I$ >  I&I  : ; 9  : ; 9 I8 : ; 9 < I!I/ 4: ; 9 I?<!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I&'I'I4: ; 9 I4: ; 9 I4: ; 9 I4: ; 9 I?.?: ; 9 'I@B 4: ; 9 IB!1RB X Y W "1B#1$1%B&1'1(.: ; 9 'I@B): ; 9 IB*: ; 9 IB+1RB UX Y W ,: ; 9 I-.?: ; 9 'I 4.: ; 9 I/0.?<n: ; 1.?<n: ; 9 2.?<n: ;9 PSSPS   UTUUTPTTQSQUTUU s $ &Q s $ &TUPTUTUT<d /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio1.cstring_fortified.hstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hxmlIO.hstring.hparser.hxinclude.hstdlib.h KY   9\1 XK1.#1+%[.f  F,-./0Oelq.annobin_io1.c.annobin_io1.c_end.annobin_io1.c.hot.annobin_io1.c_end.hot.annobin_io1.c.unlikely.annobin_io1.c_end.unlikely.annobin_io1.c.startup.annobin_io1.c_end.startup.annobin_io1.c.exit.annobin_io1.c_end.exit.annobin_sqlClose.start.annobin_sqlClose.endsqlClose.annobin_sqlRead.start.annobin_sqlRead.endsqlRead.annobin_sqlOpen.start.annobin_sqlOpen.endsqlOpen.annobin_sqlMatch.start.annobin_sqlMatch.endsqlMatch.annobin_main.start.annobin_main.end.LC1.LC0.LC3.LC2.LC5.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_memcpymainxmlCheckVersionxmlRegisterInputCallbacksincludestrlenxmlReadMemoryxmlXIncludeProcessstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite @ZQ`;<; 8$,PXwwwwDL 2 3 4 599 S |',T7U?VN=UWeXpYxZ[\]^>_`^?_`^@_`! , 14 1h 1* /@% 0* 1\8 1? 1zM 1T 1=[ 1b 1p 1Bu 1 1 1 18 1X 1 1, 1 1 1 1 1 1l! 1l. 1; 1 H 1nU 1b 1$o 1| 1 1 1  1h 1 1 1 1e 15 1 1V  1 1& 12 1-: 1Aa 1l 1 1b 1 1 1$ 1\ 1 1 1 1% 1a+ 1I1 1L7 1= 1?C 1pI 1O 1U 1h[ 1a 1g 1m 1s 1Py 1r 1 1 1 1 1 17 1] 1r 1 1 1? 1 1 1 1 1, 1 1- 1; 1gI 1QW 1ce 1 1 1V 1 1 1 1C 1 1, 1 1! 1/ 1g= 1QK 1cY 1u 1 1 1K 1 1 1 1 1Z 1, 1 1 1$ 1g2 1Q@ 1cN 1j 1x 1 1 1 1K 1 19 1w 1- 1x 1  1. 1VE 1 L 1Q 1V 1c 1p 1~ 1c 1 1 1 1, 1] 1 1, 1  1 1% 1g3 1QA 1cO 1x 11 1 1 15 1 1 1 18 1Y 1Pe 1 q 1} 1| 1 1 1_  1 U 1 9 - - 9 98 -{< -yF 9W !8p 9y 9 - - 9 " 9 9 - - 9 !X' 9@ 90U b o  |  9C 9Y " 9i 9| 9 9" 9/ 9F 9] 9q 1d|  1] -  - 1 -r -j - - -( -  T / - - - - -' -# ^I 1zT k 1]z 15  -d -` 10  - - 1x 1& 1 1 1/ 1; 19I 1M 1#T 1X 1` 1d 1l 1`p 1`y 1} 1 1 1 1  1  1 1 1 1 1 1 1, 1, 1x 1} 9\9h9h%90989C9K9V9^9{99!899"99!X  OO&]1]9mGmOwr zLL]]mmw TTdmw($0O;OC]N]VmdmlwTWW]]^T]]^'T/]:]B^dlw + 9LTTT Y(^@HP9X99 4 `t9.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.8.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.data.rel.local.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupS@:AST:BSl:CS(:DS:E @?:&,6T1@X@: L[V@B0: u@8B0:A@hB0:  @B0:2` %2 - 8@B0:A<@B:TO@E:id@E: u!@h`:#%@@gH:%%p@Xg:'3&h@Hh0:)0)0y2.2A2u2L2 22222!212 I2D@xhx:8h3 ;P <hZPK!io2.cnu[/** * section: InputOutput * synopsis: Output to char buffer * purpose: Demonstrate the use of xmlDocDumpMemory * to output document to a character buffer * usage: io2 * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res * author: John Fleck * copy: see Copyright for the status of this software. */ #include #if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) int main(void) { xmlNodePtr n; xmlDocPtr doc; xmlChar *xmlbuff; int buffersize; /* * Create the document. */ doc = xmlNewDoc(BAD_CAST "1.0"); n = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL); xmlNodeSetContent(n, BAD_CAST "content"); xmlDocSetRootElement(doc, n); /* * Dump the document to a buffer and print it * for demonstration purposes. */ xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1); printf("%s", (char *) xmlbuff); /* * Free associated memory. */ xmlFree(xmlbuff); xmlFreeDoc(doc); return (0); } #else #include int main(void) { fprintf(stderr, "library not configured with tree and output support\n"); return (0); } #endif PK!T6o`xpath2.onu[ELF>@@<; /1.2-3,4HtHH=1HPH DH5H= GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath2.cnamefilenamexpathExprvaluenodes->nodeTab[i]Usage: %s Error: wrong number of arguments. Error: unable to parse file "%s" Error: unable to create new XPath context Error: unable to evaluate xpath expression "%s" GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSAWAVAUIATUSH4 RImMeMuHMMHHHHHH\HLH LxMtwAxoIwHcL,Hpids ?x @URL A B< D  E F< H< ^  oR w 0   u     E( `        ( 0 8doc E@ns H P X    % & ^ 9  *  B36 < K ) MW ] q ) W}        _  L XN O < P < Q R  S T < U( V0 W8 X <@ Y <D ZH [PM  Z    * * K  q '!. x, doc-.0 <1 <2 4 < 5 <$6(8 <09 <4: 8< <@= <D>HA PB <XC `F <hG <lJ <pKxLO P Q T WX[\ _ ` <c d e f@icHk <Pn Xq5`r5hs <p( " )' Xfcur <  <(<,40!8 <@H<P* r QS T < U < V Rx_e r| H~    <     (  <0  8  <@}<<  *:f<FL`fl  :`$ z" {."8 < i <!   5"U<2UU/UI docVW X!B  B 52CtC!   5t# <{_$ <$ _%- &&&'(((%aw&z&n'(()u*T|+*U *T *Q*R ,ep D&-v+*T1*Q *R~,eh &-v+*U *T1*Q*,ea&-v+*T1*Q *Rv)*Uv)0*Us)N*U~*Tv.)s*Uv)*Ts)*Us)*Uv)*Us)*Us)**U *T *Q\*R )i*U *T *Q[*R +*U *T *QZ*R ,e#&-v+*U *T1*Q".) **U R..&.G.G/d<dd<01GBu&T,eF&-v2*T1*Q *RU3GC4T'+*U *T *QD*R 5 %6C 6Z 75L55555 5 576596 % U: ; 9 I$ > $ >   I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I : ;9  : ;9 I84: ;9 I?<.: ; 9 ' : ; 9 I4: ; 9 I 4: ; 9 I!4I4".: ; 9 'I #.?: ; 9 'I@B$: ; 9 IB%1RB UX Y W &1B' U(41B)1*B+1,1RB X Y W -1.1/.?: ; 9 'I 401.1@B2B131RB UX Y W 41 5.?<n: ;9 6.?<n: ; 9 7.?<n: ; UUUUT]TT]T]\\\\\^^^^^VVVPSSPSPVVPVPP\\__1QR    URUUU <B{L /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hparser.hxmlversion.h Z .]! LY J( =J$ Xf/QP 1B$,B + , - .22{S)TXUlVWXYZ#[+\3]8^=_UNf7k`t# 58QN9PZ]N:`]N;P!#$-54<9Q@#$L5S=XQ_#$k5r>wQ % *\  *  * (% )* *8 *F *8 M *cT * [ * b *i *_ p * u *O *l *& * * *C *f * * *F *7  * * *p* *7 *;D *Q *^ *k *x ** * *W * *G *b  *U *t  *B  *- *o * *9! *v/ *%; *VC *Pj *h u *w  *  *  *i *} */ *; * " *x( * . *4 * : *q@ * F *L * R * X * ^ *d *k j *p * v *| *? * * * * *  * *  *  * * *  *  *2 * *6 *  * * ( * 6 * D *1R *` * n * *  *A  * * *  *  * * *  * * * 8 *1F *T * b *~ *E  * *c  * *O  * *m *  * *  *  * - *1; *I * W *s *<  *  * *N * *% *G * *  * *) *H7 *A N *BS *7_ * d *v *K *Q * *  *  * * * * *Z  * *( * 6 * D * R *1` *n * | * * * * *}  *$ *% * + *UL * r * * * * * *] * * * * * *  *Z *) *6 *C * P *+] *0j *5w *s *M *3 * * * * *, * *a *# */ *L *Z *h *v *W *| *  * *R * * *b * * *2 *  *, *n : *xH * V *d *:r *# * * * * *| *S * *X *) * * *( *7 *F *AU *1d *s ** * *_ * *+ *Q * * * * *  *c. *L< * J *X * g *y *,  * * *? *) *p *L  *  *8 *  * *  *] *G * ** * 7 *[D *Q *^ *wk *x * * * * *  *z  * * *  * *m; *a *m *z *  * *8 *O * * * *" *c ; *H *M U *+b * o *{ * *j * # * * *S * *J *Z  * )#(H *U * a * k# * 2 * & & *= &x &j29 (0 & & & &  &  & (0 &^! &T* &. &7 &J; &FD2M (p] &a &j &n &s (p| & & &  &22'#22 &q &o24I2R2n &r &|222 & &2X2\2p12O2\2 t2/272222=!!#(+2\@M`#(j2{{#(2R2R & &2o02#2-+2<82AE2xR2f * w * *r &1 &' & &""% (3 (8BI Vi#v *; z *;  *  *  *+ *+ *H  * * * *` *` *! *! *s *s * * * * *~ *~ * * *  *  * *' *b+ *b22"2"#2R12R92jD2jL2{x22"2"222R2R2c2c2}2}222{29%2702}82C2K2V2^2i2q2{29222222222{ 212s2&21292{^2_f2oq2oy2C2}222222s222C2}222#2+2J2R2]2e2222}2222}222 2(292A2L2T2q2y22222X2R2o019DL!W!_"m"u==B" $ 2""#B029827@2}H2P2X2{p2x22}2B22{2 42.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9?FT9@Fl9AF(9BF9C B@R9&,641@R9 LH[HV@HS09 u@xS09A@S09@S092 92  8@T09A {<@8TP9O1\3W@X@,9h({+v@Ȅ 9"1@@`H9$2@9&2P@X09(0(60D. EA Eu EL E  E E E E E E$ E <@Ex7@097E :N N9MPK!T@gg reader2.onu[ELF>`Y@@:9 -/,0+1*2 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONStAW RAVAUATUSHHHC1HHD$HHOfHH߉ŃHHHHHDHIHAHAHAHEIAUDH51XZMt@LL(~H51MH515 &u'Hu<H1[]A\A]A^A_HL$H=H1HL$H=H1HL$H=H1--%d %d %s %d %d %.40s... %s %s : failed to parse Unable to open %s Document %s does not validate  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E 9*C B36<CK) MW]CqC) W}<DI @ @ @ * * K   q c  j]a* ]a]* 0 h= I U b K to {   $$  U1 T  R Xv Y~ . 5  U1 T  Q| 0  U1 T  +  U:!  Us!  Us!  Us! . Us!+ F Us!7 ^ UsC U| !R " O T1 Q  R !V 4 " O T1 Q  R !Y # " O T1 Q  R![  U T0 QJ!h  Us$t  Us!  U R$ $ %;b &;'<(ret= a% &'')ka &k *)da &d&d<*+\ , -+ + + + + + + U+Z . I+ . + v+ .9+ % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!'I'I> I: ;9 ( ((.?: ; 9 'I@B: ; 9 IB1RB UX Y W 1B U41B1RB X Y W 1 B!1"1#1$1%.: ; 9 ' &: ; 9 I'4: ; 9 I(4: ; 9 I).?: ; 9 'I 4*+.?<n: ; 9 ,6-.?<n: ; ..?<n: ;9 UUTSTPPSSPSP1PVVSSPVVP\Q\     , U /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h! K!j  .!wX !w JZ\J$SXX@  U+< / P  \: :=tL Z :>X $ w   @< Y= tC; . __X dX [ J\Y I/ _ . p . s  Jprintf__off_txmlTextReaderNodeType_IO_read_ptrXML_PARSE_PEDANTIC_chainxmlStrdupFuncXML_PARSE_NODICT/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_t_shortbufXML_PARSE_NOXINCNODE_IO_buf_baseXML_PARSE_IGNORE_ENClong long unsigned intXML_PARSE_BIG_LINESreader_codecvtxmlTextReaderIsEmptyElementlong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobin_fileno_IO_read_endstreamFilelong int_flags_IO_buf_endstdin_xmlTextReaderputchar_IO_codecvt__printf_chkXML_PARSE_DTDATTR_offsetmainxmlTextReaderxmlCharxmlCleanupParserXML_PARSE_HUGEvalue_IO_markerunsigned int_freeres_bufxmlReallocFuncfprintfxmlMemoryDump__streamlong unsigned intxmlCheckVersionxmlFreeFuncxmlTextReaderHasValue_IO_write_ptrname__builtin_putcharsys_nerrprocessNodeshort unsigned intXML_PARSE_DTDLOAD_IO_save_basexmlFreeTextReaderXML_PARSE_OLD10xmlTextReaderDepthxmlMallocAtomic_lockXML_PARSE_DTDVALID_flags2_modestdoutxmlMallocXML_PARSE_NOWARNINGXML_PARSE_XINCLUDEXML_PARSE_OLDSAXxmlReallocfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_end_IO_lock_t_IO_FILE_old_offsetsys_errlist_markersxmlFreexmlTextReaderReadXML_PARSE_NSCLEANXML_PARSE_NOENTunsigned charshort intxmlTextReaderConstValue_IO_wide_data_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_PARSE_COMPACTreader2.clong doublecharxmlStrlen__off64_t_cur_column_IO_read_base_IO_save_endXML_PARSE_NONET__fmtXML_PARSE_NOBLANKSxmlTextReaderConstName__pad5_unused2stderrxmlMallocFuncXML_PARSE_SAX1_IO_backup_baseXML_PARSE_RECOVERXML_PARSE_NOCDATAargcxmlTextReaderIsValid_freeres_listXML_PARSE_NOERRORXML_PARSE_NOBASEFIX_wide_dataargv_IO_write_baseGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx TQGB B(A0A8GPXH`YXAPx 8C0A(B BBBA  . +  B/]y012 "$&(/01234.5-27<AF"K8P\l)*+,- #9Uk~.annobin_reader2.c.annobin_reader2.c_end.annobin_reader2.c.hot.annobin_reader2.c_end.hot.annobin_reader2.c.unlikely.annobin_reader2.c_end.unlikely.annobin_reader2.c.startup.annobin_reader2.c_end.startup.annobin_reader2.c.exit.annobin_reader2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.LC6.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlTextReaderIsValidxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++&E>FTGgHw-IJKLM.NO/N0N!P+Q8RASFTcUj1vVU2VU3V  #V # #k !% "* #8 #U? # H #pO #V #J] #~k #Up #| # # #  #^ #% #= #* #K # # # #e #) #6 #8C #+P #E] #5j #dw # # # # #K # # #; # # # #l #! #- #5 #\ #g # #q #r # # # # #<  # #w+ #L #'r #L # #` # # #Q # # #2 #[ # # #E #Z #N # #  # # #'% #. #7 #@ #L #Q #y] #;i #u #4 # # #w # #+ #   #F C =+= !    !) - 6 e: [C+fL !@\ ` e !@n r { f ^++  ++ !   +%:+C+_  c h+~++ N L+%+k+++/+G+_+y+[+[ x v+z+|+|   +""9+B+`8o+8+B+X+/+<+* +E +J1 #J> #J #c #p #| # # # #U #6 #L #U # # # # #n #n # # # # # $ # , #0 #8 #(< #(D # H # P #T #\ #` #i #<m #<u #y # # # #g #g # # #> #>+ +++C+K+)V+)^+Ei+Eq++=+A+A+@+[++E+N+N+Q+[+%+-+8+@+e+]m+fx+f+*+*+.+.+@+[++f+++*+t+{(+{0+;+C+*f+n+y++++++*++++ +(+3N+V+*a  x+[+|+|+" ++.+8+=+@ +[(+@+XH+[P+fX+`+h+*++++++d+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@749P759h769(77978!'1,@x507 GVQ@507 phh@507<<@607@8607 8@h607 @67,2 K;20 OO J@97[\n^i@PN7 ~00y@U07"`@@U7$0@V7&0>"Z0).))p)G)))))))) /)p*@W75X*(8C 2 W@PK!Sreader4nuȯ#! /bin/sh # reader4 - temporary wrapper script for .libs/reader4 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The reader4 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader4.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "reader4:reader4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "reader4:reader4:$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 () { if test -n "$lt_option_debug"; then $ECHO "reader4:reader4:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'reader4' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!˕tree1nuȯ#! /bin/sh # tree1 - temporary wrapper script for .libs/tree1 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The tree1 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree1.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "tree1:tree1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "tree1:tree1:$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 () { if test -n "$lt_option_debug"; then $ECHO "tree1:tree1:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'tree1' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!U3xpath1nuȯ#! /bin/sh # xpath1 - temporary wrapper script for .libs/xpath1 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The xpath1 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath1.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "xpath1:xpath1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "xpath1:xpath1:$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 () { if test -n "$lt_option_debug"; then $ECHO "xpath1:xpath1:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'xpath1' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!R@a@atree1.onu[ELF>R@@;: .0-1,2+3HtKUH-SHH{tH{H[0HuH[]@HSH1 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignnode type: Element, name: %s GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONStU RSHQH{11HHt#HHHZ1[]HSH51error: could not parse file %s  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 2@ns H P X ` Ch Lp Lr  C      2( 0 8doc 2@ CH CP CX C` h p Cx '2 (C ) * + ,  -( .0 /8doc 02@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w e0   K   C  2(Xe`  C      ( 0 8doc 2@ns H P CX  %FC 9 B3C ) M  C' C) W3 9 H       ' 3ap 3 a3 doc5 6f F L w  !U1!T " e !U R" !T0!Q0" !Uv# " !Uv# $Qf !%f % X &w !U1!Tv# 'ka (k )*\ * +q+ + +9% U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<!7I> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B: ; 9 IB4: ; 9 IB4: ; 9 IB1RB X Y W 1 1!B"1#1$.: ; 9 '@B%1RB UX Y W &1B'.?: ; 9 'I 4(: ; 9 I)*.?<n: ; 9 +.?<n: ;9 UUTSTS0PVPV0P0UUU0USSU <QpD@ /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h U  t   j'0J_X a t 3K \  tX Jt [ ]Z /  n %  printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basemainpsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLtree1.c_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetxmlDocGetRootElementxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypeXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_xmlDtdroot_element_lock_flags2_modecur_nodestdoutXML_PI_NODEprint_element_namesXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselementsxmlReadFile_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderra_nodeXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx ,QFHG \ AAE X,LpPFD x CAA   / '  <0Uo123Q7QK_p !#%')012345/6qv{*+,-.p *5.annobin_tree1.c.annobin_tree1.c_end.annobin_tree1.c.hot.annobin_tree1.c_end.hot.annobin_tree1.c.unlikely.annobin_tree1.c_end.unlikely.annobin_tree1.c.startup.annobin_tree1.c_end.startup.annobin_tree1.c.exit.annobin_tree1.c_end.exit.annobin_print_element_names.start.annobin_print_element_names.endprint_element_names.annobin_main.start.annobin_main.end.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE___printf_chkmainxmlCheckVersionxmlReadFilexmlDocGetRootElementxmlFreeDocxmlCleanupParser 0GB -Q$,Q ' ( ) *..pD(E8F@HGMH^1jB ! &' & &1 $0% %* &c8 &? &HH &vO &V &] &k &=p &| & &{ & &S & &' & &$ & & & &Z &+) &6 &C &MP &] &j &Tw & & & &o &N & & & & &U &  &\ &:! &- &5 &&\ &}g & &f &k &C & &A &  & &Q & &5! &' &1- &r3 &9 &? &E &K &6Q &QW &] &c &i &o &yu &{ &l & &I & &  & &% & &3 & & &x & & & & &# &m1 &&? &LM &j[ & & &* & & & & &9 & &  & &m% &&3 &LA &jO &k &y & & & & & & &. & & &  &m &&( &L6 &jD &` &n &| & & &F & &4 &V & &L & &p$ &*; &B &dG &L &cY &f &t &j & & & & & & & & &  &m &&) &L7 &jE &n &| & & &q & & &h &b( &#I &$U &a &m &[y & & . & " " & "E "= " " &A "$ " .W .W" , .nB M .f ., .< .D .L .Q &~  &J "u "o &b " " 8& $6 "=: ";? KY $g &x & & & & & & & & & &v &v & &. ...pE.M.X.`.Uk.Us.W.W.p.././.4.4.V.W.i.i.p$.,.<8.<@.CK.WS.pu}MMQ24 MM Q=4EMP  . 8Q08Q@.H.pO. P..symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@82>T83>l84>(85>86 Q@h208&!,!6$41@28 LX[XV@(308 u,,@X3082@308@3082   8@3082 p-@48@2p T O@48`bksin@hJh8!6@~@NH8#v`@O8%H@O08'0 ]0{(.(2(u(L( ((((( (( 4(x/@P086H)9A  0F8PEPK!.parse2.cnu[/** * section: Parsing * synopsis: Parse and validate an XML file to a tree and free the result * purpose: Create a parser context for an XML file, then parse and validate * the file, creating a tree, check the validation result * and xmlFreeDoc() to free the resulting tree. * usage: parse2 test2.xml * test: parse2 test2.xml * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #include /** * exampleFunc: * @filename: a filename or an URL * * Parse and validate the resource and free the resulting tree */ static void exampleFunc(const char *filename) { xmlParserCtxtPtr ctxt; /* the parser context */ xmlDocPtr doc; /* the resulting document tree */ /* create a parser context */ ctxt = xmlNewParserCtxt(); if (ctxt == NULL) { fprintf(stderr, "Failed to allocate parser context\n"); return; } /* parse the file, activating the DTD validation option */ doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID); /* check if parsing succeeded */ if (doc == NULL) { fprintf(stderr, "Failed to parse %s\n", filename); } else { /* check if validation succeeded */ if (ctxt->valid == 0) fprintf(stderr, "Failed to validate %s\n", filename); /* free up the resulting document */ xmlFreeDoc(doc); } /* free up the parser context */ xmlFreeParserCtxt(ctxt); } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION exampleFunc(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } PK!xpath1.cnu[/** * section: XPath * synopsis: Evaluate XPath expression and prints result node set. * purpose: Shows how to evaluate XPath expression and register * known namespaces in XPath context. * usage: xpath1 [] * test: xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res * author: Aleksey Sanin * copy: see Copyright for the status of this software. */ #include #include #include #include #include #include #include #include #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) static void usage(const char *name); int execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList); int register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList); void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output); int main(int argc, char **argv) { /* Parse command line and process file */ if((argc < 3) || (argc > 4)) { fprintf(stderr, "Error: wrong number of arguments.\n"); usage(argv[0]); return(-1); } /* Init libxml */ xmlInitParser(); LIBXML_TEST_VERSION /* Do the main job */ if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) { usage(argv[0]); return(-1); } /* Shutdown libxml */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return 0; } /** * usage: * @name: the program name. * * Prints usage information. */ static void usage(const char *name) { assert(name); fprintf(stderr, "Usage: %s []\n", name); fprintf(stderr, "where is a list of known namespaces\n"); fprintf(stderr, "in \"= =href2> ...\" format\n"); } /** * execute_xpath_expression: * @filename: the input XML filename. * @xpathExpr: the xpath expression for evaluation. * @nsList: the optional list of known namespaces in * "= =href2> ..." format. * * Parses input XML file, evaluates XPath expression and prints results. * * Returns 0 on success and a negative value otherwise. */ int execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList) { xmlDocPtr doc; xmlXPathContextPtr xpathCtx; xmlXPathObjectPtr xpathObj; assert(filename); assert(xpathExpr); /* Load XML document */ doc = xmlParseFile(filename); if (doc == NULL) { fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename); return(-1); } /* Create xpath evaluation context */ xpathCtx = xmlXPathNewContext(doc); if(xpathCtx == NULL) { fprintf(stderr,"Error: unable to create new XPath context\n"); xmlFreeDoc(doc); return(-1); } /* Register namespaces from list (if any) */ if((nsList != NULL) && (register_namespaces(xpathCtx, nsList) < 0)) { fprintf(stderr,"Error: failed to register namespaces list \"%s\"\n", nsList); xmlXPathFreeContext(xpathCtx); xmlFreeDoc(doc); return(-1); } /* Evaluate xpath expression */ xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx); if(xpathObj == NULL) { fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr); xmlXPathFreeContext(xpathCtx); xmlFreeDoc(doc); return(-1); } /* Print results */ print_xpath_nodes(xpathObj->nodesetval, stdout); /* Cleanup */ xmlXPathFreeObject(xpathObj); xmlXPathFreeContext(xpathCtx); xmlFreeDoc(doc); return(0); } /** * register_namespaces: * @xpathCtx: the pointer to an XPath context. * @nsList: the list of known namespaces in * "= =href2> ..." format. * * Registers namespaces from @nsList in @xpathCtx. * * Returns 0 on success and a negative value otherwise. */ int register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList) { xmlChar* nsListDup; xmlChar* prefix; xmlChar* href; xmlChar* next; assert(xpathCtx); assert(nsList); nsListDup = xmlStrdup(nsList); if(nsListDup == NULL) { fprintf(stderr, "Error: unable to strdup namespaces list\n"); return(-1); } next = nsListDup; while(next != NULL) { /* skip spaces */ while((*next) == ' ') next++; if((*next) == '\0') break; /* find prefix */ prefix = next; next = (xmlChar*)xmlStrchr(next, '='); if(next == NULL) { fprintf(stderr,"Error: invalid namespaces list format\n"); xmlFree(nsListDup); return(-1); } *(next++) = '\0'; /* find href */ href = next; next = (xmlChar*)xmlStrchr(next, ' '); if(next != NULL) { *(next++) = '\0'; } /* do register namespace */ if(xmlXPathRegisterNs(xpathCtx, prefix, href) != 0) { fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href); xmlFree(nsListDup); return(-1); } } xmlFree(nsListDup); return(0); } /** * print_xpath_nodes: * @nodes: the nodes set. * @output: the output file handle. * * Prints the @nodes content to @output. */ void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) { xmlNodePtr cur; int size; int i; assert(output); size = (nodes) ? nodes->nodeNr : 0; fprintf(output, "Result (%d nodes):\n", size); for(i = 0; i < size; ++i) { assert(nodes->nodeTab[i]); if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) { xmlNsPtr ns; ns = (xmlNsPtr)nodes->nodeTab[i]; cur = (xmlNodePtr)ns->next; if(cur->ns) { fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", ns->prefix, ns->href, cur->ns->href, cur->name); } else { fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", ns->prefix, ns->href, cur->name); } } else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) { cur = nodes->nodeTab[i]; if(cur->ns) { fprintf(output, "= element node \"%s:%s\"\n", cur->ns->href, cur->name); } else { fprintf(output, "= element node \"%s\"\n", cur->name); } } else { cur = nodes->nodeTab[i]; fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type); } } } #else int main(void) { fprintf(stderr, "XPath support not compiled in\n"); return 0; } #endif PK!a? ? reader2.cnu[/** * section: xmlReader * synopsis: Parse and validate an XML file with an xmlReader * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file * validating the content in the process and activating options * like entities substitution, and DTD attributes defaulting. * (Note that the XMLReader functions require libxml2 version later * than 2.6.) * usage: reader2 * test: reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #ifdef LIBXML_READER_ENABLED /** * processNode: * @reader: the xmlReader * * Dump information about the current node */ static void processNode(xmlTextReaderPtr reader) { const xmlChar *name, *value; name = xmlTextReaderConstName(reader); if (name == NULL) name = BAD_CAST "--"; value = xmlTextReaderConstValue(reader); printf("%d %d %s %d %d", xmlTextReaderDepth(reader), xmlTextReaderNodeType(reader), name, xmlTextReaderIsEmptyElement(reader), xmlTextReaderHasValue(reader)); if (value == NULL) printf("\n"); else { if (xmlStrlen(value) > 40) printf(" %.40s...\n", value); else printf(" %s\n", value); } } /** * streamFile: * @filename: the file name to parse * * Parse, validate and print information about an XML file. */ static void streamFile(const char *filename) { xmlTextReaderPtr reader; int ret; /* * Pass some special parsing options to activate DTD attribute defaulting, * entities substitution and DTD validation */ reader = xmlReaderForFile(filename, NULL, XML_PARSE_DTDATTR | /* default DTD attributes */ XML_PARSE_NOENT | /* substitute entities */ XML_PARSE_DTDVALID); /* validate with the DTD */ if (reader != NULL) { ret = xmlTextReaderRead(reader); while (ret == 1) { processNode(reader); ret = xmlTextReaderRead(reader); } /* * Once the document has been fully parsed check the validation results */ if (xmlTextReaderIsValid(reader) != 1) { fprintf(stderr, "Document %s does not validate\n", filename); } xmlFreeTextReader(reader); if (ret != 0) { fprintf(stderr, "%s : failed to parse\n", filename); } } else { fprintf(stderr, "Unable to open %s\n", filename); } } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION streamFile(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "XInclude support not compiled in\n"); return(0); } #endif PK!濶vv reader4.onu[ELF>h@@:9 -/,0+1*2UHSHfHÃtHHHHtLu HHH51[]@H=HH1[H]DH H=fhfH H[H=] GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignfailed to obtain document Failed to obtain URL %s: Failed to parse %s: Processed ok %s: failed to create reader GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSAUATUSHIA RI}11HHtuHAt1AD$I]MdH311HHHL9uHHtHH1H[]A\A]IMH=H1ӑ 5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 7@ns H P X ` Ch Lp Lr  C      7( 0 8doc 7@ CH CP CX C` h p Cx '7 (C ) * + ,  -( .0 /8doc 07@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w j0   P   C  7(]j`  C      ( 0 8doc 7@ns H P CX % &K 9C B3C) M  C C) W+ 1 @        c  j  5ab 5a5b 6 i7 a8 J  !"Ts"Q #  "U R# "T0"Q0#h "Uv#% "Uv"Q0"R0#h "Uv#2" "Uv$?#LG "Uv$X$e%  &) 'ret a('URL)ka &k *)da &d&d<*+h u , , , - 2  .q"U1"T - .  ."T1"Q  8*/  !}"U "T1"QE-h  u /0 0 0 1 $2  .}"U "T1"QJ# "Uv# "Uv!2"Uv3Z 34 I4 i4 4 3 v493 3\ 53 % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B: ; 9 IB4: ; 9 IB4: ; 9 IB1RB X Y W 1B 1!1"B#1$1%.: ; 9 ' &: ; 9 I'4: ; 9 I(4: ; 9 I).?: ; 9 'I 4*+.1@B,41B-1RB UX Y W .B1/ U04111RB UX Y W 213.?<n: ; 9 4.?<n: ;9 5.?<n: ; U\U\T]T]PVPV2P UVUVUP1PPPPPVQVRV   VU<R_ /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h4 4  Y !   X u\O9F :JF : FX : A6 Mt 3JMX 3 M 3 D:   Mt 3JM 3 Mt 3 X! 4K! l!zXOX^\g/ zXY  <v.]\YW <e printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrreader4.cnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modeprocessDocstdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesxmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLdocPtrreaderPtr_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODExmlReaderNewFileversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx @ADD K MFI K FMJ CKH8`FBA A(I0 (C ABBA   . +  B/]y012!9DX "$&(/01234.5jFo1ty~X)*+,-&-;BGWhy.annobin_reader4.c.annobin_reader4.c_end.annobin_reader4.c.hot.annobin_reader4.c_end.hot.annobin_reader4.c.unlikely.annobin_reader4.c_end.unlikely.annobin_reader4.c.startup.annobin_reader4.c_end.startup.annobin_reader4.c.exit.annobin_reader4.c_end.exit.annobin_processDoc.start.annobin_processDoc.endprocessDoc.annobin_main.start.annobin_main.end.LC3.LC2.LC1.LC0.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_xmlTextReaderReadxmlTextReaderCurrentDoc__printf_chkstderr__fprintf_chkfwritemainxmlCheckVersionxmlReaderForFilexmlReaderNewFilexmlFreeDocxmlFreeTextReaderxmlCleanupParserxmlMemoryDump D$D3EZ/sG0G1IG2hFHI ,$, & ' ( )--(K5LEoMwENOPQG3H %+ % %1 #% $* %c8 %? %[H %O %(V %] %k %9p %| % % %S %O % %# % % % % % %V %P) %6 %&C %P %] %j %~w % %  %= %o %x % % %{ %S %h %j % %! %L- %H5 %\\ %g % %b % % % %w % % % %  %& %g, %g2 %8 %&> %D %J %P %IV %\ %b % h %$n %;t %yz % %w %  % % %l %q % % % %S %3 % % %4 %  % % ( %6 %KD %HR %j` % % % % % % %a %p % % %  %* %K8 %HF %jT %p %~ % % % % % % %A % % %  % %K- %H; %jI %e %s % % % %B % %0 % % %  % %) %@ %G %L %Q %^ %k %y %j % % % % %  % % % %  %  %K. %H< %jJ %s % % % % % % %u %#C %H %7T %` %l %x %Q % %h % % - %6 ! ! % !o !g %> ! ! !4 !2 %7" !Z& !X/ -8 -T !X !}b -y X -, -9 -I -s -{ -# -0 -H -U -i %v %> %7 % %M % % %M  ! ! !2! !** !. !7 !; !D PM #] !Ya !Wf l| F p #P ! !  1   ! !  4 = #M !Q !V #n w #     ( 7 %^ %^  % % % %& %* %3 %;7 %;@ %D %M %^Q %^Y %] %f %j %r %v %~ % % % %--'-'#-].-]6-D-L-o-w-+-+------<-H-H-----4-I<-]Z-b---X  GG 2:EM*Y*a/lt7LGggkl!)4<YPallFl1  -PPT` a(f0g8pPpXw`{hpx--n- d-.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group/@74/T75/l76/(77/78 @x<P7&,641@=7 L[V@X>07 u@>072@>07t t @>072H u  8@?072 -@H?87E @@@7QkdS_@8[P7 tq#@o@bH7"# @b7$$V@pe07&0'(0#1.Q12Q1uQ1LQ1 Q1Q1Q1Q1Q1Q1 X1 %x1 @e07528C 9e6PK!PP parse2nuȯ#! /bin/sh # parse2 - temporary wrapper script for .libs/parse2 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The parse2 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse2.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "parse2:parse2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "parse2:parse2:$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 () { if test -n "$lt_option_debug"; then $ECHO "parse2:parse2:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'parse2' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!: test1.xmlnu[ PK!M reader1.cnu[/** * section: xmlReader * synopsis: Parse an XML file with an xmlReader * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file * and dump the information about the nodes found in the process. * (Note that the XMLReader functions require libxml2 version later * than 2.6.) * usage: reader1 * test: reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res * author: Daniel Veillard * copy: see Copyright for the status of this software. */ #include #include #ifdef LIBXML_READER_ENABLED /** * processNode: * @reader: the xmlReader * * Dump information about the current node */ static void processNode(xmlTextReaderPtr reader) { const xmlChar *name, *value; name = xmlTextReaderConstName(reader); if (name == NULL) name = BAD_CAST "--"; value = xmlTextReaderConstValue(reader); printf("%d %d %s %d %d", xmlTextReaderDepth(reader), xmlTextReaderNodeType(reader), name, xmlTextReaderIsEmptyElement(reader), xmlTextReaderHasValue(reader)); if (value == NULL) printf("\n"); else { if (xmlStrlen(value) > 40) printf(" %.40s...\n", value); else printf(" %s\n", value); } } /** * streamFile: * @filename: the file name to parse * * Parse and print information about an XML file. */ static void streamFile(const char *filename) { xmlTextReaderPtr reader; int ret; reader = xmlReaderForFile(filename, NULL, 0); if (reader != NULL) { ret = xmlTextReaderRead(reader); while (ret == 1) { processNode(reader); ret = xmlTextReaderRead(reader); } xmlFreeTextReader(reader); if (ret != 0) { fprintf(stderr, "%s : failed to parse\n", filename); } } else { fprintf(stderr, "Unable to open %s\n", filename); } } int main(int argc, char **argv) { if (argc != 2) return(1); /* * this initialize the library and check potential ABI mismatches * between the version it was compiled for and the actual shared * library used. */ LIBXML_TEST_VERSION streamFile(argv[1]); /* * Cleanup function for the XML library. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "XInclude support not compiled in\n"); return(0); } #endif PK!,No&& testWriternuȯ#! /bin/sh # testWriter - temporary wrapper script for .libs/testWriter # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The testWriter 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file testWriter.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "testWriter:testWriter:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "testWriter:testWriter:$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 () { if test -n "$lt_option_debug"; then $ECHO "testWriter:testWriter:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'testWriter' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!Jججparse2.onu[ELF>X@@:9 -/,0+1*2 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONStAT RUSHLcHHtc1LHHHtht!HH[1]A\H=L1HH "H=H=L1HFailed to allocate parser context Failed to parse %s Failed to validate %s 1" 5Eintmm1% 3f 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D>` FDh Hfp Ift J tx MQ NX OJ QZ Y [e \p ]D ^ C _ ) `f bv + 9 Z 51 ` k  5% f  E & @ } ~C y  g  raw  ( f0 f4 58  # h 4{buf 6 8 9 : cur ; end < ( = f0 > f4col ? f8 E5@ FH G P H X I f`id J fd $ &  sax O C v f f   ( f0 f4 {8 f@ fD UH VP fX f\ h` fh 7p f f f f f f   f    f( f, [0 m8 m@ fH fL fP  X  `  h ap fx f| a f { f f f f C f f C f f  [ f f       f f f [ a g   ( f0 f4 $f8 %f< &V@ 'fH (0P -X .2 /5 05 3+ 4f 5f 6+ 8f 95 '  )  A  B| C| D  E  *      > K X   ( 10 h8 u@ H P X 3` Qh ^p x     "   $ 1 $    <  C e   0  & 'C (  )  *T +T ,I( -T0 .T8doc /@ 1 H 2 P 3fX 4\ 5 ` 6 h 8pURI 9 x :f ; f 1   i  r  <        % <       ! I [   U!x O C     T T  T( T0 T8doc @ns aH  P CX a` Ch Qp Qraa I C     T T  ( T0 T8doc @ CH CP CX C`  h  p CxZ ' (C )  * +T ,T  -T( .T0 /T8doc 0@ 3fH 4fL :IP ;IX <g` = h > pids ?Cx @CURL A  Bf D EC Ff HfO<  < " ' 0#+0 2 3 4 5 c1 6 c2 7  8   9 ( 1+  w  0 a g      C  ( z` 0 C     T T  T( C0 C8doc @ns aH  P CX =mz a cI %O &i C <LXN O f P f Q R S T f U( V0 W8 X f@ Y fD ZCH [CPMCZ C ' %"9 &J-\ P*9PpRh S C Tg Us XV Yf Zf$ [h( ]<0doc^v8 _f@ baH cfP dfT eaXamh` i>hV<  n  2  T#( W+ X1 Z5 [5 \5 ]5 O `&C bx c5 d5 e+f n       x< 2  J  { f>! |Cm!fC ^!{C   jC    w  ! $C    >DhC f     C  ff I C f C     #3C  @FQC @ kqC [ C    )C f 5 @ J T ` j v    rxC   f[ff[ Cc!faaELy((g !         !s  6!fCf ?9@B3!C)M!C C)W!+ < D @"""""" "@"###### #@$2fa!%2f%2a!&g!=-!'t!()!)!*!* '!+!,!-T1-Q -R|*! i '!+!,!-U -T1-Q"*!& .! +!,!-T1-Q -R|/!0! -Us-T|-Q0-R@0!!-Uv,"-Us0"F!-U R/"/("1!23 4docv5df!2d2d<6Z 78 8 8 8 68 96% U: ; 9 I$ >  &I$ >  I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I! : ; 9 I8  : ; 9  : ; 9 I8 : ;9 I8 : ;9  : ;9 I8  : ;9 > I: ; 9 (  : ;9 I8 > I: ;9 : ;9 I'I ( !'I"(#($.?: ; 9 'I@B%: ; 9 IB&1RB UX Y W '1B( U)41B*1RB X Y W +1,1-B.1/1011.: ; 9 ' 2: ; 9 I34: ; 9 I44: ; 9 I5.?: ; 9 'I 46.?<n: ; 9 7.?<n: ; 8.?<n: ;9 UUTST\\PSSPSPVPVPV  , /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h! 1K!j  .!wX XZ[J ]  > \ \Y /bJ: .   4> parentnodeInfoTablastErrorexternalfatalErrorSAXFuncXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFunc_xmlNode_freeres_listrawconsumedXML_PARSE_OLD10xmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities_xmlStartTagXML_PARSE_DTDLOAD_flags2XML_PARSE_IGNORE_ENCbegin_pos_xmlNs_old_offsetetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORXML_PARSE_NSCLEANintSubseterrorcharactersendDocumentSAXFuncstartDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linexmlNewParserCtxtnexteXML_PARSE_UNKNOWNprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistXML_PARSE_NOCDATAinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedXML_PARSE_RECOVERfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYXML_PARSE_XINCLUDEgetParameterEntitySAXFuncserrorend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclparse2.cXML_PARSE_PEDANTICwarningSAXFunc_markersXML_XINCLUDE_ENDXML_PARSE_NOBASEFIX_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDexampleFuncfreeXML_PARSER_ENTITY_DECLnodememXML_PARSE_NOBLANKScodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntityXML_PARSE_DTDVALIDgetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodeXML_PARSE_DTDATTRxmlAttrvalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEXML_PARSE_HUGEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstr_xmlnsXML_ATTRIBUTE_IDXML_PARSE_NONETprocessingInstruction_IO_write_basexmlMallocFuncmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTXML_PARSE_NOENTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_idXML_PARSE_BIG_LINES_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtr_freeres_buf_IO_backup_baseXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_PARSE_NOERRORXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOMXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetxmlCtxtReadFilelinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONXML_PARSE_OLDSAXXML_PARSE_NOXINCNODEshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodeXML_PARSE_COMPACTxmlReallocgetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFXML_PARSER_IGNOREfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxt_vtable_offsetxmlEntityPtrXML_PARSE_NOWARNINGXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_infovstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlerdomaincontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFunchasExternalSubsetSAXFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdXML_PARSE_NODICTstartElementSAXFuncXML_PARSE_SAX1_chainvstatexmlAutomataStateFILEerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNselementsxmlParserCtxtPtr_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx ,QFA W CBA  . )  ?/Yt012 "$&(/01234.5#(-2>Ncw)*+,-%.annobin_parse2.c.annobin_parse2.c_end.annobin_parse2.c.hot.annobin_parse2.c_end.hot.annobin_parse2.c.unlikely.annobin_parse2.c_end.unlikely.annobin_parse2.c.startup.annobin_parse2.c_end.startup.annobin_parse2.c.exit.annobin_parse2.c_end.exit.annobin_main.start.annobin_main.end.LC2.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewParserCtxtxmlCtxtReadFilexmlFreeDocxmlFreeParserCtxtxmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite * $ % & '++A%B?CXD`EeFjGxH-IH.JH/I  #q # #7 !0% "* # 8 ##? # H #T #?[ #b #p #%u # # # # #E # #G # #Z #M # # #! # . # ; #H #FU #b #go #| # # #J #z #2 # #v # # #  #  # #& #02 #: # a #l # # # # #2 # #= #e  #  #* % #{2 #U ? #L #=f # s #r #! # #M # # #N # #Z ##. #'; #C H #(U #b #F| # #  # #  #( # #a # #( #F # #H* #7 #D #=Q #^ #|k #x #[ #> # #5 # #$ # #c  #. # # #5 #N$ #2 # @ #5N #-\ #qj #x #N #C # #f #Z  #  # # #v # #  #  # . #< #_ J #X #g #t v # # #  # #2  #o #Q #  # #  #  #* #09 #H # W #9f # u #I # # #R # #A # #N  # # #7  #i ) #8 # G #V #5e #t #z #n # # # # # # # # #  #C' #5 #*C #Q # _ #m #{ # #? #$ #; # # # # # #" #x #A # #D 1 #;? #M #r[ #i # w # # #A # # # # # #2 # # # # ' # 4 #A #N #h #|u # #Z #  #m # # #; # #Y #  #t #D4 #: # @ #F #d L #RR # X #^ #d #j #p #v #| #  #N #k #5 # #\ # #O #` # ## # # # #* # # #N #T  #T #" #/ #< #J #b # p #~ # # #  #  # # # #  #. #% #y3 ##A #[ #$i #w # # #  #  # # # #c # #x #Z #m- # ; #P #"^ #l #z # #  #  # # # # #F #h #( # " #0 #(L #h # v #2  #y #  #. # # # # #) #f # #  # # #;, #: #H #BV #~ # # # #|  # #/  # #c  # # #  # #) # 7 #E #S #* n #[ { #  # # # #  #  # # # # " #y1 # J #A W # j #w # # #Y #Y # # #H #1 # # # #" #z / #< #I #0V ##c # p # } ##  #%  #*  #  # #c #7  # # # . #: # ? # Q #P] #,h # t #T #  #~ #  #r # # #| # #[ #, #c  #( #5 #B #J[ #} #8 #o #  #M # # # # #i # # # #c # #8 #D #tQ #^ #Zk #= #z # #o #X #(  # #w # # #) # #H  # # # # # #L #  # # #  #& #, #3 #h? #kK # # #D # # % #2 #i # v # #^ # # 4 #R #_ # # # # # # #  # #7% # 2 #&? #L #Y #f # # #[ #f #.  # #& #3 #H@ #M # Z # h #$z #q # # #y #i  #g  #, #o8 # D # P #<\ #w #M} #  # #I  #  # #f #$ #g  # # #4  # #V # #| # #- #` #{  #k  # #  #w *+A #L P U #` Cd =m+$v !   !   N B+u+u  + + +5 9 C +T n +w +  +  +) +C!+\!+d.!+ G!+iT!+nh! #7 u! #! # ! #_! # ! # ! # ! # ! #! #! #n! #n! #! #! #U! #U" #8" #8" #" #" # " #)" #;-" #;+ +++C+K+V+^+,i+,q++$+d+u++,+B+B+o+u+ +++'+N+FV+Ta+Ti+dt+u|++++++++u+++ ++$+d+u+0+8++ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@709P719h729(73974!'1,@[07 GVQ@8[07 phh@h[07<<@[07@[07 8@[07 @(\7,2 #;2 +OF 5"J@]97[{.n1,i@87 ~30y@(07"3P@X7$/4@7&06i03Q.aQaQpaQGaQaQaQaQaQaQaQhQ /QH*@75Q8? X,@PK!\`io2nuȯ#! /bin/sh # io2 - temporary wrapper script for .libs/io2 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The io2 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io2.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "io2:io2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "io2:io2:$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 () { if test -n "$lt_option_debug"; then $ECHO "io2:io2:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'io2' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!E8} } tree2.cnu[/* * section: Tree * synopsis: Creates a tree * purpose: Shows how to create document, nodes and dump it to stdout or file. * usage: tree2 -Default output: stdout * test: tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res * author: Lucas Brasilino * copy: see Copyright for the status of this software */ #include #include #include #if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED) /* *To compile this file using gcc you can type *gcc `xml2-config --cflags --libs` -o tree2 tree2.c */ /* A simple example how to create DOM. Libxml2 automagically * allocates the necessary amount of memory to it. */ int main(int argc, char **argv) { xmlDocPtr doc = NULL; /* document pointer */ xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */ char buff[256]; int i, j; LIBXML_TEST_VERSION; /* * Creates a new document, a node and set it as a root node */ doc = xmlNewDoc(BAD_CAST "1.0"); root_node = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL); xmlDocSetRootElement(doc, root_node); /* * Creates a DTD declaration. Isn't mandatory. */ xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd"); /* * xmlNewChild() creates a new node, which is "attached" as child node * of root_node node. */ xmlNewChild(root_node, NULL, BAD_CAST "node1", BAD_CAST "content of node 1"); /* * The same as above, but the new child node doesn't have a content */ xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL); /* * xmlNewProp() creates attributes, which is "attached" to an node. * It returns xmlAttrPtr, which isn't used here. */ node = xmlNewChild(root_node, NULL, BAD_CAST "node3", BAD_CAST "this node has attributes"); xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar"); /* * Here goes another way to create nodes. xmlNewNode() and xmlNewText * creates a node and a text node separately. They are "attached" * by xmlAddChild() */ node = xmlNewDocNode(doc, NULL, BAD_CAST "node4", NULL); node1 = xmlNewDocText(doc, BAD_CAST "other way to create content (which is also a node)"); xmlAddChild(node, node1); xmlAddChild(root_node, node); /* * A simple loop that "automates" nodes creation */ for (i = 5; i < 7; i++) { sprintf(buff, "node%d", i); node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL); for (j = 1; j < 4; j++) { sprintf(buff, "node%d%d", i, j); node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL); xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes")); } } /* * Dumping document to stdio or file */ xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); /*free the document */ xmlFreeDoc(doc); /* *Free the global variables that may *have been allocated by the parser. */ xmlCleanupParser(); /* * this is to debug memory for regression tests */ xmlMemoryDump(); return(0); } #else int main(void) { fprintf(stderr, "tree support not compiled in\n"); return(0); } #endif PK!ٞuutree2.onu[ELF>Hg@@:9 -/,0+1*2 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSAWAVAUATUSH(Ht$|$ RdH%(H$1H=1H1HILHIH 1LH5H 1LH1H1LH 1LHHH5HHHHH51H1LH5LHHHHLH\$AH H1A1H1LIEAH Hߺ111HLAH HHEH5HAAuul|$H=~ HD$HxHLL1H$dH3%(u$H([]A\A]A^A_noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node)e 5inthh 1% 3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D>` FDh Hap Iat J ox ML NS OJ QZ Y { [e \p ]D ^ C _ ) `a bv + 9 Z51 ` k 5% a  E<       <    x  C      ( 0 8doc 7@ns H P X ` Ch Lp Lr  C      7( 0 8doc 7@ CH CP CX C` h p Cx '7 (C ) * + ,  -( .0 /8doc 07@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w j0   P   C  7(]j`  C      ( 0 8doc 7@ns H P CX   % &KC 9 B3  C ) M, 2 CF C) WR X g       F aOl aldoc"/ r}i aj aS  !"Us"T~"Q "R "Xv#!V R  !"Us"T1"Q "R "Xv"Y~$k "U R$ "U $ "U|"T0"Q "R0$ "U|"T}$ "U|"T "Q0"R $E "U}"T0"Q "R $t "U}"T0"Q "R0$ "U}"T0"Q "R $ "Us"T "Q $ "Us"T "Q $> "U|"T0"Q "R0$c "U|"T ${ "Us$ "U}$ "U}"T0"Qs"R0$ "U"T0"Qs"R0$"T $,,"T|"Q "R1$9D"U|%F%S%_ 5&"a'__s"(")*+ , , <, , , M, , S, , , ,9+ -% U: ; 9 I$ >  $ >  I7I&I  : ; 9  : ; 9 I8 : ; 9 < I!I/ 4: ; 9 I?<!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B: ; 9 IB4: ; 9 IB4: ; 9 IB4: ; 9 I1RB UX Y W  1B!1"B#1RB X Y W $1%1&.?: ; 9 'I 4': ; 9 I(: ; 9 I)*.?<n: ; +.?<n: ; 9 ,.?<n: ;9 -.?<nU}T}0P\\0P]]0PSPST0PP5Vvvv1^~^^ S S,ON /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h  7IXzX/X  =Ye=]zy4 v >_  / = Z] O 1 OfX 0! L  3  MU c X?]YJ...XX__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessprintfnext_shortbufxmlNewChildXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLbuff_fileno_IO_read_endencodinglong intoldNsparent_flagsxmlNewProp_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypesize_txmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocxmlMemoryDump_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t__builtin___sprintf_chk_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenxmlSaveFormatFileEncunsigned charXML_DTD_NODEnodeversionentitiesxmlNewDocNodeshort intxmlNewDocText_IO_wide_datanotationsnode1xmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributesxmlAddChildpropertiesXML_CDATA_SECTION_NODEdict__sprintf_chkXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATIONxmlCreateIntSubset__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTyperoot_nodeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENtree2.cXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx LOFBB B(A0F8G 8A0A(B BBBI  . '  </Uo012O "$&(/01234.5  #(-.247:<SBGYMcSgYk_eqkxqv|)*+,-O 5HT_my.annobin_tree2.c.annobin_tree2.c_end.annobin_tree2.c.hot.annobin_tree2.c_end.hot.annobin_tree2.c.unlikely.annobin_tree2.c_end.unlikely.annobin_tree2.c.startup.annobin_tree2.c_end.startup.annobin_tree2.c.exit.annobin_tree2.c_end.exit.annobin_main.start.annobin_main.end.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC1.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC0.LC18.LC2.LC19.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewDocxmlNewDocNodexmlDocSetRootElementxmlCreateIntSubsetxmlNewChildxmlNewPropxmlNewDocTextxmlAddChild__sprintf_chkxmlSaveFormatFileEncxmlFreeDocxmlCleanupParserxmlMemoryDump__stack_chk_fail * $ % & '++O<RC-HSQ.^TlUs/.V01W2W34W56X78X9 T:Y&Z6Z@;Z[iWy<[W=5>X?@\]^ _K`  #( # #* !0% "* #8 #? #EH #kO #V #] #k #;p #| # # # #Q # #% # # # # # #c! #. #; #,H #-U #b #o #E| # # #  #i #? # # # #W #R #  #M #& #2 #: #a #l # #o #S # # #! # # # #  #y& #k, #2 #Z8 #> #D #J #;P #3V #\ #yb #h #n # t #z # #u # # #f #C # # # # #l #9 #  #  # #  # #( #M6 #D #JR #d` # # #n # # # #e #7 # # # #M* #8 #JF #dT #p #~ # #W # # # # #+ # # # #M #- #J; #dI #e #s #~ # # #D # #2 #6 # #  # #) #n@ #G #L #Q #C^ #k #y #d # # #w # # # # # # #M  #. #J< #dJ #s #, # #  # #n # # # #! #_G #h #!t # # #; # # + #R   # @ <  x #1   #! N% B* #5 9 > #W +[ !i m v +: !   M K +^ q +p +p r p   +< xS +@l +L  +b  +p +    +/ .< F +f 4u + S : + Y  + g c + 0 k? +Z d +*| +: +m + + +-+E+ R+_+O #\ #f # # # # #- #- # # # # #S #S #s #s #X  #X # #  #b$ #b- #V1 #V: #> #G #K #T #uX #u` #2d #2+ +(+(+O@+H+?S+?[+O+;+]+]+a+a+1+8+O+;+k+k+o +o+3+8'+ON+;V+b+j+u+}+++++5+5+9+;+++)++++:3+:?+:G+R+Z+/g+8o+E|+J+O+p+p+p+++++5+8+O+:'+^2qM+:U+^r+pz+x+p+ ++:+S+Y+^0+8+O]+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@7A9P7B9h7C9(7D97E!'1,@<07 GVQ@<07 phh@=07<<@0=07@`=07 8@=07 O@=P7,2o ;23O3iJ@BH7[n" i@X]7 ~#0y@d07"$P@Hd7$e$@d7&0&0/.%0%0p%0G%0%0%0%0%0%0%0(0 /H0h*@d750 8P 9e@PK!xxpath2nuȯ#! /bin/sh # xpath2 - temporary wrapper script for .libs/xpath2 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The xpath2 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath2.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "xpath2:xpath2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "xpath2:xpath2:$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 () { if test -n "$lt_option_debug"; then $ECHO "xpath2:xpath2:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'xpath2' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!+4XXparse3.onu[ELF>I@@98 ,.+/*0)1 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSH RE11ɾHH=HtH1HH H=noname.xmlFailed to parse document u  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 7@ns H P X ` Ch Lp Lr  C      7( 0 8doc 7@ CH CP CX C` h p Cx '7 (C ) * + ,  -( .0 /8doc 07@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w j0   P   C  7(]j`  C      ( 0 8doc 7@ns H P CX % &KC 9 B3C ) M  C& C) W2 8 G       & )al  1     # S  ! ". #U #T1#QI$9 #U #T6#Q #R0#X0%F $S #U R%_ %l & '''a(doc)da. 'd'd<*+, u, -, 9- % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I4: ; 9 I.?: ; 9 'I@B1RB UX Y W 1B U41B 1RB X Y W !1"1#B$1%1&.: ; 9 ' ': ; 9 I(4: ; 9 I).?: ; 9 'I 4*+.?<n: ; ,.?<n: ;9 -.?<n: ; 9 66  PP ,lO /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h (PzPi \\Y gt __off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetxmlCharxmlCleanupParserxmlReadMemoryexample3FunccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_cur_column_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doublelengthparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_tdocument_IO_read_base_IO_save_endparse3.cXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx lHD A  - )  ?.Yt/01l!#%'./0123-4#( -2>Ncw()*+,l.annobin_parse3.c.annobin_parse3.c_end.annobin_parse3.c.hot.annobin_parse3.c_end.hot.annobin_parse3.c.unlikely.annobin_parse3.c_end.unlikely.annobin_parse3.c.startup.annobin_parse3.c_end.startup.annobin_parse3.c.exit.annobin_parse3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReadMemoryxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite ) # $ % &**l@,&-+A8B=CBDPEa.fF  "$ " "* 0% !* "\8 "? "@H "LO "V "] "xk "2p "| "~ "X " "H " " " " " " " "O "+) "]6 "C "#P "] "j "Sw " "9 " "h "M " " " " "M " "[ "! "- "5 "\ "rg " "[ "a "& " " " " "' "f  " & ", "2 "h8 " > "D "J "P ".V "-\ "Zb "h "n "t "rz " "a " "> "t " " " " "( " " "r " " "  " "( "C6 "&D "AR "c` " " " " " " " "E " " " "C* "&8 "AF "cT "p "~ " " "o "~ " " "& " " " "C "&- "A; "cI "e "s " "t " "; "g ") ", " ""  " "M) "@ "G ":L "]Q "9^ "k "y "c " "m " " " " " " " "C  "&. "A< "cJ "s " " "i " " " "D "Z' "H "T "` "l "1x " " " * *   @ <   *M *M $ . *j? T */i  {  *< * *A *F " " "F "p "! "/ "3 ": "> "G "RK "RT "X "` "d "m "xq "x* *<*M *l@*H*<S \*Md*lo */*;*M*i*M*j ***<*M*l0*8*l^* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6/*P60*h61*(62*63!'1,@P.06 GVQ@.06 phh@.06<<@.06@/06 8@@/06 l@p/6,2 ,@ y ;@`06L1h_Z@E6o0j@F06!P~@F6# @pG6%0R0%.K%K%pK%GK%K%K%K%K%K%K%P%  p%8@G64%7> P,G1PK!Qw@reader3nuȯ#! /bin/sh # reader3 - temporary wrapper script for .libs/reader3 # Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2 # # The reader3 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='s|\([`"$\\]\)|\\\1|g' # 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="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader3.o ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)" # This environment variable determines our operation mode. if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then # install mode needs the following variables: generated_by_libtool_version='2.4.6' notinst_deplibs=' ../../libxml2.la' else # When we are sourced in execute mode, $file and $ECHO are already set. if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then file="$0" # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO="printf %s\\n" 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/ that is used only on # windows platforms, and (c) all begin with the string --lt- # (application programs are unlikely to have options that 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 ../../libtool value, followed by no. 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" | /usr/bin/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" | /usr/bin/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 "reader3:reader3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 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 "reader3:reader3:$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 () { if test -n "$lt_option_debug"; then $ECHO "reader3:reader3:$LINENO: newargv[0]: $progdir/$program" 1>&2 func_lt_dump_args ${1+"$@"} 1>&2 fi exec "$progdir/$program" ${1+"$@"} $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" | /usr/bin/sed 's%/[^/]*$%%'` test "x$thisdir" = "x$file" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` while test -n "$file"; do destdir=`$ECHO "$file" | /usr/bin/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" | /usr/bin/sed 's%^.*/%%'` file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no 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 *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; .libs ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=`cd "$thisdir" && pwd` test -n "$absdir" && thisdir="$absdir" program=lt-'reader3' progdir="$thisdir/.libs" if test ! -f "$progdir/$program" || { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ test "X$file" != "X$progdir/$program"; }; then file="$$-$program" if test ! -d "$progdir"; then mkdir "$progdir" else rm -f "$progdir/$file" fi # 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 -f "$progdir/$file" exit 1 fi fi mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || { rm -f "$progdir/$program"; mv -f "$progdir/$file" "$progdir/$program"; } rm -f "$progdir/$file" fi if test -f "$progdir/$program"; then if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; 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 libtool documentation for more information." 1>&2 exit 1 fi fi PK!-- .libs/lt-io1nuȯELF> @8&@8 @@@@hh 00 0  HH H  DDStd Ptd\\QtdRtd00 0 /lib64/ld-linux-x86-64.so.2GNUGNUGNUL]VH̊+ڿ̎A  |BE)qX9* St 9 "c98 & ( -  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640>ui IULc0  8  @ @         ( p x                HH HtH5 % hhhhhhhhqhah Qh Ah 1h !%E D%= D%5 D%- D%% D% D% D%  D% D% D% D% D% DS RQH HH5\H=x^H H=HE11H[WHHtHW~LH= HHG1[H  H=1H p H= `H I #H=9f1I^HHPTL6H H= H= H H9tH Ht H= H5 H)HHH?HHtHe HtfD= u+UH=B Ht H=~ d] ]wHt 1 1ø@USHHu7Ht2- HHH9NHc)- H[]fHHt,H=u 1H1DH1HtH=fDAWIAVIAUAATL%4 UH-4 SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHabfailed to register SQL handler failed to parse the including file

    List of people:

    sql:include.xmlXInclude processing failed ;\ xX(88x(H$XzRx /D$4FJ w?:*3$"\tP(\WECD | CAD ;*E A DeFEE E(H0H8G@n8A0A(B BBBD @ r  X0 8 o0h  X 8 ooxooHoH P ` p  GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 / GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10 e GA$3p1113UGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY  GA*FORTIFYEGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS .shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hh(YaoHH.noxx`}B8  @ @   eXX hh]\((X0 08 8@ @H HX X    0 Z8 `l  %)PK!++ .libs/reader2nuȯELF>@8$@8 @@@@hh   (      DDStd Ptdhhh<<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNU{ayr-#E_A  |CEqX9<* jwS 9 "{.Oi0    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64`0ui ti L `            H P X ` h p x               HHy HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhhh% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% DtAW RAVAUATUSHHHC1HHD$~HHOfHH߉ŃeHHHHHDHIHAHAHA0HEIAUDH5w1,XZMt@L}L(~H5\1MH5s15 &u'Hu @8@8 @@@@hhp p ` ` `  x x x  DDStd Ptd@ @ @ <<QtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNUeeZ,Y d0,T A  |CEqX9* Sc 9 "o0     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640Lui ti `  h P p p                  HH HtH5: %; hhhhhhh% D% D% D% D% D% D% DtS RHH[11HHtHv1[H= HپH-f.1I^HHPTLFH H=h H=! H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= d ]wAWIAVIAUAATL% UH- SL)H_Ht1LLDAHH9uH[]A\A]A^A_ff.HHFailed to parse %s ;<ppX`zRx /D$4FJ w?:*3$"\ptHePw A DeFEE E(H0H8G@n8A0A(B BBB P p & 0  ` h o0h A   ooPoo*ox `pGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10 GA$3p1113@  GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*@ GA*GOW*GA$3a1 % GA*  GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYAao** noPP`}B00PPp@ @   ( ( @ @ < ` ` h h p p x x  x    0Z0``)PK!EP-P-.libs/lt-reader4nuȯELF> @%@8 @@@@hhHH 00 0  HH H  DDStd PtdDDQtdRtd00 0 /lib64/ld-linux-x86-64.so.2GNUGNUGNUJyBQЪmߕA  |CEqX9e* -v 9 "SR0 ? F  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640ui Wti cLo~0  8 ` @ @         p x               HH HtH5* %+ hhhhhhhhqhah Qh Ah 1h !%U D%M D%E D%= D%5 D%- D%% D% D% D%  D% D% D% DAUATUSHIA RDI}11HHtuHAt1AD$I]MdH311HHHUL9uHHtHH1A,H[]A\A]IMH= H1lf.1I^HHPTLFH H= H= H  H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= d ]wUHSHfHÃtHIHHHtLu HHH5t1[]$@H= HH1[H5]DH  H=kfhfH  H[H=]-f.AWIAVIAUAATL%d UH-d SL)H'Ht1LLDAHH9uH[]A\A]A^A_ff.HHfailed to obtain document Failed to obtain URL %s: Failed to parse %s: Processed ok %s: failed to create reader ;@|t\, \4l|zRx /D$4FJ w?:*3$"\@t@ADD K MFI K FMJ CKH8,FBA A(I0 (C ABBA DeFEE E(H0H8G@n8A0A(B BBB< ` @   (0 8 o0xh  X 8 ooooXoH @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 5 GA$3p1113%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYxxaoXX,nop}B8  0 0    E(( 88yDP0 08 8@ @H HX X    0 Z0 `` @$)PK!:d++ .libs/reader1nuȯELF>@8$@8 @@@@hh     (( (  DDStd Ptd<<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNU PQ+ %?A  |CEqX9'j* UbS 9 "{:i0   x libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64K0ui ti L              P X ` h p x               HH HtH5* %+ hhhhhhhhqhah Qh Ah 1h !h hhh% D%  D% D% D% D% D% D% D% D% D% D% D% D% D% D% D% DtAW RAVAUATUSHHHC11HH$HH-fDHHgHHHHHDHIHAHAHABHEIAUDH5Y1>XZMt@LL(~H5>1OH5U17 (H߉D$ D$ ujH1[]A\A]A^A_H $H=~ H1H $H=^ H1kf1I^HHPTLFH H=8 H= H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH=b Ht H=~ du ]wAWIAVIAUAATL%$ UH-$ SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HH--%d %d %s %d %d %.40s... %s : failed to parse Unable to open %s ;8ll @8@8 @@@@hhh h ` ` `  x x x  DDStd Ptd8 8 8 <<QtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNU?ǒ.UДȡTI A  |CEqX9* St 9 "c0     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/opt/alt/libxml2/usr/lib640Lui  ` p h 0 p p                  HH HtH5Z %[ hhhhhhh% D% D% D% D% D% D% DH R~E11ɾHH=HtHdz1HH  H=@1I^HHPTLFH H=h" H=A H: H9tH Ht H= H5  H)HHH?HHtH HtfD= u+UH= Ht H= yd ]wAWIAVIAUAATL% UH- SL)HWHt1LLDAHH9uH[]A\A]A^A_ff.HHnoname.xmlFailed to parse document ;<pxXXHzRx /D$4FJ w?:*3$"\pt0lHD A DpeFEE E(H0H8G@n8A0A(B BBBp 0 p   ` h o0h 0  ` oo8ooox @P`pGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* GA*GOW*GA$3a1  GA* GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhY0ao no88P}B``00p    08 8 <x x ` ` h h p p x x  x    0Z0``)PK!Xx&MM.libs/lt-testWriternuȯELF>@0F@8 @@@@hh88 << < t << <  DDStd Ptdh5h5h5ddQtdRtd<< < pp/lib64/ld-linux-x86-64.so.2GNUGNUGNUD7?&@ @I&+\XX<|CEqXf* ,PQkbz 9 "7:&Sv @ !0@ H@ 8@ @ @ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64@ii ti ui L,:< < p< < ? ?  ? ? ?  @ &0@ '8@ )> > > > > > ? ?  ?  ?  ?  (? 0? 8? @? H? P? X? `? h? p? x? ? ? ? ? ? ?  ? !? "? #? $? %HH/ HtH5z. %{. hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh %e, D%], D%U, D%M, D%E, D%=, D%5, D%-, D%%, D%, D%, D% , D%, D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%}+ D%u+ D%m+ D%e+ DH R^H=H=H=: H=i$1Hf.1I^HHPTLFH H=x* H=+ H* H9tH* Ht H=* H5* H)HHH?HHtH* HtfD=* u+UH=r* Ht H=' d* ]wAVAUATUSHdH%(HD$1HHHIHHH5DhIC|-<$Hc) IHDt$HL$HHHSxwT$D)uI$LpHc) HHc$HL$dH3 %(HH[]A\A]A^H51L1z) H=f1@MH<LDH5f1LsH==1zYU1SHoH11HHH@H5 HH5H=C>HHHHHt H( H5HHH5H]HH5H?H5aH=H5]HHH1]Ht H' H5XH01HH>H5=1HH*H5&vH5H=H5HHH.Ht H`' H5H=H5HHHpHt H"' HH5H+CH5H,HH5H1 HH-H5lyHH53HH:H5"H1HHH5wH/HH5H0xLHH5H&HHfXH[]HH=[]fDHH=[]fDHH=u[]fDHH=5[]fDHH=[]fDHH=[]fDHH=[]nfDHH=m[]VfDHH=[]>ZH=>[]/ff.@AUIATUSHH=KH1HHmHHH1H 1.H=H5 HH5r H=HHIH=?Mt L$ H5G H+3H6 H53 H5H$ H5 HH5 H= 4HH5HI1H=Mt Lx# H5 H1HH H5 |1HH H5 WH59 H= H5 HHI'oMt L" H5 H=` NH5Y HHI1Mt L" H{#H5% HH5 HH H5 H1 HH H5 ZHH5 H#+H H5 H]1HH< H5{ (H8H(H5Y HHI H5R HH;HH=,xWHxLH5 H=BHHt1H}H~HXH[]A\A]H=H[]A\A]*f.HH= []A\A] f.HH=][]A\A]f.H=H=H={@AT1IUSHdH%(HD$1HH11HD HHpH55 H!)H5 H=k fHHH(`Ht H H5HHH5HHH5HgH5H=H5 HHH1Ht H' H5H@H1HHfH5e+1HHRH5N~H5H=?;H5:HHH>Ht H H5H=H5HHHHt HJ H*"H5HS[H5H<DHH5H.1 HHUH5 HH5[HHbH5JH,1HHH5*H?7H/'H5HXxdHH5HNHHH.H4$LHH<$ H=y HD$dH3%(H[]A\H= fH= fH= fH=Q fH=1fH= {H= |cH=)dKH=KN5fAUIH=ATUSHH=LH1H1HH-HHHHVHH1H=jHHmH1H1H=|KH5nH=HHIH=Mt L H5CH'/H2H5/HH H5HH5H=0HH5HI1H=Mt Lt H5H1HHH5x1HHH5SkH55H=H5HHI#KMt L H5H=\JH5UHHI Mt L HwH5!HH5HHH5H{1 HHH5VnH~H5H'HH5H91HH8H5wHH|H5UHHEH5NHH7HH=0 x3HtLHHHBXH[]A\A]H= H[]A\A]Jf.HH= []A\A]*f.HH=U []A\A] f.H= H= H=A {@AWIAVIAUAATL% UH- SL)H'Ht1LLDAHH9uH[]A\A]A^A_ff.HHConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<>HEADER%010dX_ORDER_ID%dCUSTOMER_IDMllerNAME_1JrgNAME_2ENTRIESENTRYARTICLEENTRY_NOFOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s' ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets. testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d hXx4hX@zRx /D$48 FJ w?:*3$"\0@tx`FBB A(A0D@ 0A(A BBBI AECD G DAH D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAE AHAp\@lFEA A(D0 (D ABBL K (A ABBO D (H ABBO D (H ABBO 0    oox oo o< P`p 0@P`p 0@PGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113p(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1E) GA$3p1113(5)GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY( GA*FORTIFY(%)GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go00<Q pp Yao  Xnox x } B @@ ``pp8)8) H)H) h5h5d55< << << << <> >H@ @ @ @( 0@ZH@``@E)PK!5؅++.libs/lt-tree2nuȯELF>@8$@8 @@@@hh    00 0  DDStd Ptd   <<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUŎIWsF9Þ $v@ |CEqXq* Ka 9 ."=Sp ] d libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64@ti uii ui L   ( (         X ` h p x               HHi HtH5 % hhhhhhhhqhah Qh Ah 1h !h hh% D% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E DAWAVAUATUSH(Ht$|$ RdH%(H$1H=t1H1HILHIH g1LH5VhH Y1LH_1HW1LmH L1LHYUHH5LHH|HHAH5>f1H41LH5DLHHHHLH\$vAH H1Ar1H1LIEAH Hߺ1?11HLAH !HHEH5HAAuul|$H=~ HD$HxHZLLIo1H$dH3%(u$H([]A\A]A^A_A1I^HHPTLFH H= H= H H9tH Ht H= H5 H)HHH?HHtH HtfD=y u+UH=b Ht H= YdQ ]wAWIAVIAUAATL%, UH-, SL)H_Ht1LLDAHH9uH[]A\A]A^A_ff.HHnoyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`pppX HzRx `/D$4FJ w?:*3$"\LtOFBB B(A0F8G 8A0A(B BBBI DeFEE E(H0H8G@n8A0A(B BBB (  ` H   o0`  @   ooooo0  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1`  GA$3p1113 EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*  GA*GOW*GA$3a1UGA*E GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go000Q ``@Yao0no`}  B` `    HH XX  <``    ( (0 0@ @    0 Z `` #)PK!A/++.libs/lt-reader1nuȯELF>@8$@8 @@@@hh((     (( (  DDStd Ptd<<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUHF& =vbA  |CEqX9'j* UbS 9 "{:i0   x libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64K0ui ti L              P X ` h p x               HH HtH5  %  hhhhhhhhqhah Qh Ah 1h !h hhh% D% D% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u DtAW RAVAUATUSHHHC11HH$HH-fDHHgHHHHHDHIHAHAHABHEIAUDH5Y1>XZMt@LL(~H5>1OH5U17 (H߉D$ D$ ujH1[]A\A]A^A_H $H=^ H1H $H=> H1kf1I^HHPTLFH H=8 H= H H9tH Ht H= H5 H)HHH?HHtHe HtfD=} u+UH=B Ht H=^ dU ]wAWIAVIAUAATL% UH- SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HH--%d %d %s %d %d %.40s... %s : failed to parse Unable to open %s ;8ll @8$@8 @@@@hh PP P  hh h  DDStd Ptd <<QtdRtdPP P /lib64/ld-linux-x86-64.so.2GNUGNUGNUj,i_(U%YX@ I|CEqX*  9 j"|S    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 Lii ,ui 6ti BP  X  ` `                      HH HtH5z %{ hhhhhhhhqha% D% D% D% D% D% D% D% D% DUH=0SH(dH%(HD$11H1HHDH5HHbHH7HT$ HHt$HT$H51H|$E HHL$dH3 %(u H(1[]1I^HHPTLFH H= H= H H9tH Ht H= H5 H)HHH?HHtHu HtfD=u u+UH=R Ht H= 9dM ]wAWIAVIAUAATL%T UH-T SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HH1.0rootcontent%s;<p pX`(zRx /D$4FJ w?:*3$"\,tEHD@ CAA DxeFEE E(H0H8G@n8A0A(B BBB ` N  X P X o0h  x 0 oooooh  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p11130 U GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*0 GA*GOW*GA$3a1 e GA* U GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYao$no`}00B  0 0 %X X h h  < P PX X` `h hx x    0 Z `` #)PK!uܸ-- .libs/io1nuȯELF> @8&@8 @@@@hhPP 00 0  HH H  DDStd Ptd\\QtdRtd00 0 /lib64/ld-linux-x86-64.so.2GNUGNUGNU:X>IfJOA=A  |BE)qX9* St 9 "c98 & ( -  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib640>ui IULc0  8 p @ @         ( p x                HH HtH5J %K hhhhhhhhqhah Qh Ah 1h !%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% DS RQH HH5\H=x^H  H=HE11H[WHHtHW~LH= HHG1[H  H=1H  H= `H y #H=9f1I^HHPTL6H H= H=  H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH=r Ht H= d ]wHt a 1ø@USHHu7Ht2-0 HHH9NHc)- H[]fHHt,H=u 1H1DH1HtH=fDAWIAVIAUAATL%d UH-d SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHabfailed to register SQL handler failed to parse the including file

    List of people:

    sql:include.xmlXInclude processing failed ;\ xX(88x(H$XzRx /D$4FJ w?:*3$"\tP(\WECD | CAD ;*E A DeFEE E(H0H8G@n8A0A(B BBBD p @ r (0 8 o0h  X 8 ooPoooH 0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 5 GA$3p1113%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY  GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS .shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hh(Yao.noPP`}B8     e(( 88]\X0 08 8@ @H HX X    0 Z8 `l  %)PK!^m4--.libs/lt-xpath1nuȯELF>0@0&@8 @@@@hh88   0 (( (  DDStd Ptd\\QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUo:LGB5kSA K|BE)qX9@* S2r 9 c"s`\@ (  N0  U libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64(0ui ti L              ( 0 P X ` h p x               HH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhh% D% D% D% D% D% D% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 DUGSHHwB R 1҃t$HsH{VxC}X1H[]HSH " "H=! |H;H;f1I^HHPTLH _H=H H= H H9tHn Ht H=q H5j H)HHH?HHtH5 HtfD=] u+UH= Ht H=. d5 ]wHHt[HH= 1HZ4H  H=-3H  HH= H . BH5H=3ff.fAVAUATUSHjHBHHIHH fDH< ttk=HHLh LHt*LHHLpu7MtLLHHuL 1[]A\A]A^H= MH1HLL []A\A]A^H d &H=LM []A\A]A^H 0 (H=eH iH5!H=,H JH5H=rfAVAUATUSHIHH\1HHIFHHJSL-L$OAH@HHHHIоHH1I9t`IFHHHD@HPAuHHqHHyHHHtXHLNIоWHH1NXZI9u[]A\A]A^fDHѾLH1#rfDIIоHH1KHѾH1H&f[H1]HA\A]1A^H iH5AH=nH JH5"H=4fAUATUSHHEIHHIRHHttHHHMtLH&HLIHtYHxH5 LsHH1H[]A\A]H=? Hپ1H~LHH= 1H-HLHH *H=B5H}bH ,[H5H=O4H ZH5H='DAWIAVIAUAATL%D UH-D SL)HgHt1LLDAHH9uH[]A\A]A^A_ff.HHxpath1.cxpathCtxnsListoutputResult (%d nodes): nodes->nodeTab[i]= element node "%s:%s" = element node "%s" = node "%s": type %d filenamexpathExprUsage: %s [] where is a list of known namespaces in "= =href2> ..." format Error: unable to strdup namespaces list Error: invalid namespaces list format Error: unable to register NS with prefix="%s" and href="%s" = namespace "%s"="%s" for node %s:%s = namespace "%s"="%s" for node %s Error: unable to parse file "%s" Error: unable to create new XPath context Error: failed to register namespaces list "%s" Error: unable to evaluate xpath expression "%s" Error: wrong number of arguments. print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\ px`Pp``zRx /D$4 FJ w?:*3$"\tDO Q `FBB A(A0 (A BBBA j (F BBBA g (F BBBA X8FBB A(A08M@R8A0F (A BBBG i (F IGDE 8P{FBA A(D0 (A ABBA ,EDG ~ AAA DeFEE E(H0H8G@n8A0A(B BBB  ( H (  o0p  8   ooXooo(  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1H _ GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1`5 GA$3p1113%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY  GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS .shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go00<Q ppY ao8noXXP}B H H p p   (( @@\      ( (8 8   0 Z@ `` %)PK!T˸++ .libs/tree2nuȯELF>@8$@8 @@@@hh``    00 0  DDStd Ptd<<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUyUhStc5/4@ |CEqXq* Ka 9 ."=Sp ] d libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64@ti uii ui L   `( (         X ` h p x               HH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hh% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e DAWAVAUATUSH(Ht$|$ RdH%(H$1H=t1H1HILHIH g1LH5VhH Y1LH_1HW1LmH L1LHYUHH5LHH|HHAH5>f1H41LH5DLHHHHLH\$vAH H1Ar1H1LIEAH Hߺ1?11HLAH !HHEH5HAAuul|$H=~ HD$HxHZLLIo1H$dH3%(u$H([]A\A]A^A_A1I^HHPTLFH H= H= H  H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= Ydq ]wAWIAVIAUAATL%L UH-L SL)HWHt1LLDAHH9uH[]A\A]A^A_ff.HHnoyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`pppX HzRx `/D$4FJ w?:*3$"\LtOFBB B(A0F8G 8A0A(B BBBI DeFEE E(H0H8G@n8A0A(B BBB `(  8 (   o0`  @  oooobo0 p  0 @ P ` GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18  GA$3p1113p %GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p  GA*GOW*GA$3a15GA*% GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go000Q ``@Yaobb0no`}B8 8 ` ` p p p p (( 88<@@    ( (0 0@ @    0 Z `` #)PK!ҊkPP.libs/lt-tree1nuȯELF> @@8 @@@@hh8 8 ` ` `  x x x  DDStd Ptd DDQtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNU0j;<\~W8dF @  |CEqX* Sc 9 "o   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640Lui  ti `  h @ p p                 HH HtH5J %K hhhhhhh% D% D% D% D% D% D% DtU RSHQH{11HHt#HHHdZ1[]HSH51"1I^HHPTLH /H=h H=1 H* H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= d ]wHtKUH-SHH{tH{H[0HuH[]@HSH1f.DAWIAVIAUAATL%T UH-T SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHnode type: Element, name: %s error: could not parse file %s ;Dxp`0`zRx x/D$4FJ w?:*3$"\Xp,tQFHG \ AAE X,pPFD x CAA DeFEE E(H0H8G@n8A0A(B BBB8 @ p %  h ` h o0` k  x ooXoo4ox P`pGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1  GA$3p11130 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 u GA$3p1113 e GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY U GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go000Q ``hYkao44noXX`}Bxx  @@p0 0 5h h x x H D  0` ` h h p p x x  x   0Z``@)PK!ȸ++.libs/lt-reader3nuȯELF> @8$@8 @@@@hh(( 88 8  PP P  DDStd Ptd<<QtdRtd88 8 /lib64/ld-linux-x86-64.so.2GNUGNUGNU;Ki.A  |BE)qX9 * 7 9 ("pS\8 I ( P ! libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64PaoL}ui ti 8  @  H H         ( x               HH HtH5 % hhhhhhhhqhah Qh Ah 1%M D%E D%= D%5 D%- D%% D% D% D%  D% D% D% DATL%UH-SuHnLf RC11HHH1LHx[f.H(tubHHH\HtH= HH+[1]A\H= MH1HoH=f H1HPHH=? H1H)1I^HHPTLFH H= H= H H9tH Ht H= H5 H)HHH?HHtHe HtfD= u+UH=B Ht H= d] ]wAWIAVIAUAATL%, UH-, SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHpreservedtest3.xml%s : failed to parse Unable to open %s %s : failed add preserve pattern %s ;<hp8Xx(zRx /D$4FJ w?:*3$"\,t@FHH  CBA D eFEE E(H0H8G@n8A0A(B BBBH H  0 h8 @ o0xh  `     oooopoP ` p  GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10 / GA$3p1113 eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* GA*GOW*GA$3a10 uGA* e GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hhYxxaopp,no}  B  0 0 P P   hh xxp<((8 8@ @H HP P` `    0 Z8 `` #)PK!0ڸ.libs/lt-parse1nuȯELF> @8@8 @@@@hh ` ` `  x x x  DDStd Ptdp p p <<QtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNU3`ۭV{06 A  |CEqX9* Sc 9 "o0     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640Lui ti `  h  p p                  HHq HtH5  %  hhhhhhh% D% D% D%} D%u D%m D%e DtS RHH[11HHtHv1[H=a HپH-f.1I^HHPTLFH H=h H= H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH=b Ht H= du ]wAWIAVIAUAATL%t UH-t SL)HWHt1LLDAHH9uH[]A\A]A^A_ff.HHFailed to parse %s ;<ppX`zRx /D$4FJ w?:*3$"\ptHePw A DeFEE E(H0H8G@n8A0A(B BBB p & X H ` h o0h l   ooxooTox GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1X GA$3p1113p E GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p GA*GOW*GA$3a1 U GA* E GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYlaoTT noxx`}BXX pp p H H X X p p < ` ` h h p p x x  x    0Z0``)PK!]^0P-P- .libs/parse4nuȯELF>p @%@8 @@@@hh (( (  @@ @  DDStd PtdPPPDDQtdRtd(( ( /lib64/ld-linux-x86-64.so.2GNUGNUGNUo (P"Wi[A  |CEqX9* a 9 " SqC8 0 7  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 LHii Wui ati m( P0 8 8       h p x                 HH HtH5R %S hhhhhhhhqhah Qh Ah 1h !h %m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D%  D% DAUATUSHdH%(HD$1tHT$dH3%(^H[]A\A]H RH{H5H HLcH\$H MH11HHuD1ɉHHH1HHDmHH]EtdHVH=_ p1H=2 L1HHKH= H1H= L1HzH  "H=K`1I^HHPTLfH H=8B H=a HZ H9tH. Ht H=1 H5* H)HHH?HHtH HtfD=  u+UH= Ht H= d ]wHH  HÐAWIAVIAUAATL% UH- SL)H/Ht1LLDAHH9uH[]A\A]A^A_ff.HHrbFailed to parse %s Failed to create parser context ! ;Dx `0XzRx /D$40FJ w?:*3$"\tPDZ<FBA A(D@r (A ABBA DeFEE E(H0H8G@n8A0A(B BBB@P8 y ( 0 o0h  P P ooXoo$o@  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1  GA$3p1113GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hh(Yao$$.noXX`}BP    % HPPD(( (0 08 8@ @P P    0 Z8 `` @$)PK!zP-P-.libs/lt-xpath2nuȯELF>@%@8 @@@@hh     00 0  DDStd PtdDDQtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUMK_5 }UE:A  |BE)qX9.* S ` 9 sQ"`J8 r <( y C libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640ui ti L `   ( (         ( X ` h p x               HH HtH5R %S hhhhhhhhqhah Qh Ah 1h !h hh%M D%E D%= D%5 D%- D%% D% D% D%  D% D% D% D% D% D% D% DAWAVAUIATUSH4 R#ImMeMuHMMHHHH HH\HLYH LxMtwAxoIwHcL,HnodeTab[i]Usage: %s Error: wrong number of arguments. Error: unable to parse file "%s" Error: unable to create new XPath context Error: unable to evaluate xpath expression "%s" usageupdate_xpath_nodesexample4;@Lt\\\\zRx x/D$4FJ w?:*3$"\tBcH{FBB E(A0A8DP2 8A0A(B BBBA DeFEE E(H0H8G@n8A0A(B BBB(` (  8   o0h  @ H X ooooo0  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1  GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1E GA$3p11135GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY%GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hhpYao4noP}XXBH H     588 PPQD0   ( (0 0@ @    0 Z8 `` @$)PK!k++.libs/lt-parse2nuȯELF>p @8$@8 @@@@hh HH H  `` `  DDStd PtdD D D <<QtdRtdHH H /lib64/ld-linux-x86-64.so.2GNUGNUGNU֛.x8)PA  |CEqX9* S 9 "uc0    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640L-ui <ti HH P P  X X                      HH HtH52 %3 hhhhhhhhqhah Q% D% D%} D%u D%m D%e D%] D%U D%M D%E DtAT RUSH`LcGHHtc1LH]HHtht!H4HgR[1]A\H= L1HH  "H=/H= L1Hf.@1I^HHPTLFH H=B H=a HZ H9tH. Ht H=1 H5* H)HHH?HHtH HtfD=  u+UH= Ht H=& d ]wAWIAVIAUAATL% UH- SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHFailed to allocate parser context Failed to parse %s Failed to validate %s ;8lL,T$zRx /D$4FJ w?:*3$"\,tQFA W CBA D8eFEE E(H0H8G@n8A0A(B BBB`P  X T  H P o00h  p (P ooooo` P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* b GA*GOW*GA$3a1 GA*` GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhY00ao&no`}PPB((  @ @   E  [D D < H HP PX X` `p p    0 Z0 `` #)PK!?:P-P- .libs/reader4nuȯELF> @%@8 @@@@hh 00 0  HH H  DDStd PtdDDQtdRtd00 0 /lib64/ld-linux-x86-64.so.2GNUGNUGNUur d] ChA  |CEqX9e* -v 9 "SR0 ? F  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/opt/alt/libxml2/usr/lib640ui Wti cLo~0 p 8 0 @ @         p x               HH HtH5Z %[ hhhhhhhhqhah Qh Ah 1h !% D%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% DAUATUSHIA RDI}11HHtuHAt1AD$I]MdH311HHHUL9uHHtHH1A,H[]A\A]IMH= H1lf.1I^HHPTLFH H=" H=A H: H9tH Ht H= H5  H)HHH?HHtH HtfD= u+UH= Ht H= d ]wUHSHfHÃtHIHHHtLu HHH5t1[]$@H=) HH1[H5]DH  H=kfhfH  H[H=]-f.AWIAVIAUAATL% UH- SL)H/Ht1LLDAHH9uH[]A\A]A^A_ff.HHfailed to obtain document Failed to obtain URL %s: Failed to parse %s: Processed ok %s: failed to create reader ;@|t\, \4l|zRx /D$4FJ w?:*3$"\@t@ADD K MFI K FMJ CKH8,FBA A(I0 (C ABBA DeFEE E(H0H8G@n8A0A(B BBB<p 0 @  0 8 o0xh  X 8 oo`oo.oH  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 sGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1  GA$3p1113GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYxxao..,no``p}B8    E yDP0 08 8@ @H HX X    0 Z0 `` @$)PK!3?PP .libs/tree1nuȯELF>p @@8 @@@@hh  ` ` `  x x x  DDStd Ptd DDQtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNUQ6K4慁o./B @  |CEqX* Sc 9 "o   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640Lui  ti ` P h  p p                 HH HtH5z %{ hhhhhhh% D% D% D% D% D% D% DtU RSHQH{11HHt#HHHdZ1[]HSH51"1I^HHPTLH /H=hB H=a HZ H9tH. Ht H=1 H5* H)HHH?HHtH HtfD= u+UH= Ht H=> d ]wHtKUH-SHH{tH{H[0HuH[]@HSH1f.DAWIAVIAUAATL% UH- SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHnode type: Element, name: %s error: could not parse file %s ;Dxp`0`zRx x/D$4FJ w?:*3$"\Xp,tQFHG \ AAE X,pPFD x CAA DeFEE E(H0H8G@n8A0A(B BBB8P  p %  8 ` h o0` @  H oo(ooox 0@P`pGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 E GA$3p1113 5 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY % GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go000Q ``hY@aono((`}BHHp 58 8 H H H D 0` ` h h p p x x  x   0Z``@)PK!;s԰-- .libs/xpath1nuȯELF>@0&@8 @@@@hh   0 (( (  DDStd Ptd\\QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNUqeKJ" F)CfA K|BE)qX9@* S2r 9 c"s`\@ (  N0  U libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64(0ui ti L              ( 0 P X ` h p x               HH HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhh% D% D% D% D% D% D% D% D% D% D% D% D% D%} D%u D%m D%e DUGSHHwB R 1҃t$HsH{VxC}X1H[]HSH R "H=! |H;H;f1I^HHPTLH _H=H H= H H9tH Ht H= H5 H)HHH?HHtHe HtfD= u+UH=B Ht H=^ de ]wHHt[HH= 1HZ4H  H=-3H  HH= H . BH5H=3ff.fAVAUATUSHjHBHHIHH fDH< ttk=HHLh LHt*LHHLpu7MtLLHHuL 1[]A\A]A^H= MH1HLL []A\A]A^H  &H=L} []A\A]A^H ` (H=eH iH5!H=,H JH5H=rfAVAUATUSHIHH\1HHIFHHJSL-L$OAH@HHHHIоHH1I9t`IFHHHD@HPAuHHqHHyHHHtXHLNIоWHH1NXZI9u[]A\A]A^fDHѾLH1#rfDIIоHH1KHѾH1H&f[H1]HA\A]1A^H iH5AH=nH JH5"H=4fAUATUSHHEIHHIRHHttHHHMtLH&HLIHtYHxH5 LsHH1H[]A\A]H=o Hپ1H~LHH=A 1H-HLHH *H=B5H}bH ,[H5H=O4H ZH5H='DAWIAVIAUAATL%t UH-t SL)HgHt1LLDAHH9uH[]A\A]A^A_ff.HHxpath1.cxpathCtxnsListoutputResult (%d nodes): nodes->nodeTab[i]= element node "%s:%s" = element node "%s" = node "%s": type %d filenamexpathExprUsage: %s [] where is a list of known namespaces in "= =href2> ..." format Error: unable to strdup namespaces list Error: invalid namespaces list format Error: unable to register NS with prefix="%s" and href="%s" = namespace "%s"="%s" for node %s:%s = namespace "%s"="%s" for node %s Error: unable to parse file "%s" Error: unable to create new XPath context Error: failed to register namespaces list "%s" Error: unable to evaluate xpath expression "%s" Error: wrong number of arguments. print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\ px`Pp``zRx /D$4 FJ w?:*3$"\tDO Q `FBB A(A0 (A BBBA j (F BBBA g (F BBBA X8FBB A(A08M@R8A0F (A BBBG i (F IGDE 8P{FBA A(D0 (A ABBA ,EDG ~ AAA DeFEE E(H0H8G@n8A0A(B BBB  (    o0p  8  x oo(ooo( P ` p  0 @ P GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 / GA$3p1113p {GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10 GA$3p1113GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY{ GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS{.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go00<Q ppYao8no((P}xxB   @ @ ` ` p p  \    ( (8 8   0 Z@ `` %)PK!:oRP-P-.libs/lt-parse4nuȯELF> @%@8 @@@@hh (( (  @@ @  DDStd PtdDDQtdRtd(( ( /lib64/ld-linux-x86-64.so.2GNUGNUGNUag"Ij4A  |CEqX9* a 9 " SqC8 0 7  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 LHii Wui ati m( 0 @8 8       h p x                 HH HtH5" %# hhhhhhhhqhah Qh Ah 1h !h %= D%5 D%- D%% D% D% D%  D% D% D% D% D% D% D% DAUATUSHdH%(HD$1tHT$dH3%(^H[]A\A]H RH{H5H HLcH\$H MH11HHuD1ɉHHH1HHDmHH]EtdHVH=/ p1H= L1HHKH= H1H= L1HzH  "H=K`1I^HHPTLfH H=8 H=1 H* H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= d ]wHH  HÐAWIAVIAUAATL%\ UH-\ SL)H'Ht1LLDAHH9uH[]A\A]A^A_ff.HHrbFailed to parse %s Failed to create parser context ! ;Dx `0XzRx /D$40FJ w?:*3$"\tPDZ<FBA A(D@r (A ABBA DeFEE E(H0H8G@n8A0A(B BBB@@8 y  (( 0 o0h  P P ooooPo@ @ P ` p  GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 5 GA$3p1113%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hh(YaoPP.no`}BP  0 0   %(( 88HD(( (0 08 8@ @P P    0 Z8 `` @$)PK!YP.libs/lt-parse3nuȯELF> @8@8 @@@@hh ` ` `  x x x  DDStd Ptdh h h <<QtdRtd` ` ` /lib64/ld-linux-x86-64.so.2GNUGNUGNU!c&[{[;|Xl~e A  |CEqX9* St 9 "c0     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640Lui  `  h ` p p                  HH HtH5* %+ hhhhhhh% D% D% D% D% D% D% DH R~E11ɾHH=HtHdz1HH | H=@1I^HHPTLFH H=h H= H  H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH= Ht H= yd ]wAWIAVIAUAATL% UH- SL)HWHt1LLDAHH9uH[]A\A]A^A_ff.HHnoname.xmlFailed to parse document ;<pxXXHzRx /D$4FJ w?:*3$"\pt0lHD A DpeFEE E(H0H8G@n8A0A(B BBB ` p  8 ( ` h o0h [   oohooDox pGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18 GA$3p1113P % GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*P GA*GOW*GA$3a1 5 GA* % GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhY[aoDD nohhP}B88``pP P ( ( 8 8 0h h < ` ` h h p p x x  x    0Z0``)PK!L׸++ .libs/parse2nuȯELF>@ @8$@8 @@@@hhPP HH H  `` `  DDStd Ptd   <<QtdRtdHH H /lib64/ld-linux-x86-64.so.2GNUGNUGNUsNg󠍜DAA  |CEqX9* S 9 "uc0    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640L-ui <ti HH  P  X X                      HH HtH5b %c hhhhhhhhqhah Q% D% D% D% D% D% D% D% D%} D%u DtAT RUSH`LcGHHtc1LH]HHtht!H4HgR[1]A\H=D L1HH % "H=/H= L1Hf.@1I^HHPTLFH H=r H= H H9tH^ Ht H=a H5Z H)HHH?HHtH% HtfD== u+UH= Ht H=V d ]wAWIAVIAUAATL% UH- SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHFailed to allocate parser context Failed to parse %s Failed to validate %s ;8lL,T$zRx /D$4FJ w?:*3$"\,tQFA W CBA D8eFEE E(H0H8G@n8A0A(B BBB` X T  H P o00h o p ( ooooo` 0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1o GA$3p1113` GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*` 2 GA*GOW*GA$3a1p GA*0 GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhY00oao&no`}((B   ` ` E  [  <P P H HP PX X` `p p    0 Z0 `` #)PK!M0MM.libs/testWriternuȯELF>@0F@8 @@@@hh88 << < t << <  DDStd Ptd858585ddQtdRtd<< < pp/lib64/ld-linux-x86-64.so.2GNUGNUGNUݿ"% Y_Ýb&@ @I&+\XX<|CEqXf* ,PQkbz 9 "7:&Sv @ !0@ H@ 8@ @ @ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/opt/alt/libxml2/usr/lib64@ii ti ui L,:< < @< < ? ?  ? ? ?  @ &0@ '8@ )> > > > > > ? ?  ?  ?  ?  (? 0? 8? @? H? P? X? `? h? p? x? ? ? ? ? ? ?  ? !? "? #? $? %HH/ HtH5. %. hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh %, D%, D%, D%}, D%u, D%m, D%e, D%], D%U, D%M, D%E, D%=, D%5, D%-, D%%, D%, D%, D% , D%, D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ D%+ DH R^H=H=H=: H=i$1Hf.1I^HHPTLFH H=x+ H=1+ H*+ H9tH* Ht H=+ H5* H)HHH?HHtH* HtfD=* u+UH=* Ht H=>' d* ]wAVAUATUSHdH%(HD$1HHHIHHH5DhIC|-<$Hc-* IHDt$HL$HHHSxwT$D)uI$LpHc) HHc$HL$dH3 %(HH[]A\A]A^H51L1) H=f1@MH<LDH5f1LsH==1zYU1SHoH11HHH@H5 HH5H=C>HHHHHt H( H5HHH5H]HH5H?H5aH=H5]HHH1]Ht H/( H5XH01HH>H5=1HH*H5&vH5H=H5HHH.Ht H' H5H=H5HHHpHt HR' HH5H+CH5H,HH5H1 HH-H5lyHH53HH:H5"H1HHH5wH/HH5H0xLHH5H&HHfXH[]HH=[]fDHH=[]fDHH=u[]fDHH=5[]fDHH=[]fDHH=[]fDHH=[]nfDHH=m[]VfDHH=[]>ZH=>[]/ff.@AUIATUSHH=KH1HHmHHH1H 1.H=H5 HH5r H=HHIH=?Mt LB$ H5G H+3H6 H53 H5H$ H5 HH5 H= 4HH5HI1H=Mt L# H5 H1HH H5 |1HH H5 WH59 H= H5 HHI'oMt L # H5 H=` NH5Y HHI1Mt L" H{#H5% HH5 HH H5 H1 HH H5 ZHH5 H#+H H5 H]1HH< H5{ (H8H(H5Y HHI H5R HH;HH=,xWHxLH5 H=BHHt1H}H~HXH[]A\A]H=H[]A\A]*f.HH= []A\A] f.HH=][]A\A]f.H=H=H={@AT1IUSHdH%(HD$1HH11HD HHpH55 H!)H5 H=k fHHH(`Ht H H5HHH5HHH5HgH5H=H5 HHH1Ht HW H5H@H1HHfH5e+1HHRH5N~H5H=?;H5:HHH>Ht H H5H=H5HHHHt Hz H*"H5HS[H5H<DHH5H.1 HHUH5 HH5[HHbH5JH,1HHH5*H?7H/'H5HXxdHH5HNHHH.H4$LHH<$ H=y HD$dH3%(H[]A\H= fH= fH= fH=Q fH=1fH= {H= |cH=)dKH=KN5fAUIH=ATUSHH=LH1H1HH-HHHHVHH1H=jHHmH1H1H=|KH5nH=HHIH=Mt L> H5CH'/H2H5/HH H5HH5H=0HH5HI1H=Mt L H5H1HHH5x1HHH5SkH55H=H5HHI#KMt L H5H=\JH5UHHI Mt L HwH5!HH5HHH5H{1 HHH5VnH~H5H'HH5H91HH8H5wHH|H5UHHEH5NHH7HH=0 x3HtLHHHBXH[]A\A]H= H[]A\A]Jf.HH= []A\A]*f.HH=U []A\A] f.H= H= H=A {@AWIAVIAUAATL% UH- SL)H/Ht1LLDAHH9uH[]A\A]A^A_ff.HHConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<>HEADER%010dX_ORDER_ID%dCUSTOMER_IDMllerNAME_1JrgNAME_2ENTRIESENTRYARTICLEENTRY_NOFOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s' ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets. testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d hXx4hX@zRx /D$48 FJ w?:*3$"\0@tx`FBB A(A0D@ 0A(A BBBI AECD G DAH D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAK D HAE AHAp\@lFEA A(D0 (D ABBL K (A ABBO D (H ABBO D (H ABBO 0    ooP oo o< 0@P`p 0@P`p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113@(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1) GA$3p1113()GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFY( GA*FORTIFY((GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go00<Q pp Ycao XnoP P } B  00@@)) )) 8585d55< << << << <> >H@ @ @ @( 0@ZH@``@E)PK!<++.libs/lt-reader2nuȯELF>@8$@8 @@@@hh   (      DDStd Ptd<<QtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNU@$fv.<8,KjƶA  |CEqX9<* jwS 9 "{.Oi0    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64`0ui ti L  P          H P X ` h p x               HHQ HtH5 % hhhhhhhhqhah Qh Ah 1h !h hhhh%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D%  D% D% D% D% D% DtAW RAVAUATUSHHHC1HHD$~HHOfHH߉ŃeHHHHHDHIHAHAHA0HEIAUDH5w1,XZMt@L}L(~H5\1MH5s15 &u'Hu @8$@8 @@@@hh PP P  hh h  DDStd Ptd` ` ` <<QtdRtdPP P /lib64/ld-linux-x86-64.so.2GNUGNUGNUZܐuO1ܧ]:D8x/@ I|CEqX*  9 j"|S    libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 Lii ,ui 6ti BP  X p ` `                      HH HtH5 % hhhhhhhhqha% D% D% D% D% D% D% D% D% DUH=0SH(dH%(HD$11H1HHDH5HHbHH7HT$ HHt$HT$H51H|$e HHL$dH3 %(u H(1[]1I^HHPTLFH H= H= H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH=r Ht H= 9dm ]wAWIAVIAUAATL%t UH-t SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HH1.0rootcontent%s;<p pX`(zRx /D$4FJ w?:*3$"\,tEHD@ CAA DxeFEE E(H0H8G@n8A0A(B BBB p ` N  8 P X o0h i x  oooooh   0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 GA$3p1113 5 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* GA*GOW*GA$3a1 E GA* 5 GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go004Q hhYiao$no`}B   %8 8 H H ` ` < P PX X` `h hx x    0 Z `` #)PK!~_0P-P- .libs/xpath2nuȯELF>P@%@8 @@@@hh     00 0  DDStd PtdtttDDQtdRtd  /lib64/ld-linux-x86-64.so.2GNUGNUGNU>$*EZVdYѕA  |BE)qX9.* S ` 9 sQ"`J8 r <( y C libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib640ui ti L 0  ( (         ( X ` h p x               HH1 HtH5 % hhhhhhhhqhah Qh Ah 1h !h hh%} D%u D%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% D%  D% DAWAVAUIATUSH4 R#ImMeMuHMMHHHH HH\HLYH LxMtwAxoIwHcL,HnodeTab[i]Usage: %s Error: wrong number of arguments. Error: unable to parse file "%s" Error: unable to create new XPath context Error: unable to evaluate xpath expression "%s" usageupdate_xpath_nodesexample4;@Lt\\\\zRx x/D$4FJ w?:*3$"\tBcH{FBB E(A0A8DP2 8A0A(B BBBA DeFEE E(H0H8G@n8A0A(B BBB(0(     o0h  @  ( ooooo0  0 @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1  GA$3p1113 GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 GA$3p1113GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hhpYao4noP}((B      5   QttD0   ( (0 0@ @    0 Z8 `` @$)PK!++ .libs/reader3nuȯELF> @8$@8 @@@@hh 88 8  PP P  DDStd Ptd<<QtdRtd88 8 /lib64/ld-linux-x86-64.so.2GNUGNUGNU/S/oksA  |BE)qX9 * 7 9 ("pS\8 I ( P ! libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64PaoL}ui ti 8  @  H H         ( x               HH HtH52 %3 hhhhhhhhqhah Qh Ah 1%m D%e D%] D%U D%M D%E D%= D%5 D%- D%% D% D% DATL%UH-SuHnLf RC11HHH1LHx[f.H(tubHHH\HtH= HH+[1]A\H= MH1HoH= H1HPHH=_ H1H)1I^HHPTLFH H= H= H H9tH Ht H= H5 H)HHH?HHtH HtfD= u+UH=b Ht H= d} ]wAWIAVIAUAATL%L UH-L SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHpreservedtest3.xml%s : failed to parse Unable to open %s %s : failed add preserve pattern %s ;<hp8Xx(zRx /D$4FJ w?:*3$"\,t@FHH  CBA D eFEE E(H0H8G@n8A0A(B BBBH H   H8 @ o0xh  `   ooxooFoP @ P ` p GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1  GA$3p1113 EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* GA*GOW*GA$3a1 UGA* E GA*GOW* GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes  & 4$Go008Q hhYxxaoFF,noxx}B   0 0   HH XXp<8 8@ @H HP P` `    0 Z8 `` #)PK!ǩkk reader3.onu[ELF>]@@:9 -/,0+1*2 GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobin GA*GOW*GA*GA+stack_clashGA*cf_protection GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA* GA*GOW*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSATL%UH-SuHnLf R11HHH1LHx[f.HtubHHHHtH=HH[1]A\H=MH1HH=H1HHH=H1Hpreservedtest3.xml%s : failed to parse Unable to open %s %s : failed add preserve pattern %s  5inthh1  3a 6  7  8  9 : ( ; 0 < 8 = @ @ H A P B X D9` F?h Hap Iat J ox ML NS OE QU Y { [` \k ]? ^ C _ ) `a bq + 4 U 5, [ f  5  a  E<       <    x  C      ( 0 8doc 7@ns H P X ` Ch Lp Lr  C      7( 0 8doc 7@ CH CP CX C` h p Cx '7 (C ) * + ,  -( .0 /8doc 07@ 3aH 4aL :P ;X <` =h >pids ?Cx @CURL A Ba D EC Fa Ha  w j0   P   C  7(]j`  C      ( 0 8doc 7@ns H P CX % &K 9C B3C) M  C C) W+ 1 @        c  j  Ja JaJ KLdocM [ N   ! ! ! " ", # # $1 %T1%Q %Rv%X|" 7 M # # $1 %T1%Q %Rv" D # # $1 %T1%Q %Rv&= %Uv%T0%Q0&J %Us%T|%Q0&W  %Us&c %Us&p 8 %Us$p %Us&| g %U R&  %Tv& %Uv' ' ( ))2*doc+  *ret! a,da1 )d)d<-.Z / I/ . / . v./ / /9. % U: ; 9 I$ >  $ >  I&I : ; 9  : ; 9 I8 : ; 9 < I !I/ 4: ; 9 I?<7I!> I: ; 9 (  : ;9  : ;9 I8  : ;9 I8 : ;9 I'I'I.?: ; 9 'I@B: ; 9 IB4: ; 9 IB4: ; 9 IB1RB UX Y W 1B U!41B"1RB X Y W #1$1%B&1'1(.: ; 9 'I ): ; 9 I*4: ; 9 I+4: ; 9 I,.?: ; 9 'I 4-..?<n: ; 9 /.?<n: ;9 UUTT VV \\V00\\\VVVPVPSSPSPP   ,gQ /usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h! K! % YK RXZC      [ R 8 @] \\Y X  8 . Q- R# h.  ___off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDreadernsDef_codecvt_private_xmlNsxmlNslong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flagsextractFile_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLXML_XINCLUDE_STARTlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLreader3.c_IO_lock_t_IO_FILEpatternxmlTextReaderPreservePattern_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlDocDumpXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNUzRx ,FHH  CBA  . +  B/]y012 "$&(/01234.5-2 7<A*FRbw)*+,-18CN_mt.annobin_reader3.c.annobin_reader3.c_end.annobin_reader3.c.hot.annobin_reader3.c_end.hot.annobin_reader3.c.unlikely.annobin_reader3.c_end.unlikely.annobin_reader3.c.startup.annobin_reader3.c_end.startup.annobin_reader3.c.exit.annobin_reader3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderPreservePatternxmlTextReaderReadxmlTextReaderCurrentDocxmlFreeTextReaderstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++ -.)C5DNEdFuGHIJKLMN/ON0OHN1O  # # #* !@% "* #\8 #? #6H #O #V #] #k #p #| # # #. #+ # # # # # # # #> #4) #6 #C #P #] #j #bw # # #, #h #\ # # #n #F #C #Y #j #! #;- ##5 #\\ #pg # #J #p # # #w # # # #  #& #Z, #g2 #w8 #> #D # J #P #$V #\ #b #h #n # t #rz # #_ # # # #[ #` #u # # #B #" # # ## #  # #( #6 #/D #$R #c` # # #z # # # #T #T # # # #* #/8 #$F #cT #p #~ # #o # #| # # # # # # # #/- #$; #cI #e #s # # # # # #  # # #  # #) #z@ #G #L #Q #^ #k #y #c # # # # # #| # # # #  #/. #$< #cJ #s #y # #_ # # # #P #C #H #T #` #l #x #@ # #P # # + #)   # A = #  z #7  $ 0( *1 +-: !J N {W [ ` !i m v ]z S   + +   +  + + 6 4' += R +[ +w d{ b + * +9 +R +h +y! +9 +O +-h + + + + #2 # #7 # #f #$ #<2 #M6 #M> #B #K #?O #?X #\ #d #.h #.q #Bu #B} # # # # # # # # #n #n+ +(+(+A+I+,T+,\+++ ++++++#+#+++0+8+C+K+W+_++-++++++-++++++%+0+8+]+<e+Qp+Qx+++++ + ++h+x++++6+>+Id+l+w* ++-+++ +(+@+H+`+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@729P739h749(75976!'1,@707 GVQ@8707 phh@h707<<@707@707 8@707 @(8(7,29 =;2x %O J@P: 7[Yni@pSH7 ~~ 0y@Y07" `@Y7$!k@Z7&0y#0h,.,,p,G,,,,,,,, /,H*@Z75-8A 4Z@PK!lsapi_with_cgi.rbnuȯ#!/opt/alt/ruby27/bin/ruby require 'lsapi' require 'cgi' while LSAPI.accept != nil cgi = CGI.new name = cgi['name'] puts cgi.header puts "Hello #{name}!
    " if name puts "You are from #{cgi.remote_addr}
    " end PK!*   testlsapi.rbnuȯ#!/opt/alt/ruby27/bin/ruby require 'lsapi' $count = 0; while LSAPI.accept != nil print "HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\nHello World! \##{$count}
    \r\n" ENV.each_pair {|key, value| print "#{key} is #{value}
    \r\n" } $count = $count + 1 end PK!f example2.phpnu[ * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category XML * @package XML_Util * @subpackage Examples * @author Stephan Schmidt * @copyright 2003-2008 Stephan Schmidt * @license http://opensource.org/licenses/bsd-license New BSD License * @version CVS: $Id$ * @link http://pear.php.net/package/XML_Util */ /** * set error level */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** * creating a start element */ print 'creating a start element:
    '; print htmlentities(XML_Util::createStartElement('myNs:myTag', array('foo' => 'bar'), 'http://www.w3c.org/myNs#')); print "\n

    \n"; /** * creating a start element */ print 'creating a start element:
    '; print htmlentities(XML_Util::createStartElement('myTag', array(), 'http://www.w3c.org/myNs#')); print "\n

    \n"; /** * creating a start element */ print 'creating a start element:
    '; print '
    ';
        print htmlentities(XML_Util::createStartElement('myTag', 
            array('foo' => 'bar', 'argh' => 'tomato'), 
            'http://www.w3c.org/myNs#', true));
        print '
    '; print "\n

    \n"; /** * creating an end element */ print 'creating an end element:
    '; print htmlentities(XML_Util::createEndElement('myNs:myTag')); print "\n

    \n"; /** * creating a CData section */ print 'creating a CData section:
    '; print htmlentities(XML_Util::createCDataSection('I am content.')); print "\n

    \n"; /** * creating a comment */ print 'creating a comment:
    '; print htmlentities(XML_Util::createComment('I am a comment.')); print "\n

    \n"; /** * creating an XML tag with multiline mode */ $tag = array( 'qname' => 'foo:bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag & contain dangerous chars' ); print 'creating a tag with qualified name and namespaceUri:
    '; print '
    ';
        print htmlentities(XML_Util::createTagFromArray($tag, 
            XML_UTIL_REPLACE_ENTITIES, true));
        print '
    '; print "\n

    \n"; /** * create an attribute string without replacing the entities */ $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); print 'creating a attribute string, ' . 'entities in values already had been replaced:
    '; print htmlentities(XML_Util::attributesToString($atts, true, false, false, false, XML_UTIL_ENTITIES_NONE)); print "\n

    \n"; /** * using the array-syntax for attributesToString() */ $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); print 'using the array-syntax for attributesToString()
    '; print htmlentities(XML_Util::attributesToString($atts, array('entities' => XML_UTIL_ENTITIES_NONE))); print "\n

    \n"; ?> PK!5k## example.phpnu[ * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * @category XML * @package XML_Util * @subpackage Examples * @author Stephan Schmidt * @copyright 2003-2008 Stephan Schmidt * @license http://opensource.org/licenses/bsd-license New BSD License * @version CVS: $Id$ * @link http://pear.php.net/package/XML_Util */ /** * set error level */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** * replacing XML entities */ print 'replace XML entities:
    '; print XML_Util::replaceEntities('This string contains < & >.'); print "\n

    \n"; /** * reversing XML entities */ print 'replace XML entities:
    '; print XML_Util::reverseEntities('This string contains < & >.'); print "\n

    \n"; /** * building XML declaration */ print 'building XML declaration:
    '; print htmlspecialchars(XML_Util::getXMLDeclaration()); print "\n

    \n"; print 'building XML declaration with additional attributes:
    '; print htmlspecialchars(XML_Util::getXMLDeclaration('1.0', 'UTF-8', true)); print "\n

    \n"; /** * building document type declaration */ print 'building DocType declaration:
    '; print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0')); print "\n

    \n"; print 'building DocType declaration with public ID (does not exist):
    '; print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', array('uri' => 'http://pear.php.net/dtd/package-1.0', 'id' => '-//PHP//PEAR/DTD PACKAGE 0.1'))); print "\n

    \n"; print 'building DocType declaration with internal DTD:
    '; print '
    ';
        print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 
            'http://pear.php.net/dtd/package-1.0', 
            ''));
        print '
    '; print "\n

    \n"; /** * creating an attribute string */ $att = array( 'foo' => 'bar', 'argh' => 'tomato' ); print 'converting array to string:
    '; print XML_Util::attributesToString($att); print "\n

    \n"; /** * creating an attribute string with linebreaks */ $att = array( 'foo' => 'bar', 'argh' => 'tomato' ); print 'converting array to string (including line breaks):
    '; print '
    ';
        print XML_Util::attributesToString($att, true, true);
        print '
    '; print "\n

    \n"; /** * splitting a qualified tag name */ print 'splitting qualified tag name:
    '; print '
    ';
        print_r(XML_Util::splitQualifiedName('xslt:stylesheet'));
        print '
    '; print "\n
    \n"; /** * splitting a qualified tag name (no namespace) */ print 'splitting qualified tag name (no namespace):
    '; print '
    ';
        print_r(XML_Util::splitQualifiedName('foo'));
        print '
    '; print "\n
    \n"; /** * splitting a qualified tag name (no namespace, but default namespace specified) */ print 'splitting qualified tag name ' . '(no namespace, but default namespace specified):
    '; print '
    ';
        print_r(XML_Util::splitQualifiedName('foo', 'bar'));
        print '
    '; print "\n
    \n"; /** * verifying XML names */ print 'verifying \'My private tag\':
    '; print '
    ';
        print_r(XML_Util::isValidname('My Private Tag'));
        print '
    '; print "\n

    \n"; print 'verifying \'-MyTag\':
    '; print '
    ';
        print_r(XML_Util::isValidname('-MyTag'));
        print '
    '; print "\n

    \n"; /** * creating an XML tag */ $tag = array( 'namespace' => 'foo', 'localPart' => 'bar', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with namespace and local part:
    '; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n

    \n"; /** * creating an XML tag */ $tag = array( 'qname' => 'foo:bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with qualified name and namespaceUri:
    '; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n

    \n"; /** * creating an XML tag */ $tag = array( 'qname' => 'bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable') ); print 'creating an empty tag without namespace but namespace Uri:
    '; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n

    \n"; /** * creating an XML tag with more namespaces */ $tag = array( 'namespace' => 'foo', 'localPart' => 'bar', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag', 'namespaces' => array( 'bar' => 'http://bar.com', 'pear' => 'http://pear.php.net', ) ); print 'creating an XML tag with more namespaces:
    '; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n

    \n"; /** * creating an XML tag with a CData Section */ $tag = array( 'qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with CData section:
    '; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION)); print "\n

    \n"; /** * creating an XML tag with a CData Section */ $tag = array( 'qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 'tt'), 'content' => 'Also XHTML-tags can be created ' . 'and HTML entities can be replaced <>.' ); print 'creating a tag with HTML entities:
    '; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML)); print "\n

    \n"; /** * creating an XML tag with createTag */ print 'creating a tag with createTag:
    '; print htmlentities(XML_Util::createTag('myNs:myTag', array('foo' => 'bar'), 'This is inside the tag', 'http://www.w3c.org/myNs#')); print "\n

    \n"; /** * trying to create an XML tag with an array as content */ $tag = array( 'qname' => 'bar', 'content' => array('foo' => 'bar') ); print 'trying to create an XML tag with an array as content:
    '; print '
    ';
        print_r(XML_Util::createTagFromArray($tag));
        print '
    '; print "\n

    \n"; /** * trying to create an XML tag without a name */ $tag = array( 'attributes' => array('foo' => 'bar'), ); print 'trying to create an XML tag without a name:
    '; print '
    ';
        print_r(XML_Util::createTagFromArray($tag));
        print '
    '; print "\n

    \n"; ?> PK!ͅ$testFunctions.phpnuIwgetMessage(), PHP_EOL; } } echo PHP_EOL; } } PK!3 3 complexTest.phpnuIwadd(456); echo $x, PHP_EOL; $x = new Complex(123.456); $x->add(789.012); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->add(new Complex(-987.654, -32.1)); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->add(-987.654); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->add(new Complex(0, 1)); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->add(new Complex(0, -1)); echo $x, PHP_EOL; echo PHP_EOL, 'Subtract', PHP_EOL; $x = new Complex(123); $x->subtract(456); echo $x, PHP_EOL; $x = new Complex(123.456); $x->subtract(789.012); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->subtract(new Complex(-987.654, -32.1)); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->subtract(-987.654); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->subtract(new Complex(0, 1)); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->subtract(new Complex(0, -1)); echo $x, PHP_EOL; echo PHP_EOL, 'Multiply', PHP_EOL; $x = new Complex(123); $x->multiply(456); echo $x, PHP_EOL; $x = new Complex(123.456); $x->multiply(789.012); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->multiply(new Complex(-987.654, -32.1)); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->multiply(-987.654); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->multiply(new Complex(0, 1)); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->multiply(new Complex(0, -1)); echo $x, PHP_EOL; echo PHP_EOL, 'Divide By', PHP_EOL; $x = new Complex(123); $x->divideBy(456); echo $x, PHP_EOL; $x = new Complex(123.456); $x->divideBy(789.012); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->divideBy(new Complex(-987.654, -32.1)); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->divideBy(-987.654); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->divideBy(new Complex(0, 1)); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->divideBy(new Complex(0, -1)); echo $x, PHP_EOL; echo PHP_EOL, 'Divide Into', PHP_EOL; $x = new Complex(123); $x->divideInto(456); echo $x, PHP_EOL; $x = new Complex(123.456); $x->divideInto(789.012); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->divideInto(new Complex(-987.654, -32.1)); echo $x, PHP_EOL; $x = new Complex(123.456, 78.90); $x->divideInto(-987.654); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->divideInto(new Complex(0, 1)); echo $x, PHP_EOL; $x = new Complex(-987.654, -32.1); $x->divideInto(new Complex(0, -1)); echo $x, PHP_EOL; PK!xM//testOperations.phpnuIw ', $result, PHP_EOL; echo PHP_EOL; echo 'Subtraction', PHP_EOL; $result = \Complex\subtract(...$values); echo '=> ', $result, PHP_EOL; echo PHP_EOL; echo 'Multiplication', PHP_EOL; $result = \Complex\multiply(...$values); echo '=> ', $result, PHP_EOL; PK!FX U U linksys.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # # linksys.py -- program settings on a Linkys router # # This tool is designed to help you recover from the occasional episodes # of catatonia that afflict Linksys boxes. It allows you to batch-program # them rather than manually entering values to the Web interface. Commands # are taken from the command line first, then standard input. # # The somewhat spotty coverage of status queries is because I only did the # ones that were either (a) easy, or (b) necessary. If you want to know the # status of the box, look at the web interface. # # This code has been tested against the following hardware: # # Hardware Firmware # ---------- --------------------- # BEFW11S4v2 1.44.2.1, Dec 20 2002 # # The code is, of course, sensitive to changes in the names of CGI pages # and field names. # # Note: to make the no-arguments form work, you'll need to have the following # entry in your ~/.netrc file. If you have changed the router IP address or # name/password, modify accordingly. # # machine 192.168.1.1 # login "" # password admin # # By Eric S. Raymond, August April 2003. All rites reversed. import sys, re, curl, exceptions def print_stderr(arg): sys.stderr.write(arg) sys.stderr.write("\n") class LinksysError(exceptions.Exception): def __init__(self, *args): self.args = args class LinksysSession: months = 'Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec' WAN_CONNECT_AUTO = '1' WAN_CONNECT_STATIC = '2' WAN_CONNECT_PPOE = '3' WAN_CONNECT_RAS = '4' WAN_CONNECT_PPTP = '5' WAN_CONNECT_HEARTBEAT = '6' # Substrings to check for on each page load. # This may enable us to detect when a firmware change has hosed us. check_strings = { "": "basic setup functions", "Passwd.htm": "For security reasons,", "DHCP.html": "You can configure the router to act as a DHCP", "Log.html": "There are some log settings and lists in this page.", "Forward.htm":"Port forwarding can be used to set up public services", } def __init__(self): self.actions = [] self.host = "http://192.168.1.1" self.verbosity = False self.pagecache = {} def set_verbosity(self, flag): self.verbosity = flag # This is not a performance hack -- we need the page cache to do # sanity checks at configure time. def cache_load(self, page): if page not in self.pagecache: fetch = curl.Curl(self.host) fetch.set_verbosity(self.verbosity) fetch.get(page) self.pagecache[page] = fetch.body() if fetch.answered("401"): raise LinksysError("authorization failure.", True) elif not fetch.answered(LinksysSession.check_strings[page]): del self.pagecache[page] raise LinksysError("check string for page %s missing!" % os.path.join(self.host, page), False) fetch.close() def cache_flush(self): self.pagecache = {} # Primitives def screen_scrape(self, page, template): self.cache_load(page) match = re.compile(template).search(self.pagecache[page]) if match: result = match.group(1) else: result = None return result def get_MAC_address(self, page, prefix): return self.screen_scrape("", prefix+r":[^M]*\(MAC Address: *([^)]*)") def set_flag(self, page, flag, value): if value: self.actions.append(page, flag, "1") else: self.actions.append(page, flag, "0") def set_IP_address(self, page, cgi, role, ip): ind = 0 for octet in ip.split("."): self.actions.append(("", "F1", role + repr(ind+1), octet)) ind += 1 # Scrape configuration data off the main page def get_firmware_version(self): # This is fragile. There is no distinguishing tag before the firmware # version, so we have to key off the pattern of the version number. # Our model is ">1.44.2.1, Dec 20 2002<" return self.screen_scrape("", ">([0-9.v]*, (" + \ LinksysSession.months + ")[^<]*)<", ) def get_LAN_MAC(self): return self.get_MAC_address("", r"LAN IP Address") def get_Wireless_MAC(self): return self.get_MAC_address("", r"Wireless") def get_WAN_MAC(self): return self.get_MAC_address("", r"WAN Connection Type") # Set configuration data on the main page def set_host_name(self, name): self.actions.append(("", "hostName", name)) def set_domain_name(self, name): self.actions.append(("", "DomainName", name)) def set_LAN_IP(self, ip): self.set_IP_address("", "ipAddr", ip) def set_LAN_netmask(self, ip): if not ip.startswith("255.255.255."): raise ValueError lastquad = ip.split(".")[-1] if lastquad not in ("0", "128", "192", "240", "252"): raise ValueError self.actions.append("", "netMask", lastquad) def set_wireless(self, flag): self.set_flag("", "wirelessStatus") def set_SSID(self, ssid): self.actions.append(("", "wirelessESSID", ssid)) def set_SSID_broadcast(self, flag): self.set_flag("", "broadcastSSID") def set_channel(self, channel): self.actions.append(("", "wirelessChannel", channel)) def set_WEP(self, flag): self.set_flag("", "WepType") # FIXME: Add support for setting WEP keys def set_connection_type(self, type): self.actions.append(("", "WANConnectionType", type)) def set_WAN_IP(self, ip): self.set_IP_address("", "aliasIP", ip) def set_WAN_netmask(self, ip): self.set_IP_address("", "aliasMaskIP", ip) def set_WAN_gateway_address(self, ip): self.set_IP_address("", "routerIP", ip) def set_DNS_server(self, index, ip): self.set_IP_address("", "dns" + "ABC"[index], ip) # Set configuration data on the password page def set_password(self, str): self.actions.append("Passwd.htm","sysPasswd", str) self.actions.append("Passwd.htm","sysPasswdConfirm", str) def set_UPnP(self, flag): self.set_flag("Passwd.htm", "UPnP_Work") def reset(self): self.actions.append("Passwd.htm", "FactoryDefaults") # DHCP features def set_DHCP(self, flag): if flag: self.actions.append("DHCP.htm","dhcpStatus","Enable") else: self.actions.append("DHCP.htm","dhcpStatus","Disable") def set_DHCP_starting_IP(self, val): self.actions.append("DHCP.htm","dhcpS4", str(val)) def set_DHCP_users(self, val): self.actions.append("DHCP.htm","dhcpLen", str(val)) def set_DHCP_lease_time(self, val): self.actions.append("DHCP.htm","leaseTime", str(val)) def set_DHCP_DNS_server(self, index, ip): self.set_IP_address("DHCP.htm", "dns" + "ABC"[index], ip) # FIXME: add support for setting WINS key # Logging features def set_logging(self, flag): if flag: self.actions.append("Log.htm", "rLog", "Enable") else: self.actions.append("Log.htm", "rLog", "Disable") def set_log_address(self, val): self.actions.append("DHCP.htm","trapAddr3", str(val)) # The AOL parental control flag is not supported by design. # FIXME: add Filters and other advanced features def configure(self): "Write configuration changes to the Linksys." if self.actions: fields = [] self.cache_flush() for (page, field, value) in self.actions: self.cache_load(page) if self.pagecache[page].find(field) == -1: print_stderr("linksys: field %s not found where expected in page %s!" % (field, os.path.join(self.host, page))) continue else: fields.append((field, value)) # Clearing the action list before fieldsping is deliberate. # Otherwise we could get permanently wedged by a 401. self.actions = [] transaction = curl.Curl(self.host) transaction.set_verbosity(self.verbosity) transaction.get("Gozila.cgi", tuple(fields)) transaction.close() if __name__ == "__main__": import os, cmd class LinksysInterpreter(cmd.Cmd): """Interpret commands to perform LinkSys programming actions.""" def __init__(self): cmd.Cmd.__init__(self) self.session = LinksysSession() if os.isatty(0): print("Type ? or `help' for help.") self.prompt = self.session.host + ": " else: self.prompt = "" print("Bar1") def flag_command(self, func, line): if line.strip() in ("on", "enable", "yes"): func(True) elif line.strip() in ("off", "disable", "no"): func(False) else: print_stderr("linksys: unknown switch value") return 0 def do_connect(self, line): newhost = line.strip() if newhost: self.session.host = newhost self.session.cache_flush() self.prompt = self.session.host + ": " else: print(self.session.host) return 0 def help_connect(self): print("Usage: connect []") print("Connect to a Linksys by name or IP address.") print("If no argument is given, print the current host.") def do_status(self, line): self.session.cache_load("") if "" in self.session.pagecache: print("Firmware:", self.session.get_firmware_version()) print("LAN MAC:", self.session.get_LAN_MAC()) print("Wireless MAC:", self.session.get_Wireless_MAC()) print("WAN MAC:", self.session.get_WAN_MAC()) print(".") return 0 def help_status(self): print("Usage: status") print("The status command shows the status of the Linksys.") print("It is mainly useful as a sanity check to make sure") print("the box is responding correctly.") def do_verbose(self, line): self.flag_command(self.session.set_verbosity, line) def help_verbose(self): print("Usage: verbose {on|off|enable|disable|yes|no}") print("Enables display of HTTP requests.") def do_host(self, line): self.session.set_host_name(line) return 0 def help_host(self): print("Usage: host ") print("Sets the Host field to be queried by the ISP.") def do_domain(self, line): print("Usage: host ") self.session.set_domain_name(line) return 0 def help_domain(self): print("Sets the Domain field to be queried by the ISP.") def do_lan_address(self, line): self.session.set_LAN_IP(line) return 0 def help_lan_address(self): print("Usage: lan_address ") print("Sets the LAN IP address.") def do_lan_netmask(self, line): self.session.set_LAN_netmask(line) return 0 def help_lan_netmask(self): print("Usage: lan_netmask ") print("Sets the LAN subnetwork mask.") def do_wireless(self, line): self.flag_command(self.session.set_wireless, line) return 0 def help_wireless(self): print("Usage: wireless {on|off|enable|disable|yes|no}") print("Switch to enable or disable wireless features.") def do_ssid(self, line): self.session.set_SSID(line) return 0 def help_ssid(self): print("Usage: ssid ") print("Sets the SSID used to control wireless access.") def do_ssid_broadcast(self, line): self.flag_command(self.session.set_SSID_broadcast, line) return 0 def help_ssid_broadcast(self): print("Usage: ssid_broadcast {on|off|enable|disable|yes|no}") print("Switch to enable or disable SSID broadcast.") def do_channel(self, line): self.session.set_channel(line) return 0 def help_channel(self): print("Usage: channel ") print("Sets the wireless channel.") def do_wep(self, line): self.flag_command(self.session.set_WEP, line) return 0 def help_wep(self): print("Usage: wep {on|off|enable|disable|yes|no}") print("Switch to enable or disable WEP security.") def do_wan_type(self, line): try: type=eval("LinksysSession.WAN_CONNECT_"+line.strip().upper()) self.session.set_connection_type(type) except ValueError: print_stderr("linksys: unknown connection type.") return 0 def help_wan_type(self): print("Usage: wan_type {auto|static|ppoe|ras|pptp|heartbeat}") print("Set the WAN connection type.") def do_wan_address(self, line): self.session.set_WAN_IP(line) return 0 def help_wan_address(self): print("Usage: wan_address ") print("Sets the WAN IP address.") def do_wan_netmask(self, line): self.session.set_WAN_netmask(line) return 0 def help_wan_netmask(self): print("Usage: wan_netmask ") print("Sets the WAN subnetwork mask.") def do_wan_gateway(self, line): self.session.set_WAN_gateway(line) return 0 def help_wan_gateway(self): print("Usage: wan_gateway ") print("Sets the LAN subnetwork mask.") def do_dns(self, line): (index, address) = line.split() if index in ("1", "2", "3"): self.session.set_DNS_server(eval(index), address) else: print_stderr("linksys: server index out of bounds.") return 0 def help_dns(self): print("Usage: dns {1|2|3} ") print("Sets a primary, secondary, or tertiary DNS server address.") def do_password(self, line): self.session.set_password(line) return 0 def help_password(self): print("Usage: password ") print("Sets the router password.") def do_upnp(self, line): self.flag_command(self.session.set_UPnP, line) return 0 def help_upnp(self): print("Usage: upnp {on|off|enable|disable|yes|no}") print("Switch to enable or disable Universal Plug and Play.") def do_reset(self, line): self.session.reset() def help_reset(self): print("Usage: reset") print("Reset Linksys settings to factory defaults.") def do_dhcp(self, line): self.flag_command(self.session.set_DHCP, line) def help_dhcp(self): print("Usage: dhcp {on|off|enable|disable|yes|no}") print("Switch to enable or disable DHCP features.") def do_dhcp_start(self, line): self.session.set_DHCP_starting_IP(line) def help_dhcp_start(self): print("Usage: dhcp_start ") print("Set the start address of the DHCP pool.") def do_dhcp_users(self, line): self.session.set_DHCP_users(line) def help_dhcp_users(self): print("Usage: dhcp_users ") print("Set number of address slots to allocate in the DHCP pool.") def do_dhcp_lease(self, line): self.session.set_DHCP_lease(line) def help_dhcp_lease(self): print("Usage: dhcp_lease ") print("Set number of address slots to allocate in the DHCP pool.") def do_dhcp_dns(self, line): (index, address) = line.split() if index in ("1", "2", "3"): self.session.set_DHCP_DNS_server(eval(index), address) else: print_stderr("linksys: server index out of bounds.") return 0 def help_dhcp_dns(self): print("Usage: dhcp_dns {1|2|3} ") print("Sets primary, secondary, or tertiary DNS server address.") def do_logging(self, line): self.flag_command(self.session.set_logging, line) def help_logging(self): print("Usage: logging {on|off|enable|disable|yes|no}") print("Switch to enable or disable session logging.") def do_log_address(self, line): self.session.set_Log_address(line) def help_log_address(self): print("Usage: log_address ") print("Set the last quad of the address to which to log.") def do_configure(self, line): self.session.configure() return 0 def help_configure(self): print("Usage: configure") print("Writes the configuration to the Linksys.") def do_cache(self, line): print(self.session.pagecache) def help_cache(self): print("Usage: cache") print("Display the page cache.") def do_quit(self, line): return 1 def help_quit(self, line): print("The quit command ends your linksys session without") print("writing configuration changes to the Linksys.") def do_EOF(self, line): print("") self.session.configure() return 1 def help_EOF(self): print("The EOF command writes the configuration to the linksys") print("and ends your session.") def default(self, line): """Pass the command through to be executed by the shell.""" os.system(line) return 0 def help_help(self): print("On-line help is available through this command.") print("? is a convenience alias for help.") def help_introduction(self): print("""\ This program supports changing the settings on Linksys blue-box routers. This capability may come in handy when they freeze up and have to be reset. Though it can be used interactively (and will command-prompt when standard input is a terminal) it is really designed to be used in batch mode. Commands are taken from the command line first, then standard input. By default, it is assumed that the Linksys is at http://192.168.1.1, the default LAN address. You can connect to a different address or IP with the 'connect' command. Note that your .netrc must contain correct user/password credentials for the router. The entry corresponding to the defaults is: machine 192.168.1.1 login "" password admin Most commands queue up changes but don't actually send them to the Linksys. You can force pending changes to be written with 'configure'. Otherwise, they will be shipped to the Linksys at the end of session (e.g. when the program running in batch mode encounters end-of-file or you type a control-D). If you end the session with `quit', pending changes will be discarded. For more help, read the topics 'wan', 'lan', and 'wireless'.""") def help_lan(self): print("""\ The `lan_address' and `lan_netmask' commands let you set the IP location of the Linksys on your LAN, or inside. Normally you'll want to leave these untouched.""") def help_wan(self): print("""\ The WAN commands become significant if you are using the BEFSR41 or any of the other Linksys boxes designed as DSL or cable-modem gateways. You will need to use `wan_type' to declare how you expect to get your address. If your ISP has issued you a static address, you'll need to use the `wan_address', `wan_netmask', and `wan_gateway' commands to set the address of the router as seen from the WAN, the outside. In this case you will also need to use the `dns' command to declare which remote servers your DNS requests should be forwarded to. Some ISPs may require you to set host and domain for use with dynamic-address allocation.""") def help_wireless_desc(self): print("""\ The channel, ssid, ssid_broadcast, wep, and wireless commands control wireless routing.""") def help_switches(self): print("Switches may be turned on with 'on', 'enable', or 'yes'.") print("Switches may be turned off with 'off', 'disable', or 'no'.") print("Switch commands include: wireless, ssid_broadcast.") def help_addresses(self): print("An address argument must be a valid IP address;") print("four decimal numbers separated by dots, each ") print("between 0 and 255.") def emptyline(self): pass interpreter = LinksysInterpreter() for arg in sys.argv[1:]: interpreter.onecmd(arg) fatal = False while not fatal: try: interpreter.cmdloop() fatal = True except LinksysError: message, fatal = sys.exc_info()[1].args print("linksys: " + message) # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: PK!Z+__pycache__/retriever-multi.cpython-312.pycnu[ g ddlZddlZ ddlZddlmZmZejeedZ ejddk(rejjZ n#e ejdjZ e ejdk\re ejdZgZe D]>Zej%Zeredd k(rd e edzzZej)eef@esJd e eZeeeZdecxkr d ksJd Jd edej.ej0fzedededej2Zge_eeD]Zej<Zde_ ejCejDdejCejFdejCejHdejCejJdejCejLdej6j)eej6ddZ'dZ(e(ekrere'rejSd\ZZe'jSZe ede_ ejCejTeejCejVej@ejYeee_ee_ere'r ej[\Z.Z/e.ej`k7rn$ ejc\Z2Z3Z4e3D]}Zej@jkde_ ejmeedej&ej"ejoejpe'j)ee4D]i\ZZ9Z:ej@jkde_ ejmeedej&ej"e9e:e'j)eke(e e3ze e4zZ(e2dk(rn ejwde(ekrej6D]?Zej@!ej@jkde_ ejkAejky#e$rYwxYw#edejdzexYw)N)SIGPIPESIG_IGN -zCUsage: %s [<# of concurrent connections>]#z doc_%03d.datz no URLs giveni'z(invalid number of concurrent connectionsz!PycURL %s (compiled against 0x%x)z ----- Gettingz URLs usingzconnections -----i,wbzSuccess:zFailed: g?)<syspycurlsignalrr ImportErrornum_connargvstdin readlinesurlsopenlenintprint SystemExitqueueurlstripfilenameappendnum_urlsminversionCOMPILE_LIBCURL_VERSION_NUM CurlMultimhandlesrangeiCurlcfpsetoptFOLLOWLOCATION MAXREDIRSCONNECTTIMEOUTTIMEOUTNOSIGNALfreelist num_processedpopURL WRITEDATA add_handleperformret num_handlesE_CALL_MULTI_PERFORM info_readnum_qok_listerr_listclose remove_handlegetinfo EFFECTIVE_URLerrnoerrmsgselectc/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/retriever-multi.pyrKsO $'FMM'7#   xx{cyy""$CHHQK **, 388}sxx{#  C ))+C #a&C-Ua0H LL#x!  ou u: x "HIIIIII)V^^V=_=_,``aoxx9LMF  xA A ADHHV " "A&HHV  q!HHV " "B'HHV^^S!HHV__a IIQ  99Q< h H ! X LLNHd# S! !!144( Q  H 99;[ &-- -  #$;;= wA DDJJLAD OOA  *ajj!%%6;O;O1P Q OOA   !) Auf DDJJLAD OOA  *ajj!%% ? OOA  !) &G 4s8}D A: ! (HHSMMhT Att  GGI   Q   ORURZRZ[\R] ]^ s R A:R, R)(R),SPK!+X  #__pycache__/sfquery.cpython-312.pycnu[ g ddlZddlZddlZGddejZedk(reejdk(rdZnejdZ ejjdZ e \Z Z Z ed Zej#dej%e e ej'd rEej(j+deej-zej.dyej'de zr]ej1eej2j+ej-ej5ej.dyej(j+deej-zej.dyy#eejdkred ejdzeejd Z ejd Z YxYw)NceZdZdZdZdZy)SourceForgeUserSessionc:|jdd|fd|fdddfy)zEstablish a login session.zaccount/login.phpform_loginnameform_pw) return_to) stay_in_ssl1)loginzLogin With SSLN)post)selfnamepasswords [/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/sfquery.pyr zSourceForgeUserSession.logins1 %)94(@)2H(=(9(<(C (E Fc&|jdy)zLog out of SourceForge.zaccount/logout.phpNget)rs rlogoutzSourceForgeUserSession.logouts %&rc,|jd|zy)Nz!export/xml_export.php?group_id=%sr)rnumids r fetch_xmlz SourceForgeUserSession.fetch_xmls 4u<=rN)__name__ __module__ __qualname__r rrrrrrsF'>rr__main__28236zsourceforge.netz,Usage: %s zhttps://sourceforge.net/zInvalid Password or User Namez'Login/password not accepted (%d bytes) zPersonal Page For: zUnexpected page (%d bytes) )sysnetrccurlCurlrrlenargv project_idauthenticatorsauthraccountrprint SystemExitsession set_verbosityr answeredstderrwritebodyexitrstdoutrrrrr8s  >TYY > z 388} XXa[ u{{}++,=>"&gx%%?@G ! MM$!78 Cc',,.FYYZ   /$6 7*% (  7GLLN8KKL A sxx=1  @388A;N O xx{88A;s &F..AHPK!Er/__pycache__/opensocketexception.cpython-312.pycnu[ g]ddlZddlZddlZGddeZdZej Zejejdde_ ejejd ejy#ej$rRZejdej k(rejreejn eeYdZ[yYdZ[ydZ[wwxYw)Nc eZdZy)ConnectionRejectedN)__name__ __module__ __qualname__g/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/opensocketexception.pyrrsr rctjdkr td|_tjS|\}}}}t j |||}|j t jt jd|S)Ng?z3Rejecting connection attempt in opensocket callback) randomr exceptionpycurl SOCKET_BADsocket setsockopt SOL_SOCKET SO_KEEPALIVE)curlpurpose curl_addressfamilysocktypeprotocoladdressss r opensocketrsj }}+,ab   *6'FHh fh1ALL""F$7$7; Hr zhttp://pycurl.ioc$tt||S)N)rc)rrs r r s Z7Gr,s   FKKM"#   <>IIK ||vvayF,,, akk a s-A>>C ACCPK!ٕ+__pycache__/ssh_keyfunction.cpython-312.pycnu[ g.8ddlZdZejZej ej eej ej ddZej ejdej ejeejy)Nzsftp://web.sourceforge.netTc"tjS)N)c KHSTAT_FINE) known_key found_keymatchs c/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/ssh_keyfunction.py keyfunctionr s ==z .known_hosts) pycurl sftp_serverCurlrsetoptURLVERBOSEr SSH_KNOWNHOSTSSSH_KEYFUNCTIONperformr r rsv * FKKM D  >*  K( r PK!,#__pycache__/linksys.cpython-312.pycnu[ g UddlZddlZddlZddlZdZGddej ZGddZedk(reddl Z ddl Z Gdd e jZ e Z ejd dD]Ze j!ed Zes e j%d Zesyyy#e$r/ej&d j(\ZZed ezY9wxYw)Nctjj|tjjdy)N )sysstderrwrite)args [/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/linksys.py print_stderrr %s&JJSJJTceZdZdZy) LinksysErrorc||_yN)args)selfrs r __init__zLinksysError.__init__*s  r N)__name__ __module__ __qualname__rr r r r )sr r ceZdZdZdZdZdZdZdZdZ dd d d d d Z dZ dZ dZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd!Zd"Zd#Z d$Z!d%Z"d&Z#d'Z$d(Z%d)Z&d*Z'd+Z(d,Z)d-Z*d.Z+d/Z,d0Z-d1Z.d2Z/y3)4LinksysSessionz/Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec123456zbasic setup functionszFor security reasons,z-You can configure the router to act as a DHCPz3There are some log settings and lists in this page.z5Port forwarding can be used to set up public services) Passwd.htmz DHCP.htmlzLog.htmlz Forward.htmc<g|_d|_d|_i|_y)Nzhttp://192.168.1.1F)actionshost verbosity pagecachers r rzLinksysSession.__init__As ( r c||_yr)r$rflags r set_verbosityzLinksysSession.set_verbosityGs r c||jvrtj|j}|j |j |j ||j|j|<|jdr tdd|jtj|sD|j|=tdtjj|j|zd|jyy)N401zauthorization failure.Tz!check string for page %s missing!F)r%curlCurlr#r*r$getbodyansweredr r check_stringsospathjoinclose)rpagefetchs r cache_loadzLinksysSession.cache_loadLs t~~ %IIdii(E    / IIdO#(::)splitr"rMrepr)rr7cgiroleipindoctets r set_IP_addresszLinksysSession.set_IP_addressksJXXc]E LL  T4$s1u++=u E F 1HC#r cN|jddtjzdzS)Nrz >([0-9.v]*, (z)[^<]*)<)rFrmonthsr&s r get_firmware_versionz#LinksysSession.get_firmware_versionrs4!!"o"0"7"7'8:D'EH Hr c&|jddS)NrzLAN IP AddressrIr&s r get_LAN_MACzLinksysSession.get_LAN_MACxs##B(9::r c&|jddS)NrWirelessr_r&s r get_Wireless_MACzLinksysSession.get_Wireless_MACzs##B 44r c&|jddS)NrzWAN Connection Typer_r&s r get_WAN_MACzLinksysSession.get_WAN_MAC|s##B(>??r c@|jjdd|fy)NrhostNamerLrnames r set_host_namezLinksysSession.set_host_names RT23r c@|jjdd|fy)Nr DomainNamerLrhs r set_domain_namezLinksysSession.set_domain_names Rt45r c*|jdd|y)NripAddrrZrrWs r set_LAN_IPzLinksysSession.set_LAN_IPs B"-r c|jdst|jdd}|dvrt|jj dd|y)Nz 255.255.255.rQ)rK128192240252rnetMask) startswith ValueErrorrSr"rM)rrWlastquads r set_LAN_netmaskzLinksysSession.set_LAN_netmasksK}}^, 88C=$ < <  B 84r c(|jddy)NrwirelessStatusrOr(s r set_wirelesszLinksysSession.set_wirelesss b*+r c@|jjdd|fy)Nr wirelessESSIDrL)rssids r set_SSIDzLinksysSession.set_SSIDs R$78r c(|jddy)Nr broadcastSSIDrr(s r set_SSID_broadcastz!LinksysSession.set_SSID_broadcasts b/*r c@|jjdd|fy)NrwirelessChannelrL)rchannels r set_channelzLinksysSession.set_channels R!2G<=r c(|jddy)NrWepTyperr(s r set_WEPzLinksysSession.set_WEPs b)$r c@|jjdd|fy)NrWANConnectionTyperL)rtypes r set_connection_typez"LinksysSession.set_connection_types R!4d;>$',,U3r9 ]bdfdkdkdpdpquqzqz}AeB"CDMM5%.1 )5DL))DII.K  % %dnn 5 OOL%- 8    ! r N)0rrrr\WAN_CONNECT_AUTOWAN_CONNECT_STATICWAN_CONNECT_PPOEWAN_CONNECT_RASWAN_CONNECT_PPTPWAN_CONNECT_HEARTBEATr2rr*r9r;rFrIrOrZr]r`rcrerjrmrrr}rrrrrrrrrrrrrrrrrrrrrrr r rr-s >FO .-EKM  M  O1 H ;5@46.5,9+>%=/30:B1=C ;<>B > > r r__main__ceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Zd=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLyK)LLinksysInterpreterz:Interpret commands to perform LinkSys programming actions.ctjj|t|_t j dr*td|jjdz|_ yd|_ tdy)NrzType ? or `help' for help.: rBar1) cmdCmdrrsessionr3isattyprintr#promptr&s r rzLinksysInterpreter.__init__sV GG  T ")+DLyy|23"ll//$6   f r c|jdvr |dy|jdvr |dytdy)N)onenableyesT)offdisablenoFzlinksys: unknown switch valuer)stripr )rfunclines r flag_commandzLinksysInterpreter.flag_commandsHzz|66T  !99U <=r c|j}|rJ||j_|jj|jjdz|_yt |jjy)Nrr)rrr#r;rr)rrnewhosts r do_connectzLinksysInterpreter.do_connects^jjlG$+ ! ((*"ll//$6 dll''(r cFtdtdtdy)Nz!Usage: connect []z+Connect to a Linksys by name or IP address.z0If no argument is given, print the current host.rr&s r help_connectzLinksysInterpreter.help_connects 5 6 ? @ D Er c|jjdd|jjvrtd|jj td|jj td|jj td|jjtdy)Nrz Firmware:zLAN MAC:z Wireless MAC:zWAN MAC:rQr)rr9r%rr]r`rcrerrs r do_statuszLinksysInterpreter.do_statuss LL # #B 'T\\+++k4<<#D#D#FGj$,,":":"<=ot||'D'D'FGj$,,":":"<=c r c\tdtdtdtdy)Nz Usage: statusz3The status command shows the status of the Linksys.z2It is mainly useful as a sanity check to make surez the box is responding correctly.rr&s r help_statuszLinksysInterpreter.help_status s% / " G H F G 4 5r cP|j|jj|yr)rrr*rs r do_verbosezLinksysInterpreter.do_verboses   dll88$ ?r c0tdtdy)Nz-Usage: verbose {on|off|enable|disable|yes|no}z!Enables display of HTTP requests.rr&s r help_verbosezLinksysInterpreter.help_verboses A B 5 6r c:|jj|yNr)rrjrs r do_hostzLinksysInterpreter.do_hosts LL & &t ,r c0tdtdy)NzUsage: host z-Sets the Host field to be queried by the ISP.rr&s r help_hostzLinksysInterpreter.help_hosts * + A Br cPtd|jj|y)NzUsage: host r)rrrmrs r do_domainzLinksysInterpreter.do_domains , - LL ( ( .r ctdy)Nz/Sets the Domain field to be queried by the ISP.rr&s r help_domainzLinksysInterpreter.help_domain#s C Dr c:|jj|yr)rrrrs r do_lan_addressz!LinksysInterpreter.do_lan_address& LL # #D )r c0tdtdy)NzUsage: lan_address zSets the LAN IP address.rr&s r help_lan_addressz#LinksysInterpreter.help_lan_address) 3 4 , -r c:|jj|yr)rr}rs r do_lan_netmaskz!LinksysInterpreter.do_lan_netmask- LL ( ( .r c0tdtdy)NzUsage: lan_netmask Sets the LAN subnetwork mask.rr&s r help_lan_netmaskz#LinksysInterpreter.help_lan_netmask0 0 1 1 2r cP|j|jj|yr)rrrrs r do_wirelesszLinksysInterpreter.do_wireless4s   dll77 >r c0tdtdy)Nz.Usage: wireless {on|off|enable|disable|yes|no}z.Switch to enable or disable wireless features.rr&s r help_wirelessz LinksysInterpreter.help_wireless7s B C B Cr c:|jj|yr)rrrs r do_ssidzLinksysInterpreter.do_ssid;s LL ! !$ 'r c0tdtdy)NzUsage: ssid z.Sets the SSID used to control wireless access.rr&s r help_ssidzLinksysInterpreter.help_ssid>s ( ) B Cr cP|j|jj|yr)rrrrs r do_ssid_broadcastz$LinksysInterpreter.do_ssid_broadcastBs   dll==t Dr c0tdtdy)Nz4Usage: ssid_broadcast {on|off|enable|disable|yes|no}z+Switch to enable or disable SSID broadcast.rr&s r help_ssid_broadcastz&LinksysInterpreter.help_ssid_broadcastEs H I ? @r c:|jj|yr)rrrs r do_channelzLinksysInterpreter.do_channelIs LL $ $T *r c0tdtdy)NzUsage: channel zSets the wireless channel.rr&s r help_channelzLinksysInterpreter.help_channelLs + , . /r cP|j|jj|yr)rrrrs r do_wepzLinksysInterpreter.do_wepPs   dll22D 9r c0tdtdy)Nz)Usage: wep {on|off|enable|disable|yes|no}z)Switch to enable or disable WEP security.rr&s r help_wepzLinksysInterpreter.help_wepSs = > = >r c td|jjz}|jj |y#t $rt dYywxYw)NzLinksysSession.WAN_CONNECT_z!linksys: unknown connection type.r)evalrupperrrr{r )rrrs r do_wan_typezLinksysInterpreter.do_wan_typeWs] B7 8J8J8LLM 006 B@A BsAAAAc0tdtdy)Nz5Usage: wan_type {auto|static|ppoe|ras|pptp|heartbeat}zSet the WAN connection type.rr&s r help_wan_typez LinksysInterpreter.help_wan_type^s I J 0 1r c:|jj|yr)rrrs r do_wan_addressz!LinksysInterpreter.do_wan_addressbrr c0tdtdy)NzUsage: wan_address zSets the WAN IP address.rr&s r help_wan_addressz#LinksysInterpreter.help_wan_addresser r c:|jj|yr)rrrs r do_wan_netmaskz!LinksysInterpreter.do_wan_netmaskirr c0tdtdy)NzUsage: wan_netmask zSets the WAN subnetwork mask.rr&s r help_wan_netmaskz#LinksysInterpreter.help_wan_netmasklrr c:|jj|yr)rset_WAN_gatewayrs r do_wan_gatewayz!LinksysInterpreter.do_wan_gatewayprr c0tdtdy)NzUsage: wan_gateway rrr&s r help_wan_gatewayz#LinksysInterpreter.help_wan_gatewayss 3 4 1 2r c|j\}}|dvr&|jjt||yt dyN)rrrz$linksys: server index out of bounds.r)rSrrr(r rrraddresss r do_dnszLinksysInterpreter.do_dnswsE#zz| UG' ++DKACDr c0tdtdy)NzUsage: dns {1|2|3} z:Sets a primary, secondary, or tertiary DNS server address.rr&s r help_dnszLinksysInterpreter.help_dns~s 0 1 N Or c:|jj|yr)rrrs r do_passwordzLinksysInterpreter.do_passwords LL % %d +r c0tdtdy)NzUsage: password zSets the router password.rr&s r help_passwordz LinksysInterpreter.help_passwords , - - .r cP|j|jj|yr)rrrrs r do_upnpzLinksysInterpreter.do_upnps   dll33T :r c0tdtdy)Nz*Usage: upnp {on|off|enable|disable|yes|no}z4Switch to enable or disable Universal Plug and Play.rr&s r help_upnpzLinksysInterpreter.help_upnps > ? H Ir c8|jjyr)rrrs r do_resetzLinksysInterpreter.do_resets LL   r c0tdtdy)Nz Usage: resetz+Reset Linksys settings to factory defaults.rr&s r help_resetzLinksysInterpreter.help_resets . ! ? @r cP|j|jj|yr)rrrrs r do_dhcpzLinksysInterpreter.do_dhcps   dll33T :r c0tdtdy)Nz*Usage: dhcp {on|off|enable|disable|yes|no}z*Switch to enable or disable DHCP features.rr&s r help_dhcpzLinksysInterpreter.help_dhcps > ? > ?r c:|jj|yr)rrrs r do_dhcp_startz LinksysInterpreter.do_dhcp_starts LL - -d 3r c0tdtdy)NzUsage: dhcp_start z'Set the start address of the DHCP pool.rr&s r help_dhcp_startz"LinksysInterpreter.help_dhcp_starts . / ; 9Set number of address slots to allocate in the DHCP pool.rr&s r help_dhcp_usersz"LinksysInterpreter.help_dhcp_users . / M Nr c:|jj|yr)rset_DHCP_leasers r do_dhcp_leasez LinksysInterpreter.do_dhcp_leaserWr c0tdtdy)NzUsage: dhcp_lease rYrr&s r help_dhcp_leasez"LinksysInterpreter.help_dhcp_leaser[r c|j\}}|dvr&|jjt||yt dyr;)rSrrr(r r<s r do_dhcp_dnszLinksysInterpreter.do_dhcp_dnssE#zz| UG' 00egFCDr c0tdtdy)Nz!Usage: dhcp_dns {1|2|3} z8Sets primary, secondary, or tertiary DNS server address.rr&s r help_dhcp_dnsz LinksysInterpreter.help_dhcp_dnss 5 6 L Mr cP|j|jj|yr)rrrrs r do_loggingzLinksysInterpreter.do_loggings   dll66 =r c0tdtdy)Nz-Usage: logging {on|off|enable|disable|yes|no}z,Switch to enable or disable session logging.rr&s r help_loggingzLinksysInterpreter.help_loggings A B @ Ar c:|jj|yr)rset_Log_addressrs r do_log_addressz!LinksysInterpreter.do_log_addresss LL ( ( .r c0tdtdy)NzUsage: log_address z1Set the last quad of the address to which to log.rr&s r help_log_addressz#LinksysInterpreter.help_log_addresss / 0 E Fr c8|jjyr)rrrs r do_configurezLinksysInterpreter.do_configures LL " " $r c0tdtdy)NzUsage: configurez(Writes the configuration to the Linksys.rr&s r help_configurez!LinksysInterpreter.help_configures $ % < =r cBt|jjyr)rrr%rs r do_cachezLinksysInterpreter.do_caches $,,(( )r c0tdtdy)Nz Usage: cachezDisplay the page cache.rr&s r help_cachezLinksysInterpreter.help_caches . ! + ,r cyr=rrs r do_quitzLinksysInterpreter.do_quitsr c0tdtdy)Nz2The quit command ends your linksys session withoutz-writing configuration changes to the Linksys.rrs r help_quitzLinksysInterpreter.help_quits F G A Br cNtd|jjy)Nrr>)rrrrs r do_EOFzLinksysInterpreter.do_EOFs "I LL " " $r c0tdtdy)Nz7The EOF command writes the configuration to the linksyszand ends your session.rr&s r help_EOFzLinksysInterpreter.help_EOFs K L * +r c.tj|y)z5Pass the command through to be executed by the shell.r)r3systemrs r defaultzLinksysInterpreter.defaults IIdOr c0tdtdy)Nz/On-line help is available through this command.z"? is a convenience alias for help.rr&s r help_helpzLinksysInterpreter.help_helps C D 6 7r ctdy)Na This program supports changing the settings on Linksys blue-box routers. This capability may come in handy when they freeze up and have to be reset. Though it can be used interactively (and will command-prompt when standard input is a terminal) it is really designed to be used in batch mode. Commands are taken from the command line first, then standard input. By default, it is assumed that the Linksys is at http://192.168.1.1, the default LAN address. You can connect to a different address or IP with the 'connect' command. Note that your .netrc must contain correct user/password credentials for the router. The entry corresponding to the defaults is: machine 192.168.1.1 login "" password admin Most commands queue up changes but don't actually send them to the Linksys. You can force pending changes to be written with 'configure'. Otherwise, they will be shipped to the Linksys at the end of session (e.g. when the program running in batch mode encounters end-of-file or you type a control-D). If you end the session with `quit', pending changes will be discarded. For more help, read the topics 'wan', 'lan', and 'wireless'.rr&s r help_introductionz$LinksysInterpreter.help_introductions @ Ar ctdy)NzThe `lan_address' and `lan_netmask' commands let you set the IP location of the Linksys on your LAN, or inside. Normally you'll want to leave these untouched.rr&s r help_lanzLinksysInterpreter.help_lans  r ctdy)Na{The WAN commands become significant if you are using the BEFSR41 or any of the other Linksys boxes designed as DSL or cable-modem gateways. You will need to use `wan_type' to declare how you expect to get your address. If your ISP has issued you a static address, you'll need to use the `wan_address', `wan_netmask', and `wan_gateway' commands to set the address of the router as seen from the WAN, the outside. In this case you will also need to use the `dns' command to declare which remote servers your DNS requests should be forwarded to. Some ISPs may require you to set host and domain for use with dynamic-address allocation.rr&s r help_wanzLinksysInterpreter.help_wans   r ctdy)NzWThe channel, ssid, ssid_broadcast, wep, and wireless commands control wireless routing.rr&s r help_wireless_descz%LinksysInterpreter.help_wireless_descs  r cFtdtdtdy)Nz8Switches may be turned on with 'on', 'enable', or 'yes'.z:Switches may be turned off with 'off', 'disable', or 'no'.z2Switch commands include: wireless, ssid_broadcast.rr&s r help_switchesz LinksysInterpreter.help_switchess L M N O F Gr cFtdtdtdy)Nz/An address argument must be a valid IP address;z-four decimal numbers separated by dots, each zbetween 0 and 255.rr&s r help_addressesz!LinksysInterpreter.help_addresses!s C D A B & 'r cyrrr&s r emptylinezLinksysInterpreter.emptyline&s r N)Mrrr__doc__rrrrrrrrrrrrrr r rrrrrrrr r"r$r&r*r,r.r0r2r4r7r9r>r@rBrDrFrHrJrLrNrPrRrTrVrZr^r`rbrdrfrhrkrmrorqrsrurwryr{r}rrrrrrrrrrr r rrsH    F   6  @ 7  C  E  .  3  D  D  A  0  ?  2  .  3  3  P  /  J ! A ; @ 4 = . O . O  N > B / G  > * -  C  ,   8 A4     H  (  r rr>FTz linksys: )rr?r- exceptionsr Exceptionr rrr3rrr interpreterargvronecmdfatalcmdloopexc_informessagerrr r rsF! :''n n ` zGSWWGR %&Kxx|3 E )    !Ea h  ))S\\^A.33NGU +' ( )sB1CCPK!''%__pycache__/retriever.cpython-312.pycnu[ gi DddlZddlZ ddlZddlZ ddlZddlmZmZej eedZ ejddk(rejjZ n#eejdjZ eejdk\reejdZ ejZe D]HZej)Zeredd k(rd eejdzzZej-eefJejsJd eejZee eZ de cxkr d ksJd Jd edej2ej4fzedede dGddej6ZgZee D]+ZeeZ e jCejEe -eD]Z#e#jIy#e$rddlZYwxYw#e$rYwxYw#edejdzexYw)N)SIGPIPESIG_IGN -zCUsage: %s [<# of concurrent connections>]#z doc_%03d.datz no URLs giveni'z(invalid number of concurrent connectionsz!PycURL %s (compiled against 0x%x)z ----- Gettingz URLs usingzconnections -----ceZdZdZdZy) WorkerThreadcPtjj|||_y)N) threadingThread__init__queue)selfrs ]/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/retriever.pyrzWorkerThread.__init__>s!!$' c |jj\}}t |d}t j}|jt j||jt jd|jt jd|jt jd|jt jd|jt jd|jt j| |j!|j-|j-t&j.j1dt&j.j+#tj$rtwxYw#ddl}|j%t&j(t&j(j+YxYw) Nrwbi,r)file.)r get_nowaitQueueEmpty SystemExitopenpycurlCurlsetoptURLFOLLOWLOCATION MAXREDIRSCONNECTTIMEOUTTIMEOUTNOSIGNAL WRITEDATAperform traceback print_excsysstderrflushclosestdoutwrite)rurlfilenamefpcurlr+s rrunzWorkerThread.runBsQ ! $ 5 5 7 Xh%B;;=D KK C ( KK--q 1 KK((! , KK--r 2 KK , KK + KK((" - #  JJL HHJ JJ  S ! JJ   /;; !   ! # ###4   "sF!F-F*-AG3N)__name__ __module__ __qualname__rr7rrr r =s rr )%r-rr ImportErrorrr signalrrnum_connargvstdin readlinesurlsrlenintprintrr3stripr4putnum_urlsminversionCOMPILE_LIBCURL_VERSION_NUMrr threadsrangedummytstartappendthreadjoinr;rrrTs&$'FMM'7#   xx{cyy""$CHHQK **, 388}sxx{#   C ))+C #a&C-U[[!1A!56H IIsHo  {{#O#{ u{{  x "HIIIIII)V^^V=_=_,``aoxx9LM9##B  8_EUAGGI NN1F KKMs   ORURZRZ[\R] ]^ s.G' G7A:H' G43G47H?HHPK!95Y'__pycache__/file_upload.cpython-312.pycnu[ g ddlZddlZddlZGddZeej dkredej dzeej dZej dZ ejje s ede zeejZ e jejee jej d e jej"eee d j&ejj+e Ze jej.eed e d ee j1e j3y) NceZdZdZdZy) FileReaderc||_yN)fp)selfrs _/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/file_upload.py__init__zFileReader.__init__ s c8|jj|Sr)rread)rsizes r read_callbackzFileReader.read_callback sww||D!!r N)__name__ __module__ __qualname__r rr r rr s "r rz Usage: %s z#Error: the file '%s' does not existrbzUploading file z to url )ossyspycurlrlenargvprint SystemExiturlfilenamepathexistsCurlcsetoptURLUPLOAD READFUNCTIONopenrr getsizefilesize INFILESIZEperformcloserr r r/s*  ""sxx=1 ,sxx{ :;  hhqk 88A; ww~~h /( :; FKKMSHHV *T(D-A"B"P"PQ 77??8 $  H%x56  r PK!أ __pycache__/smtp.cpython-312.pycnu[ gKdddlmZddlZ ddlmZddlZejddkDZ dezZ dZ d Z ejZejej e ejej"e ejej$e gd e d e d Ze rej)d ZeeZejej*eejej,dejej.dej1y#e$r ddlmZYwxYw)) localhostN)BytesIO)StringIOz smtp://%szsender@example.orgzaddressee@example.netzFrom: z To: z7 Subject: PycURL SMTP example SMTP example via PycURL asciiT)rpycurlior ImportErrorrsys version_infoPY3 mail_server mail_frommail_toCurlcsetoptURL MAIL_FROM MAIL_RCPTmessageencodeREADDATAUPLOADVERBOSEperformX/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/smtp.pyr"s  -  qAI% !FKKM i wi '  nnW%G WR4D K-,,-sD D/.D/PK!x'__pycache__/xmlrpc_curl.cpython-312.pycnu[ g0 ddlZddlmZmZejee ddlmZ ddlZddl Z ddl Z e jddkDZ GddejZedk(rDej"de Zee eej(j+d yy#e$rYwxYw#e$r ddlmZn#e$r ddlmZYnwxYwYwxYw#e$r ddlm ZYwxYw#ej,$r e j.d Zed eYywxYw) N)SIGPIPESIG_IGN)StringIOc&eZdZdZdgZddZddZy) CURLTransportz5Handles a cURL HTTP transaction to an XML-RPC server.zContent-Type: text/xmlNctj|_|jjtjd|jjtj d|jjtj d|jjtj|j|dk7r4|dk7r/|jjtj|d|d|_ y)N:F) pycurlCurlcsetoptPOSTNOSIGNALCONNECTTIMEOUT HTTPHEADERxmlrpc_hUSERPWD _use_datetime)selfusernamepasswords _/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/xmlrpc_curl.py__init__zCURLTransport.__init__%s  fkk1%  fooq)  f++R0  f''7 t D 0 FFMM&..Xx*H I"ct}|jjtjd|||jjtj ||jjtj |j|jjtj|||_ |jj|j%d|j'|S#tj$rKtjd}tr |j}t!j"||z|d|ddwxYw)Nzhttp://r r)rrrr URL POSTFIELDS WRITEFUNCTIONwriteVERBOSEverboseperformerrorsysexc_infoPY3args xmlrpclib ProtocolErrorseekparse_response)rhosthandler request_bodyr$bvs rrequestzCURLTransport.request/s J  fjj4"AB  f''6  f**AGG4  fnng.   66>>  q ""1%%||  q!AFF))w!adD   s DAE$)NN)r)__name__ __module__ __qualname____doc__rrr4rrrr s?)+H#&rr__main__zhttp://betty.userland.com) transport)r ERROR)signalrr ImportError cStringIOrior+ xmlrpc.clientclientr r' version_infor) Transportrr5 ServerProxyserverprintexamples getStateNameErrorr(r3r9rrrLs1$'FMM'7# " &  qA!&I''!&H z "Y " "#>-:_>F &M foo**2./ u    %    &%&f ?? CLLN1  gqsi B&B1C!C&&B.-B.1C7B>=C> C  C C  CC C#"C#&,DDPK!LuL6__pycache__/multi-socket_action-select.cpython-312.pycnu[ g?ddlZddlZddlZddlmZeej dkDrej dZndZggddddddZdZ dZ dZ ejZ e jeje e jej e ej"Zejej&eejej(d ejej*d ejej,deZejej0ee j3ee j5ej6dZ ed dk(rned Zeed e e!e j?eejAe jAed eded r e!deejEzye!dededfzy)N)BytesIOzhttps://www.python.org)rlistwlistrunningtimeoutresultcodemsgc|tjk(s|tjk(rtdj |y|tj k(s|tjk(rtdj |y|tj k(rH|tdvrtdj||tdvrtdj|yytd|z)NrrzUnknown value of what: %s) pycurlPOLL_IN POLL_INOUTstateappendPOLL_OUT POLL_REMOVEremove Exception)whatsock_fdmultisocketps n/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/multi-socket_action-select.py socket_fnrOs v~~):):!: gg&  DF,=,=$= gg& ## # eGn $ 'N ! !' * eGn $ 'N ! !' * %3d:;;c tjtdtdttdttdz|\}}}t|dk(rDt|dk(r6t|dk(r(tj t jd\}}n|D])}tj |t j\}}+|D])}tj |t j\}}+|D])}tj |t j\}}+tdtdk7rtj\}}} |dk(sJt|dk(rt| dk(st|dk(rt| dk(sJ|r dtd<| r dtd<| d\} td <td <td<y) NrrrrrTr Fr r ) selectrsetlenr socket_actionr SOCKET_TIMEOUT CSELECT_IN CSELECT_OUT CSELECT_ERR info_read) rrreadywreadyxready_rrqmsg successesfailures_easys rworkr/\s#]] ggE'N(;c%.>Q(QSZ\FFF 6{aCK1,V1A (()>)>B 7G,,Wf6G6GHJAwG,,Wf6H6HIJAwG,,Wf6H6HIJAw Y#53C(C%*OO$5!iqyy9~"s8}'9  Na CMQ$6 77 "E(O #E(O2:! .E5=%,E)rc:|dkr dtd<y|dz td<y)Nrrg@@)r) timeout_mss rtimer_fnr2s$A~ i%.irrrz0Need to poll for I/O but the timeout is not set!r z!Script finished without a result!z'Transfer successful, retrieved %d bytesz Transfer failed with code %d: %sr r )#sysrr iorr argvurlrrr/r2 CurlMultirsetoptM_SOCKETFUNCTIONM_TIMERFUNCTIONCurleasyURLCONNECTTIMEOUTLOW_SPEED_TIMELOW_SPEED_LIMIT_io WRITEDATA add_handler!r"handlesrr remove_handlecloseprintgetvaluerrrKsv sxx=1 ((1+C "C     <4l/  V $ $i0 V # #X.v{{} FJJ F ! !1% F ! !1% F " "A& i F  c"   f33Q 7  Y1  " ?NO O W  D   ? 7 88? 3c#,,.6I IJ ,f uU|/L LMrPK!s&__pycache__/basicfirst.cpython-312.pycnu[ g!ddlZddlZejddkDZGddZej j dejzeZejZ e je jde je jeje je j!eej$y)NceZdZdZdZy)Testc`d|_tr!|jjd|_yy)Nascii)contentsPY3encode)selfs ^/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/basicfirst.py__init__z Test.__init__ s'  MM009DM c,|j|z|_y)N)r )r bufs r body_callbackzTest.body_callbacks + rN)__name__ __module__ __qualname__rrrr rr s : ,rrz Testing %s zhttps://curl.haxx.se/dev/)syspycurl version_infor rstderrwriteversiontCurlcsetoptURL WRITEFUNCTIONrperformcloseprintr rrr r&s  qA,, &..01FFKKM+,!//*  ajjrPK!8xmlrpc_curl.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # We should ignore SIGPIPE when using pycurl.NOSIGNAL - see # the libcurl tutorial for more info. try: import signal from signal import SIGPIPE, SIG_IGN except ImportError: pass else: signal.signal(SIGPIPE, SIG_IGN) try: from cStringIO import StringIO except ImportError: try: from StringIO import StringIO except ImportError: from io import StringIO try: import xmlrpclib except ImportError: import xmlrpc.client as xmlrpclib import pycurl import sys PY3 = sys.version_info[0] > 2 class CURLTransport(xmlrpclib.Transport): """Handles a cURL HTTP transaction to an XML-RPC server.""" xmlrpc_h = [ "Content-Type: text/xml" ] def __init__(self, username=None, password=None): self.c = pycurl.Curl() self.c.setopt(pycurl.POST, 1) self.c.setopt(pycurl.NOSIGNAL, 1) self.c.setopt(pycurl.CONNECTTIMEOUT, 30) self.c.setopt(pycurl.HTTPHEADER, self.xmlrpc_h) if username != None and password != None: self.c.setopt(pycurl.USERPWD, '%s:%s' % (username, password)) self._use_datetime = False def request(self, host, handler, request_body, verbose=0): b = StringIO() self.c.setopt(pycurl.URL, 'http://%s%s' % (host, handler)) self.c.setopt(pycurl.POSTFIELDS, request_body) self.c.setopt(pycurl.WRITEFUNCTION, b.write) self.c.setopt(pycurl.VERBOSE, verbose) self.verbose = verbose try: self.c.perform() except pycurl.error: v = sys.exc_info()[1] if PY3: v = v.args raise xmlrpclib.ProtocolError( host + handler, v[0], v[1], None ) b.seek(0) return self.parse_response(b) if __name__ == "__main__": ## Test server = xmlrpclib.ServerProxy("http://betty.userland.com", transport=CURLTransport()) print(server) try: print(server.examples.getStateName(41)) except xmlrpclib.Error: v = sys.exc_info()[1] print("ERROR", v) PK!ѹ+file_upload.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import os, sys import pycurl # Class which holds a file reference and the read callback class FileReader: def __init__(self, fp): self.fp = fp def read_callback(self, size): return self.fp.read(size) # Check commandline arguments if len(sys.argv) < 3: print("Usage: %s " % sys.argv[0]) raise SystemExit url = sys.argv[1] filename = sys.argv[2] if not os.path.exists(filename): print("Error: the file '%s' does not exist" % filename) raise SystemExit # Initialize pycurl c = pycurl.Curl() c.setopt(pycurl.URL, url) c.setopt(pycurl.UPLOAD, 1) # Two versions with the same semantics here, but the filereader version # is useful when you have to process the data which is read before returning if 1: c.setopt(pycurl.READFUNCTION, FileReader(open(filename, 'rb')).read_callback) else: c.setopt(pycurl.READFUNCTION, open(filename, 'rb').read) # Set size of file to be uploaded. filesize = os.path.getsize(filename) c.setopt(pycurl.INFILESIZE, filesize) # Start transfer print('Uploading file %s to url %s' % (filename, url)) c.perform() c.close() PK!!#i i retriever.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # # Usage: python retriever.py [<# of # concurrent connections>] # import sys, threading try: import Queue except ImportError: import queue as Queue import pycurl # We should ignore SIGPIPE when using pycurl.NOSIGNAL - see # the libcurl tutorial for more info. try: import signal from signal import SIGPIPE, SIG_IGN except ImportError: pass else: signal.signal(SIGPIPE, SIG_IGN) # Get args num_conn = 10 try: if sys.argv[1] == "-": urls = sys.stdin.readlines() else: urls = open(sys.argv[1]).readlines() if len(sys.argv) >= 3: num_conn = int(sys.argv[2]) except: print("Usage: %s [<# of concurrent connections>]" % sys.argv[0]) raise SystemExit # Make a queue with (url, filename) tuples queue = Queue.Queue() for url in urls: url = url.strip() if not url or url[0] == "#": continue filename = "doc_%03d.dat" % (len(queue.queue) + 1) queue.put((url, filename)) # Check args assert queue.queue, "no URLs given" num_urls = len(queue.queue) num_conn = min(num_conn, num_urls) assert 1 <= num_conn <= 10000, "invalid number of concurrent connections" print("PycURL %s (compiled against 0x%x)" % (pycurl.version, pycurl.COMPILE_LIBCURL_VERSION_NUM)) print("----- Getting", num_urls, "URLs using", num_conn, "connections -----") class WorkerThread(threading.Thread): def __init__(self, queue): threading.Thread.__init__(self) self.queue = queue def run(self): while 1: try: url, filename = self.queue.get_nowait() except Queue.Empty: raise SystemExit fp = open(filename, "wb") curl = pycurl.Curl() curl.setopt(pycurl.URL, url) curl.setopt(pycurl.FOLLOWLOCATION, 1) curl.setopt(pycurl.MAXREDIRS, 5) curl.setopt(pycurl.CONNECTTIMEOUT, 30) curl.setopt(pycurl.TIMEOUT, 300) curl.setopt(pycurl.NOSIGNAL, 1) curl.setopt(pycurl.WRITEDATA, fp) try: curl.perform() except: import traceback traceback.print_exc(file=sys.stderr) sys.stderr.flush() curl.close() fp.close() sys.stdout.write(".") sys.stdout.flush() # Start a bunch of threads threads = [] for dummy in range(num_conn): t = WorkerThread(queue) t.start() threads.append(t) # Wait for all threads to finish for thread in threads: thread.join() PK!OX_]]opensocketexception.pynu[# Exposing rich exception information from callbacks example import pycurl, random, socket class ConnectionRejected(Exception): pass def opensocket(curl, purpose, curl_address): if random.random() < 0.5: curl.exception = ConnectionRejected('Rejecting connection attempt in opensocket callback') return pycurl.SOCKET_BAD family, socktype, protocol, address = curl_address s = socket.socket(family, socktype, protocol) s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) return s c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io') c.exception = None c.setopt(c.OPENSOCKETFUNCTION, lambda purpose, address: opensocket(c, purpose, address)) try: c.perform() except pycurl.error as e: if e.args[0] == pycurl.E_COULDNT_CONNECT and c.exception: print(c.exception) else: print(e) PK!%ק  retriever-multi.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # # Usage: python retriever-multi.py [<# of # concurrent connections>] # import sys import pycurl # We should ignore SIGPIPE when using pycurl.NOSIGNAL - see # the libcurl tutorial for more info. try: import signal from signal import SIGPIPE, SIG_IGN except ImportError: pass else: signal.signal(SIGPIPE, SIG_IGN) # Get args num_conn = 10 try: if sys.argv[1] == "-": urls = sys.stdin.readlines() else: urls = open(sys.argv[1]).readlines() if len(sys.argv) >= 3: num_conn = int(sys.argv[2]) except: print("Usage: %s [<# of concurrent connections>]" % sys.argv[0]) raise SystemExit # Make a queue with (url, filename) tuples queue = [] for url in urls: url = url.strip() if not url or url[0] == "#": continue filename = "doc_%03d.dat" % (len(queue) + 1) queue.append((url, filename)) # Check args assert queue, "no URLs given" num_urls = len(queue) num_conn = min(num_conn, num_urls) assert 1 <= num_conn <= 10000, "invalid number of concurrent connections" print("PycURL %s (compiled against 0x%x)" % (pycurl.version, pycurl.COMPILE_LIBCURL_VERSION_NUM)) print("----- Getting", num_urls, "URLs using", num_conn, "connections -----") # Pre-allocate a list of curl objects m = pycurl.CurlMulti() m.handles = [] for i in range(num_conn): c = pycurl.Curl() c.fp = None c.setopt(pycurl.FOLLOWLOCATION, 1) c.setopt(pycurl.MAXREDIRS, 5) c.setopt(pycurl.CONNECTTIMEOUT, 30) c.setopt(pycurl.TIMEOUT, 300) c.setopt(pycurl.NOSIGNAL, 1) m.handles.append(c) # Main loop freelist = m.handles[:] num_processed = 0 while num_processed < num_urls: # If there is an url to process and a free curl object, add to multi stack while queue and freelist: url, filename = queue.pop(0) c = freelist.pop() c.fp = open(filename, "wb") c.setopt(pycurl.URL, url) c.setopt(pycurl.WRITEDATA, c.fp) m.add_handle(c) # store some info c.filename = filename c.url = url # Run the internal curl state machine for the multi stack while 1: ret, num_handles = m.perform() if ret != pycurl.E_CALL_MULTI_PERFORM: break # Check for curl objects which have terminated, and add them to the freelist while 1: num_q, ok_list, err_list = m.info_read() for c in ok_list: c.fp.close() c.fp = None m.remove_handle(c) print("Success:", c.filename, c.url, c.getinfo(pycurl.EFFECTIVE_URL)) freelist.append(c) for c, errno, errmsg in err_list: c.fp.close() c.fp = None m.remove_handle(c) print("Failed: ", c.filename, c.url, errno, errmsg) freelist.append(c) num_processed = num_processed + len(ok_list) + len(err_list) if num_q == 0: break # Currently no more I/O is pending, could do something in the meantime # (display a progress bar, etc.). # We just call select() to sleep until some more data is available. m.select(1.0) # Cleanup for c in m.handles: if c.fp is not None: c.fp.close() c.fp = None c.close() m.close() PK! sfquery.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # # sfquery -- Source Forge query script using the ClientCGI high-level interface # # Retrieves a SourceForge XML export object for a given project. # Specify the *numeric* project ID. the user name, and the password, # as arguments. If you have a valid ~/.netrc entry for sourceforge.net, # you can just give the project ID. # # By Eric S. Raymond, August 2002. All rites reversed. import sys, netrc import curl class SourceForgeUserSession(curl.Curl): # SourceForge-specific methods. Sensitive to changes in site design. def login(self, name, password): "Establish a login session." self.post("account/login.php", (("form_loginname", name), ("form_pw", password), ("return_to", ""), ("stay_in_ssl", "1"), ("login", "Login With SSL"))) def logout(self): "Log out of SourceForge." self.get("account/logout.php") def fetch_xml(self, numid): self.get("export/xml_export.php?group_id=%s" % numid) if __name__ == "__main__": if len(sys.argv) == 1: project_id = '28236' # PyCurl project ID else: project_id = sys.argv[1] # Try to grab authenticators out of your .netrc try: auth = netrc.netrc().authenticators("sourceforge.net") name, account, password = auth except: if len(sys.argv) < 4: print("Usage: %s " % sys.argv[0]) raise SystemExit name = sys.argv[2] password = sys.argv[3] session = SourceForgeUserSession("https://sourceforge.net/") session.set_verbosity(0) session.login(name, password) # Login could fail. if session.answered("Invalid Password or User Name"): sys.stderr.write("Login/password not accepted (%d bytes)\n" % len(session.body())) sys.exit(1) # We'll see this if we get the right thing. elif session.answered("Personal Page For: " + name): session.fetch_xml(project_id) sys.stdout.write(session.body()) session.logout() sys.exit(0) # Or maybe SourceForge has changed its site design so our check strings # are no longer valid. else: sys.stderr.write("Unexpected page (%d bytes)\n"%len(session.body())) sys.exit(1) PK!pKKsmtp.pynu[# Based on the simple libcurl SMTP example: # https://github.com/bagder/curl/blob/master/docs/examples/smtp-mail.c # There are other SMTP examples in that directory that you may find helpful. from . import localhost import pycurl try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO import sys PY3 = sys.version_info[0] > 2 mail_server = 'smtp://%s' % localhost mail_from = 'sender@example.org' mail_to = 'addressee@example.net' c = pycurl.Curl() c.setopt(c.URL, mail_server) c.setopt(c.MAIL_FROM, mail_from) c.setopt(c.MAIL_RCPT, [mail_to]) message = '''\ From: %s To: %s Subject: PycURL SMTP example SMTP example via PycURL ''' % (mail_from, mail_to) if PY3: message = message.encode('ascii') # libcurl does not perform buffering, therefore # we need to wrap the message string into a BytesIO or StringIO. io = BytesIO(message) c.setopt(c.READDATA, io) # If UPLOAD is not set, libcurl performs SMTP VRFY. # Setting UPLOAD to True sends a message. c.setopt(c.UPLOAD, True) # Observe SMTP conversation. c.setopt(c.VERBOSE, True) c.perform() PK!Оquickstart/get_python3_https.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl import certifi from io import BytesIO buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) c.setopt(c.CAINFO, certifi.where()) c.perform() c.close() body = buffer.getvalue() # Body is a byte string. # We have to know the encoding in order to print it to a text file # such as standard output. print(body.decode('iso-8859-1')) PK!b,quickstart/get_python2.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl from StringIO import StringIO buffer = StringIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) # For older PycURL versions: #c.setopt(c.WRITEFUNCTION, buffer.write) c.perform() c.close() body = buffer.getvalue() # Body is a string in some encoding. # In Python 2, we can print it without knowing what the encoding is. print(body) PK!ԃ+,,quickstart/put_file.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/put') c.setopt(c.UPLOAD, 1) file = open(__file__) c.setopt(c.READDATA, file) c.perform() c.close() # File must be kept open while Curl object is using it file.close() PK!&%F8quickstart/__pycache__/get_python3_https.cpython-312.pycnu[ gddlZddlZddlmZeZej ZejejdejejeejejejejejejZeej#dy)N)BytesIOzhttp://pycurl.io/z iso-8859-1)pycurlcertifiiorbufferCurlcsetoptURL WRITEDATACAINFOwhereperformclosegetvaluebodyprintdecodep/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/get_python3_https.pyrs  FKKM#$f=7==?#   dkk, rPK!9))0quickstart/__pycache__/form_post.cpython-312.pycnu[ g4&ddlZ ddlmZej ZejejdddiZ ee Z ejeje ejejy#e$r ddlmZYwxYw)N) urlencodezhttps://httpbin.org/postfieldvalue)pycurl urllib.parser ImportErrorurllibCurlcsetoptURL post_data postfields POSTFIELDSperformcloseh/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/form_post.pyrs !& FKKM*+ g  y ! z"  !! !sB BBPK!_a/||*quickstart/__pycache__/get.cpython-312.pycnu[ gGjddlZ ddlmZeZej ZejejdejejeejejejZeej!dy#e$r ddlmZYwxYw)N)BytesIO)StringIOzhttp://pycurl.io/z iso-8859-1)pycurlior ImportErrorrbufferCurlcsetoptURL WRITEDATAperformclosegetvaluebodyprintdecodeb/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/get.pyrs - FKKM#$f   dkk, !-,-sB$$ B21B2PK!w&Q1quickstart/__pycache__/put_buffer.cpython-312.pycnu[ gxddlZ ddlmZej ZejejdejejddZ ee jdZ ejeje ejejy#e$r ddlmZYwxYw)N)BytesIO)StringIOzhttps://httpbin.org/putz {"json":true}zutf-8)pycurlior ImportErrorrCurlcsetoptURLUPLOADdataencodebufferREADDATAperformclosei/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/put_buffer.pyrs -FKKM)*1 W% &V  -,-sB++ B98B9PK!-tu2quickstart/__pycache__/get_python2.cpython-312.pycnu[ g(ddlZddlmZeZejZej ej dej ejeejejejZ e e y)N)StringIOzhttp://pycurl.io/) pycurlrbufferCurlcsetoptURL WRITEDATAperformclosegetvaluebodyprintj/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/get_python2.pyrso  FKKM#$f   d rPK!qrpp8quickstart/__pycache__/get_python2_https.cpython-312.pycnu[ gddlZddlZddlmZeZejZej ejdej ejeej ejejejejejZeey)N)StringIOzhttp://pycurl.io/)pycurlcertifirbufferCurlcsetoptURL WRITEDATACAINFOwhereperformclosegetvaluebodyprintp/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/get_python2_https.pyrs  FKKM#$f=7==?#   d rPK!̜M24quickstart/__pycache__/response_info.cpython-312.pycnu[ gddlZ ddlmZeZej Zejejdejejeeje dejejze dejejzej!y#e$r ddlmZYwxYw)N)BytesIO)StringIOzhttp://pycurl.io/z Status: %dzTime: %f)pycurlior ImportErrorrbufferCurlcsetoptURL WRITEDATAperformprintgetinfo RESPONSE_CODE TOTAL_TIMEclosel/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/response_info.pyrs - FKKM#$f lQYYq//0j199Q\\**+ -,-sC CCPK!nMM6quickstart/__pycache__/follow_redirect.cpython-312.pycnu[ gddlZejZejejdejej dej ejy)Nzhttp://www.python.org/T)pycurlCurlcsetoptURLFOLLOWLOCATIONperformclosen/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/follow_redirect.pyrsP FKKM()  4   r PK!ǰC2quickstart/__pycache__/get_python3.cpython-312.pycnu[ gFddlZddlmZeZejZej ejdej ejeejejejZ e e jdy)N)BytesIOzhttp://pycurl.io/z iso-8859-1)pycurliorbufferCurlcsetoptURL WRITEDATAperformclosegetvaluebodyprintdecodej/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/get_python3.pyrsw  FKKM#$f   dkk, rPK!p57quickstart/__pycache__/file_upload_real.cpython-312.pycnu[ g#ddlZejZejejdejej dej effgejejy)Nzhttps://httpbin.org/post fileupload) pycurlCurlcsetoptURLHTTPPOST FORM_FILE__file__performcloseo/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/file_upload_real.pyrsk FKKM*+ X  rPK!l1quickstart/__pycache__/write_file.cpython-312.pycnu[ geddlZedd5ZejZej ej dej ejeejejdddy#1swYyxYw)Nzout.htmlwbzhttp://pycurl.io/) pycurlopenfCurlcsetoptURL WRITEDATAperformclosei/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/write_file.pyrsh  *dq AHHQUU'(HHQ[[!IIKGGI s A*BB PK!5S7quickstart/__pycache__/response_headers.cpython-312.pycnu[ g1|ddlZddlZ ddlmZiZdZeZejZ e je jde je jeje je jee j!e j#dZdevrDedj'Zej*deZerej/dZed eze d Zed ezej3Zeej7ey#e$r ddlmZY*wxYw) N)BytesIO)StringIOc|jd}d|vry|jdd\}}|j}|j}|j}|t|<y)N iso-8859-1:)decodesplitstriplowerheaders) header_linenamevalues o/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/response_headers.pyheader_functionr si$$\2K  +##C+KD% ::r+s(  - 8 FKKM"#&,,'  ?+   W>*002L BIIo| 4E ;;q> !H,- H #h ./ dkk(w-,,-sD,, D;:D;PK!<'44=quickstart/__pycache__/file_upload_real_fancy.cpython-312.pycnu[ g ,ddlZejZejejdejej dej eejdejdffgejejy)Nzhttps://httpbin.org/post fileuploadz helloworld.pyzapplication/x-python) pycurlCurlcsetoptURLHTTPPOST FORM_FILE__file__ FORM_FILENAMEFORM_CONTENTTYPEperformcloseu/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/file_upload_real_fancy.pyrs FKKM*+ X  2     rPK!#I)9quickstart/__pycache__/file_upload_buffer.cpython-312.pycnu[ g7ddlZejZejejdejej dej dejdffgejejy)Nzhttps://httpbin.org/post fileuploadz readme.txtzThis is a fancy readme file) pycurlCurlcsetoptURLHTTPPOST FORM_BUFFERFORM_BUFFERPTRperformcloseq/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/file_upload_buffer.pyrsw FKKM*+ | 7  rPK! /quickstart/__pycache__/put_file.cpython-312.pycnu[ g,FddlZejZejejdejej deeZejejeejejejy)Nzhttps://httpbin.org/put) pycurlCurlcsetoptURLUPLOADopen__file__fileREADDATAperformcloseg/opt/hc_python/lib64/python3.12/site-packages/../../../share/doc/pycurl/examples/quickstart/put_file.pyrsr FKKM)*1 H~T   rPK![77 quickstart/file_upload_buffer.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/post') c.setopt(c.HTTPPOST, [ ('fileupload', ( c.FORM_BUFFER, 'readme.txt', c.FORM_BUFFERPTR, 'This is a fancy readme file', )), ]) c.perform() c.close() PK!YQ11quickstart/response_headers.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl import re try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO headers = {} def header_function(header_line): # HTTP standard specifies that headers are encoded in iso-8859-1. # On Python 2, decoding step can be skipped. # On Python 3, decoding step is required. header_line = header_line.decode('iso-8859-1') # Header lines include the first status line (HTTP/1.x ...). # We are going to ignore all lines that don't have a colon in them. # This will botch headers that are split on multiple lines... if ':' not in header_line: return # Break the header line into header name and value. name, value = header_line.split(':', 1) # Remove whitespace that may be present. # Header lines include the trailing newline, and there may be whitespace # around the colon. name = name.strip() value = value.strip() # Header names are case insensitive. # Lowercase name here. name = name.lower() # Now we can actually record the header name and value. headers[name] = value buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io') c.setopt(c.WRITEFUNCTION, buffer.write) # Set our header function. c.setopt(c.HEADERFUNCTION, header_function) c.perform() c.close() # Figure out what encoding was sent with the response, if any. # Check against lowercased header name. encoding = None if 'content-type' in headers: content_type = headers['content-type'].lower() match = re.search('charset=(\S+)', content_type) if match: encoding = match.group(1) print('Decoding using %s' % encoding) if encoding is None: # Default encoding for HTML is iso-8859-1. # Other content types may have different default encoding, # or in case of binary data, may have no encoding at all. encoding = 'iso-8859-1' print('Assuming encoding is %s' % encoding) body = buffer.getvalue() # Decode using the encoding we figured out. print(body.decode(encoding)) PK!i%quickstart/response_info.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) c.perform() # HTTP response code, e.g. 200. print('Status: %d' % c.getinfo(c.RESPONSE_CODE)) # Elapsed time for the transfer. print('Time: %f' % c.getinfo(c.TOTAL_TIME)) # getinfo must be called before close. c.close() PK!%quickstart/get_python2_https.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl import certifi from StringIO import StringIO buffer = StringIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) # For older PycURL versions: #c.setopt(c.WRITEFUNCTION, buffer.write) c.setopt(c.CAINFO, certifi.where()) c.perform() c.close() body = buffer.getvalue() # Body is a string in some encoding. # In Python 2, we can print it without knowing what the encoding is. print(body) PK! GGquickstart/get.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) # For older PycURL versions: #c.setopt(c.WRITEFUNCTION, buffer.write) c.perform() c.close() body = buffer.getvalue() # Body is a string on Python 2 and a byte string on Python 3. # If we know the encoding, we can always decode the body and # end up with a Unicode string. print(body.decode('iso-8859-1')) PK!WJA44quickstart/form_post.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl try: # python 3 from urllib.parse import urlencode except ImportError: # python 2 from urllib import urlencode c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/post') post_data = {'field': 'value'} # Form data must be provided already urlencoded. postfields = urlencode(post_data) # Sets request method to POST, # Content-Type header to application/x-www-form-urlencoded # and data to send in request body. c.setopt(c.POSTFIELDS, postfields) c.perform() c.close() PK!quickstart/get_python3.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl from io import BytesIO buffer = BytesIO() c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, buffer) c.perform() c.close() body = buffer.getvalue() # Body is a byte string. # We have to know the encoding in order to print it to a text file # such as standard output. print(body.decode('iso-8859-1')) PK!p$quickstart/put_buffer.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl try: from io import BytesIO except ImportError: from StringIO import StringIO as BytesIO c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/put') c.setopt(c.UPLOAD, 1) data = '{"json":true}' # READDATA requires an IO-like object; a string is not accepted # encode() is necessary for Python 3 buffer = BytesIO(data.encode('utf-8')) c.setopt(c.READDATA, buffer) c.perform() c.close() PK!hPW$quickstart/file_upload_real_fancy.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/post') c.setopt(c.HTTPPOST, [ ('fileupload', ( # upload the contents of this file c.FORM_FILE, __file__, # specify a different file name for the upload c.FORM_FILENAME, 'helloworld.py', # specify a different content type c.FORM_CONTENTTYPE, 'application/x-python', )), ]) c.perform() c.close() PK!eequickstart/write_file.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl # As long as the file is opened in binary mode, both Python 2 and Python 3 # can write response body to it without decoding. with open('out.html', 'wb') as f: c = pycurl.Curl() c.setopt(c.URL, 'http://pycurl.io/') c.setopt(c.WRITEDATA, f) c.perform() c.close() PK!~,quickstart/follow_redirect.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl c = pycurl.Curl() # Redirects to https://www.python.org/. c.setopt(c.URL, 'http://www.python.org/') # Follow redirect. c.setopt(c.FOLLOWLOCATION, True) c.perform() c.close() PK!~(##quickstart/file_upload_real.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import pycurl c = pycurl.Curl() c.setopt(c.URL, 'https://httpbin.org/post') c.setopt(c.HTTPPOST, [ ('fileupload', ( # upload the contents of this file c.FORM_FILE, __file__, )), ]) c.perform() c.close() PK!3??multi-socket_action-select.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et # Retrieves a single URL using the CurlMulti.socket_action calls, using # select as the I/O polling mechanism: # # First, create a Multi object, and set socket and timer callbacks on it. # Observed side effect: this causes the timer callback to be immediately # invoked with the zero value for the timeout. # # The timer callback is very simple - it stores the timeout value passed # into it in the global state for future use by the select calls that # we will be making. # # The socket callback is more complicated. Its job is to add and remove # socket handles to/from the data structure that we use for waiting for # activity on them. The callback is invoked with a socket handle and the # needed action (add for reading, add for writing or remove). # Since this script utilizes the select call for waiting for activity, # the socket callback updates the list of sockets which we should be # polling for readability and the list that we should be polling for # writability, which are then passed to the select call (and both of the # sets are passed as the sockets to wait for errors/exceptions on). # # Next, create a Curl object (mapping to a libcurl easy handle), set the URL # we are going to retrieve as well as any transfer options. This script sets # the timeout to 5 seconds to be able to test failing transfers easily. # # Add the Curl object to the Multi object. # # Invoke Multi.socket_action to start the retrieval operation. # Observed side effect: this causes the timer callback to be invoked # with a greater than zero value for the timeout. # # By now we should have initialized our own state, which this script does # prior to invoking any libcurl functions. Importantly, the state includes # the timeout value that was communicated to us by libcurl. # # Run a loop which waits for activity on any of the sockets used by libcurl. # The sockets are set that the socket callback has produced as of the # present moment; the timeout is the most recent timeout value received by # the timer callback. # # Importantly, the loop should not simply sleep for the entire # timeout interval, as that would cause the transfer to take a very long time. # It is *required* to use something like a select call to wait for activity # on any of the sockets currently active for *up to* the timeout value. # # The loop terminates when the number of active transfers (handles in libcurl # parlance) reaches zero. This number is provided by each socket_action # call, which is why each call (even the ones that are called due to # timeout being reached, as opposed to any socket activity) must update # the number of running handles. # # After the loop terminates, clean up everything: remove the easy object from # the multi object, close the easy object, close the multi object. import sys, select import pycurl from io import BytesIO if len(sys.argv) > 1: url = sys.argv[1] else: url = 'https://www.python.org' state = { 'rlist': [], 'wlist': [], 'running': None, 'timeout': None, 'result': None, # If the transfer failed, code and msg will be filled in. 'code': None, 'msg': None, } def socket_fn(what, sock_fd, multi, socketp): if what == pycurl.POLL_IN or what == pycurl.POLL_INOUT: state['rlist'].append(sock_fd) elif what == pycurl.POLL_OUT or what == pycurl.POLL_INOUT: state['wlist'].append(sock_fd) elif what == pycurl.POLL_REMOVE: if sock_fd in state['rlist']: state['rlist'].remove(sock_fd) if sock_fd in state['wlist']: state['wlist'].remove(sock_fd) else: raise Exception("Unknown value of what: %s" % what) def work(timeout): rready, wready, xready = select.select( state['rlist'], state['wlist'], set(state['rlist']) | set(state['wlist']), timeout) if len(rready) == 0 and len(wready) == 0 and len(xready) == 0: # The number of running handles must be updated after each # call to socket_action, which includes those with the SOCKET_TIMEOUT # argument (otherwise e.g. a transfer which failed due to # exceeding the connection timeout would hang). _, running = multi.socket_action(pycurl.SOCKET_TIMEOUT, 0) else: for sock_fd in rready: # socket_action returns a tuple whose first element is always the # CURLE_OK value (0), ignore it and use the second element only. _, running = multi.socket_action(sock_fd, pycurl.CSELECT_IN) for sock_fd in wready: _, running = multi.socket_action(sock_fd, pycurl.CSELECT_OUT) for sock_fd in xready: _, running = multi.socket_action(sock_fd, pycurl.CSELECT_ERR) # Since we are only performing a single transfer, we could call # Multi.info_read after the I/O loop terminates. # In practice, you would probably use socket_action with multiple # transfers, and you may want to be notified about transfer completion # as soon as the result is available. if state['running'] is not None and running != state['running']: # Some handle has completed. # # Note that socket_action was potentially called multiple times # in this function (e.g. if both a read handle became ready and a # different write handle became ready), therefore it is possible # that multiple handles have completed. In this particular script # we are only performing a single transfer (one # Curl object / easy handle), therefore only one transfer can ever # possibly complete. qmsg, successes, failures = multi.info_read() # We should have retrieved all of the available statuses, leaving # none in the queue. assert qmsg == 0 # We have only one transfer. assert len(successes) == 1 and len(failures) == 0 or \ len(successes) == 0 and len(failures) == 1 if successes: state['result'] = True if failures: state['result'] = False # The failures array contains tuples of # (easy object, CURLE code, error message). _easy, state['code'], state['msg'] = failures[0] state['running'] = running def timer_fn(timeout_ms): if timeout_ms < 0: # libcurl passes a negative timeout value when no further # calls should be made. state['timeout'] = None else: state['timeout'] = timeout_ms / 1000.0 multi = pycurl.CurlMulti() multi.setopt(pycurl.M_SOCKETFUNCTION, socket_fn) multi.setopt(pycurl.M_TIMERFUNCTION, timer_fn) easy = pycurl.Curl() easy.setopt(pycurl.URL, url) # Uncomment to see what libcurl is doing throughout the transfer. #easy.setopt(pycurl.VERBOSE, 1) easy.setopt(pycurl.CONNECTTIMEOUT, 5) easy.setopt(pycurl.LOW_SPEED_TIME, 5) easy.setopt(pycurl.LOW_SPEED_LIMIT, 1) _io = BytesIO() easy.setopt(pycurl.WRITEDATA, _io) multi.add_handle(easy) handles = multi.socket_action(pycurl.SOCKET_TIMEOUT, 0) # This should invoke the timer function with a timeout value. while True: if state['running'] == 0: break else: # By the time we get here, timer function should have been already # invoked at least once so that we have a libcurl-supplied # timeout value. But in case this hasn't happened, default the timeout # to 1 second. timeout = state['timeout'] if timeout is None: raise Exception('Need to poll for I/O but the timeout is not set!') work(timeout) multi.remove_handle(easy) easy.close() multi.close() # Uncomment to print the retrieved contents. #print(_io.getvalue().decode()) if state['result'] is None: raise Exception('Script finished without a result!') if state['result']: print('Transfer successful, retrieved %d bytes' % len(_io.getvalue())) else: print('Transfer failed with code %d: %s' % (state['code'], state['msg'])) PK!^7..ssh_keyfunction.pynu[import pycurl sftp_server = 'sftp://web.sourceforge.net' c = pycurl.Curl() c.setopt(c.URL, sftp_server) c.setopt(c.VERBOSE, True) def keyfunction(known_key, found_key, match): return c.KHSTAT_FINE c.setopt(c.SSH_KNOWNHOSTS, '.known_hosts') c.setopt(c.SSH_KEYFUNCTION, keyfunction) c.perform() PK!8!! basicfirst.pynu[#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import sys import pycurl PY3 = sys.version_info[0] > 2 class Test: def __init__(self): self.contents = '' if PY3: self.contents = self.contents.encode('ascii') def body_callback(self, buf): self.contents = self.contents + buf sys.stderr.write("Testing %s\n" % pycurl.version) t = Test() c = pycurl.Curl() c.setopt(c.URL, 'https://curl.haxx.se/dev/') c.setopt(c.WRITEFUNCTION, t.body_callback) c.perform() c.close() print(t.contents) PK! single_link_example.phpnu[_my_number = $num; $this->_my_letter = $letter; } function getNumber() { return $this->_my_number; } function getLetter() { return $this->_my_letter; } function setNumb($numb) { $this->_my_number = $numb; } function __toString() { return "{$this->getNumber()}"; } } /* To enable key=>value iteration, we must override the default key() * method in Structures_LinkedList_Single to return a meaningful value */ class LinkListTester extends Structures_LinkedList_Single { function key() { return $this->current()->getLetter(); } } /* Now we'll create some instances of the new class */ $node1 = new LinkNodeTester(1, 'a'); $node2 = new LinkNodeTester(2, 'b'); $node3 = new LinkNodeTester(3, 'c'); $node4 = new LinkNodeTester(4, 'd'); $node5 = new LinkNodeTester(5, 'e'); /* Start by instantiating a list object. * You can either pass the first node to the constructor, * or leave it null and add nodes later. */ $list = new LinkListTester($node1); // 1 /* appendNode() adds a node to the end of the list */ $list->appendNode($node2); // 1-2 /* prependNode() adds a node to the start of the list */ $list->prependNode($node3); // 3-1-2 /* insertNode($new_node, $reference_node, $before) adds a node * before the reference node if the third parameter is true, * or after the reference node if the third parameter is false */ $list->insertNode($node4, $node2, true); // 3-1-4-2 /* current() returns the current pointer node in the list */ $link = $list->current(); // 1 /* You can iterate through a list with the next() method */ do { print $link->getNumber(); } while ($link = $list->next()); // 1-4-2 /* rewind() resets the pointer to the root node of the list */ $link = $list->rewind(); // 3 /* You can also iterate through a list with foreach() */ foreach ($list as $bull) { print $bull->getNumber(); } // 3-1-4-2 /* Override the key() method to enable $key=>$value iteration */ foreach ($list as $key=>$value) { print "$key => $value\n"; } /* end() resets the pointer to the last node of the list */ $link = $list->end(); // 2 /* You can iterate backwards through a list with previous() */ do { print $link->getNumber(); } while ($link = $list->previous()); // 2-4-1-3 ?> PK!p| | double_link_example.phpnu[_my_number = $number; $this->_my_letter = $letter; } function getNumber() { return $this->_my_number; } function getLetter() { return $this->_my_letter; } function setNumb($number) { $this->_my_number = $number; } function __toString() { return "{$this->getNumber()}"; } } /* To enable key=>value iteration, we must override the default key() * method in Structures_LinkedList_Double to return a meaningful value */ class LinkListTester extends Structures_LinkedList_Double { function key() { return $this->current()->getLetter(); } } /* Now we'll create some instances of the new class */ $node1 = new LinkNodeTester(1, 'a'); $node2 = new LinkNodeTester(2, 'b'); $node3 = new LinkNodeTester(3, 'c'); $node4 = new LinkNodeTester(4, 'd'); $node5 = new LinkNodeTester(5, 'e'); /* Start by instantiating a list object. * You can either pass the first node to the constructor, * or leave it null and add nodes later. */ $list = new LinkListTester($node1); // 1 /* appendNode() adds a node to the end of the list */ $list->appendNode($node2); // 1-2 /* prependNode() adds a node to the start of the list */ $list->prependNode($node3); // 3-1-2 /* insertNode($new_node, $reference_node, $before) adds a node * before the reference node if the third parameter is true, * or after the reference node if the third parameter is false */ $list->insertNode($node4, $node1); // 3-1-4-2 $list->insertNode($node5, $node1, true); // 3-5-1-4-2 /* current() returns the current pointer node in the list */ $link = $list->current(); print $link->getNumber(); // "1" /* rewind() resets the pointer to the root node of the list */ $link = $list->rewind(); print $link->getNumber(); // "3" // iterate through the list with do...while() do { print $link->getNumber(); } while ($link = $list->next()); // "35142" /* You can also iterate through a list with foreach() */ foreach ($list as $bull) { print $bull->getNumber(); } // 3-1-4-2 /* Override the key() method to enable $key=>$value iteration */ foreach ($list as $key=>$value) { print "$key => $value\n"; } /* end() resets the pointer to the last node of the list */ $link = $list->end(); print $link->getNumber(); // "2" /* You can iterate backwards through a list with previous() */ do { print $link->getNumber(); } while ($link = $list->previous()); // "24153" ?> PK!|mmphp/starter_graphics.phpnu[ PK!_d^ ^ php/businesscard.phpnu[ "Victor Kraxi", "business.title" => "Chief Paper Officer", "business.address.line1" => "17, Aviation Road", "business.address.city" => "Paperfield", "business.telephone.voice" => "phone +1 234 567-89", "business.telephone.fax" => "fax +1 234 567-98", "business.email" => "victor@kraxi.com", "business.homepage" => "www.kraxi.com" ); $p = PDF_new(); # This means we must check return values of load_font() etc. PDF_set_parameter($p, "errorpolicy", "return"); /* Set the search path for fonts and PDF files */ PDF_set_parameter($p, "SearchPath", $searchpath); /* This line is required to avoid problems on Japanese systems */ PDF_set_parameter($p, "hypertextencoding", "winansi"); /* open new PDF file; insert a file name to create the PDF on disk */ if (PDF_begin_document($p, "", "") == 0) { die("Error: " . PDF_get_errmsg($p)); } PDF_set_info($p, "Creator", "businesscard.php"); PDF_set_info($p, "Author", "Thomas Merz"); PDF_set_info($p, "Title", "PDFlib block processing sample (PHP)"); $blockcontainer = PDF_open_pdi($p, $infile, "", 0); if ($blockcontainer == 0) { die ("Error: " . PDF_get_errmsg($p)); } $page = PDF_open_pdi_page($p, $blockcontainer, 1, ""); if ($page == 0) { die ("Error: " . PDF_get_errmsg($p)); } PDF_begin_page_ext($p, 20, 20, ""); /* dummy page size */ /* This will adjust the page size to the block container's size. */ PDF_fit_pdi_page($p, $page, 0, 0, "adjustpage"); /* Fill all text blocks with dynamic data */ foreach ($data as $key => $value) { if (PDF_fill_textblock($p, $page, $key, $value, "embedding encoding=winansi") == 0) { printf("Warning: %s\n ", PDF_get_errmsg($p)); } } PDF_end_page_ext($p, ""); PDF_close_pdi_page($p, $page); PDF_end_document($p, ""); PDF_close_pdi($p, $blockcontainer); $buf = PDF_get_buffer($p); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=businesscard.pdf"); print $buf; PDF_delete($p); ?> PK!B%fphp/starter_image.phpnu[ PK!L "php/starter_textline.phpnu[ PK!2F php/chartab.phpnu[ PK!ۃ php/starter_type3font.phpnu[ PK!pphp/starter_pcos.phpnu[ 0) print(" "); print($key . ": "); /* $info entries can be stored as string or name objects */ if ($objtype == "name" || $objtype == "string") { $info = "/Info[" . $i . "]"; printf("'" . PDF_pcos_get_string($p, $doc, $info) . "'\n"); } else { $info = "type:/Info[" . $i . "]"; printf("(" . PDF_pcos_get_string($p, $doc, $info) . " object)\n"); } } print("\n" . "XMP meta data: "); $objtype = PDF_pcos_get_string($p, $doc, "type:/Root/Metadata"); if ($objtype == "stream") { $contents = PDF_pcos_get_stream($p, $doc, "", "/Root/Metadata"); print(strlen($contents) . " bytes \n"); printf(""); } else { printf("not present"); } PDF_close_pdi_document($p, $doc); PDF_delete($p); ?> PK!ݱ( php/starter_block.phpnu[ PK!#php/starter_tagged.phpnu[ PK!?R  php/starter_3d.phpnu[ PK!Zphp/starter_pdfx.phpnu[ PK!2php/starter_pdfmerge.phpnu[ PK!'n[+ + php/pdfclock.phpnu[ PK!BK&php/examples.php5/starter_graphics.phpnu[set_parameter("SearchPath", $searchpath); # This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return"); if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } $p->set_info("Creator", "PDFlib Cookbook"); $buf = $title . ' $Revision: 1.1.2.1 $'; $p->set_info("Title", $buf); # Load the font; for PDFlib Lite: change "unicode" to "winansi" $font = $p->load_font("Helvetica", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } # Start an A4 page $p->begin_page_ext(0, 0, "width=a4.width height=a4.height"); # Set the font $p->setfont($font, 14); # Set the line width $p->setlinewidth(2.0); # Set the stroke color $p->setcolor("stroke", "rgb", 0.0, 0.5, 0.5, 0.0); # Set the fill color $p->setcolor("fill", "rgb", 0.0, 0.85, 0.85, 0.0); # ------------- # Stroke a line # ------------- # Set the current point for graphics output $p->moveto($x, $y); # Draw a line from the current point to the supplied point $p->lineto($x+300, $y+50); # Stroke the path using the current line width and stroke color, and # clear it $p->stroke(); # Output some descriptive black text $p->fit_textline("lineto() and stroke()", $xt, $y, "fillcolor={gray 0}"); # -------------- # Stroke a curve # -------------- # Set the current point for graphics output $p->moveto($x, $y-=$dy); # Draw a Bzier curve from the current point to (x3, y3), using three # control points $p->curveto($x+50, $y+40, $x+200, $y+80, $x+300, $y+30); # Stroke the path using the current line width and stroke color, and # clear it $p->stroke(); # Output some descriptive black text $p->fit_textline("curveto() and stroke()", $xt, $y, "fillcolor={gray 0}"); # --------------- # Stroke a circle # --------------- # Draw a circle at position (x, y) with a radius of 40 $p->circle($x, $y-=$dy, 40); # Stroke the path using the current line width and stroke color, and # clear it $p->stroke(); # Output some descriptive black text $p->fit_textline("circle() and stroke()", $xt, $y, "fillcolor={gray 0}"); # --------------------- # Stroke an arc segment # --------------------- # Draw an arc segment counterclockwise at position (x, y) with a radius # of 40 starting at an angle of 90 degrees and ending at 180 degrees $p->arc($x, $y-=$dy+20, 40, 90, 180); # Stroke the path using the current line width and stroke color, and # clear it $p->stroke(); # Output some descriptive black text $p->fit_textline("arc() and stroke()", $xt, $y, "fillcolor={gray 0}"); # ------------------ # Stroke a rectangle # ------------------ # Draw a rectangle at position (x, y) with a width of 200 and a height # of 50 $p->rect($x, $y-=$dy, 200, 50); # Stroke the path using the current line width and stroke color, and # clear it $p->stroke(); # Output some descriptive black text $p->fit_textline("rect() and stroke()", $xt, $y, "fillcolor={gray 0}"); # ---------------- # Fill a rectangle # ---------------- # Draw a rectangle at position (x, y) with a width of 200 and a height # of 50 $p->rect($x, $y-=$dy, 200, 50); # Fill the path using current fill color, and clear it $p->fill(); # Output some descriptive black text $p->fit_textline("rect() and fill()", $xt, $y, "fillcolor={gray 0}"); # --------------------------- # Fill and stroke a rectangle # --------------------------- # Draw a rectangle at position (x, y) with a width of 200 and a height # of 50 $p->rect($x, $y-=$dy, 200, 50); # Fill and stroke the path using the current line width, fill color, # and stroke color, and clear it $p->fill_stroke(); # Output some descriptive black text $p->fit_textline("rect() and fill_stroke()", $xt, $y, "fillcolor={gray 0}"); # ------------------------------------------------------------- # Draw a line and an arc, close the path and fill and stroke it # ------------------------------------------------------------- # Set the current point for graphics output $p->moveto($x-40, $y-=$dy); # Draw a line from the current point to the supplied point $p->lineto($x, $y); # Draw an arc segment counterclockwise at position (x, y) with a radius # of 40 starting at an angle of 90 degrees and ending at 180 degrees $p->arc($x, $y, 40, 90, 180); # Close the path and stroke and fill it, i.e. close the current subpath # (add a straight line segment from the current point to the starting # point of the path), and stroke and fill the complete current path $p->closepath_fill_stroke(); # Output some descriptive black text $p->fit_textline("lineto(), arc(), and", $xt, $y+20, "fillcolor={gray 0}"); $p->fit_textline("closepath_fill_stroke()", $xt, $y, "fillcolor={gray 0}"); # ----------------------------------------------------------------- # Draw a rectangle and use it as the clipping a path. Draw and fill # a circle and clip it according to the clipping path defined. # ----------------------------------------------------------------- # Save the current graphics state including the current clipping # path which is set to the entire page by default $p->save(); # Draw a rectangle at position (x, y) with a width of 200 and a height # of 50 $p->rect($x, $y-=$dy, 200, 50); # Use the current path as the clipping path for subsequent operations $p->clip(); # Draw a circle at position (x, y) with a radius of 100 $p->circle($x, $y, 80); # Fill the path with the current fill color and clear it $p->fill(); # Restore the graphics state which has been saved above $p->restore(); # Output some descriptive black text $p->fit_textline("rect(), clip(),", $xt, $y+20, "fillcolor={gray 0}"); $p->fit_textline("circle(), and fill()", $xt, $y, "fillcolor={gray 0}"); $p->end_page_ext(""); $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=hello.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in hello sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!2q q "php/examples.php5/businesscard.phpnu[ "Victor Kraxi", "business.title" => "Chief Paper Officer", "business.address.line1" => "17, Aviation Road", "business.address.city" => "Paperfield", "business.telephone.voice" => "phone +1 234 567-89", "business.telephone.fax" => "fax +1 234 567-98", "business.email" => "victor@kraxi.com", "business.homepage" => "www.kraxi.com" ); try { $p = new PDFlib(); # This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return"); /* Set the search path for fonts and PDF files */ $p->set_parameter("SearchPath", $searchpath); /* This line is required to avoid problems on Japanese systems */ $p->set_parameter("hypertextencoding", "winansi"); /* open new PDF file; insert a file name to create the PDF on disk */ if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } $p->set_info("Creator", "businesscard.php"); $p->set_info("Author", "Thomas Merz"); $p->set_info("Title", "PDFlib block processing sample (PHP)"); $blockcontainer = $p->open_pdi($infile, "", 0); if ($blockcontainer == 0){ die ("Error: " . $p->get_errmsg()); } $page = $p->open_pdi_page($blockcontainer, 1, ""); if ($page == 0){ die ("Error: " . $p->get_errmsg()); } $p->begin_page_ext(20, 20, ""); /* dummy page size */ /* This will adjust the page size to the block container's size. */ $p->fit_pdi_page($page, 0, 0, "adjustpage"); /* Fill all text blocks with dynamic data */ foreach ($data as $key => $value){ if ($p->fill_textblock($page, $key, $value, "embedding encoding=winansi") == 0) { printf("Warning: %s\n ", $p->get_errmsg()); } } $p->end_page_ext(""); $p->close_pdi_page($page); $p->end_document(""); $p->close_pdi($blockcontainer); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=businesscard.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in businesscard sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!M؆ #php/examples.php5/starter_image.phpnu[set_parameter("SearchPath", $searchpath); # This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return"); if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } $p->set_info("Creator", "PDFlib Cookbook"); $buf = $title . ' $Revision: 1.1.2.2 $'; $p->set_info("Title", $buf); # For PDFlib Lite: change "unicode" to "winansi" $font = $p->load_font("Helvetica", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } # Load the image $image = $p->load_image("auto", $imagefile, ""); if ($image == 0) { die("Error: " . $p->get_errmsg()); } # Start page 1 $p->begin_page_ext(0, 0, "width=a4.width height=a4.height"); $p->setfont($font, 12); # ------------------------------------ # Place the image in its original size # ------------------------------------ # Position the image in its original size with its lower left corner # at the reference point (20, 380) $p->fit_image($image, 20, 380, ""); # Output some descriptive text $p->fit_textline( "The image is placed with the lower left corner in its original " . "size at reference point (20, 380):", 20, 820, ""); $p->fit_textline("fit_image(image, 20, 380, \"\");", 20, 800, ""); # -------------------------------------------------------- # Place the image with scaling and orientation to the west # -------------------------------------------------------- # Position the image with its lower right corner at the reference # point (580, 20). # "scale=0.5" scales the image by 0.5. # "orientate=west" orientates the image to the west. $p->fit_image($image, 580, 20, "scale=0.5 position={right bottom} orientate=west"); # Output some descriptive text $p->fit_textline( "The image is placed with a scaling of 0.5 and an orientation to " . "the west with the lower right corner", 580, 320, "position={right bottom}"); $p->fit_textline( " at reference point (580, 20): fit_image(image, 580, 20, " . "\"scale=0.5 orientate=west position={right bottom}\");", 580, 300, "position={right bottom}"); $p->end_page_ext(""); # Start page 2 $p->begin_page_ext(0, 0, "width=a4.width height=a4.height"); $p->setfont($font, 12); # -------------------------------------- # Fit the image into a box with clipping # -------------------------------------- # The "boxsize" option defines a box with a given width and height and # its lower left corner located at the reference point. # "position={right top}" positions the image on the top right of the # box. # "fitmethod=clip" clips the image to fit it into the box. $buf = "boxsize={" . $bw . " " . $bh . "} position={right top} fitmethod=clip"; $p->fit_image($image, $x, $y, $buf); # Output some descriptive text $p->fit_textline( "fit_image(image, x, y, \"boxsize={400 200} position={right top} " . "fitmethod=clip\");", 20, $y+$bh+10, ""); # --------------------------------------------------- # Fit the image into a box with proportional resizing # --------------------------------------------------- # The "boxsize" option defines a box with a given width and height and # its lower left corner located at the reference point. # "position={center}" positions the image in the center of the # box. # "fitmethod=meet" resizes the image proportionally until its height # or width completely fits into the box. # The "showborder" option is used to illustrate the borders of the box. $buf = "boxsize={" . $bw . " " . $bh . "} position={center} fitmethod=meet showborder"; $p->fit_image($image, $x, $y-=$yoffset, $buf); # Output some descriptive text $p->fit_textline( "fit_image(image, x, y, \"boxsize={400 200} position={center} " . "fitmethod=meet showborder\");", 20, $y+$bh+10, ""); # --------------------------------- # Fit the image into a box entirely # --------------------------------- # The "boxsize" option defines a box with a given width and height and # its lower left corner located at the reference point. # By default, the image is positioned in the lower left corner of the # box. # "fitmethod=entire" resizes the image proportionally until its height # or width completely fits into the box. $buf = "boxsize={" . $bw . " " . $bh . "} fitmethod=entire"; $p->fit_image($image, $x, $y-=$yoffset, $buf); # Output some descriptive text $p->fit_textline( "fit_image(image, x, y, \"boxsize={400 200} fitmethod=entire\");", 20, $y+$bh+10, ""); $p->end_page_ext(""); $p->close_image($image); $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=hello.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in hello sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!q &php/examples.php5/starter_textline.phpnu[set_parameter("SearchPath", $searchpath); # This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return"); # Set an output path according to the name of the topic if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } $p->set_info("Creator", "PDFlib Cookbook"); $buf = $title . ' $Revision: 1.1.2.1 $'; $p->set_info("Title", $buf); # Start Page $p->begin_page_ext(0, 0, "width=a4.width height=a4.height"); # For PDFlib Lite: change "unicode" to "winansi" $font = $p->load_font("Helvetica", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } # Set the font with a font size of 14 $p->setfont($font, 14); # Place the text line without any options applied $p->fit_textline($textline, $x, $y, ""); # Output descriptive text $p->fit_textline("fit_textline() without any options", $xt, $y, "fontsize=12"); # Place the text with a different font size $optlist = "fontsize=22"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place stroke out text $optlist = "strikeout"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place underlined text $optlist = "underline underlinewidth=7% underlineposition=-20%"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place overlined text $optlist = "overline"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place the text with a horizontal scaling of 150% $optlist = "horizscaling=150%"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place the text with a character spacing of 30% of the font size $optlist = "charspacing=30%"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place the text with a word spacing of 50% of the font size $optlist = "wordspacing=50%"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # description # Place the text with a different fill color $optlist = "fillcolor={rgb 0.5 0.2 0.5}"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); $p->fit_textline($optlist, $xt, $y, "fontsize=12"); # Place the text including its outlines using a text rendering mode of # 2 for "filling and stroking text" and different fill and stroke # colors $optlist = "fontsize=22 fillcolor={rgb 0.6 0.3 0.6} strokecolor={gray 0} " . "strokewidth=0.4 textrendering=2"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # Output descriptive text $p->fit_textline("fillcolor={rgb 0.6 0.3 0.6} strokecolor={gray 0} ", $xt, $y+10, "fontsize=12"); $p->fit_textline("strokewidth=0.4 textrendering=2 fontsize=22", $xt, $y-5, "fontsize=12"); # Place the text with its outlines using a text rendering mode of # 1 for "stroking text" and a stroke color of black $optlist = "fontsize=22 strokecolor={gray 0} strokewidth=0.4 textrendering=1"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # Output descriptive text $p->fit_textline("strokecolor={gray 0} strokewidth=0.4", $xt, $y+10, "fontsize=12"); $p->fit_textline("textrendering=1 fontsize=22", $xt, $y-=5, "fontsize=12"); # Place the text in a box with default positioning and fitting $optlist = "boxsize={200 20} showborder"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y+3, "fontsize=12"); # description # Place the text in a box on the top right $optlist = "boxsize={200 20} position={top right} showborder"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y+3, "fontsize=12"); # description # Use "fitmethod=clip" to place the text in a box not large enough to # show the complete text. The text will be clipped. $optlist = "boxsize={130 20} fitmethod=clip showborder"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y+3, "fontsize=12"); # description # Fit the text into the box automatically with "fitmethod=auto". # In this case, if the text doesn't fit into the box a distortion # factor is calculated which makes the text fit into the box. If this # factor is larger than the "shrinklimit" option the text will # be distorted by that factor. Otherwise, the font size will be # be decreased until until the text fits into the box. # Use "fitmethod=auto" to place the text in a box not large enough to # show the complete text. The text will be distorted. $optlist = "boxsize={130 20} fitmethod=auto showborder"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y+3, "fontsize=12"); # description # Use "fitmethod=auto" to place the text in a box too small to show the # complete text. The font size will be reduced until the text fits into # the box. $optlist = "boxsize={100 20} fitmethod=auto showborder"; $p->fit_textline($textline, $x, $y-=$yoff, $optlist); # sample text $p->fit_textline($optlist, $xt, $y+3, "fontsize=12"); # description $p->end_page_ext(""); $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=hello.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in hello sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!0 php/examples.php5/chartab.phpnu[set_parameter("errorpolicy", "return"); $p->set_parameter("SearchPath", $searchpath); /* open new PDF file; insert a file name to create the PDF on disk */ if ($p->begin_document("", "destination {type fitwindow page 1}") == 0) { die("Error: " . $p->get_errmsg()); } /* This line is required to avoid problems on Japanese systems */ $p->set_parameter("hypertextencoding", "winansi"); $p->set_info("Creator", "chartab.php"); $p->set_info("Author", "Thomas Merz"); $p->set_info("Title", "Character table (PHP)"); /* loop over all encodings */ for ($page = 0; $page < count($encodings); $page++) { $p->begin_page_ext(595, 842, ""); /* print the heading and generate the bookmark */ $font = $p->load_font("Helvetica", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } $p->setfont($font, FONTSIZE); $buf = sprintf("%s (%s) %sembedded", $fontname, $encodings[$page], $embed ? "" : "not "); $p->show_xy($buf, LEFT - XINCR, TOP + 3 * YINCR); $p->create_bookmark($buf, ""); /* print the row and column captions */ $p->setfont($font, 2 * FONTSIZE/3); for ($row = 0; $row < 16; $row++) { $buf = sprintf("x%X", $row); $p->show_xy($buf, LEFT + $row*XINCR, TOP + YINCR); $buf = sprintf("%Xx", $row); $p->show_xy($buf, LEFT - XINCR, TOP - $row * YINCR); } /* print the character table */ $font = $p->load_font($fontname, $encodings[$page], $embed ? "embedding": ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } $p->setfont($font, FONTSIZE); $y = TOP; $x = LEFT; for ($row = 0; $row < 16; $row++) { for ($col = 0; $col < 16; $col++) { $buf = sprintf("%c", 16*$row + $col); $p->show_xy($buf, $x, $y); $x += XINCR; } $x = LEFT; $y -= YINCR; } $p->end_page_ext(""); } $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=chartab.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in chartab sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!RB 'php/examples.php5/starter_type3font.phpnu[set_parameter("SearchPath", $searchpath); # This means we must check return values of load_font() etc. $p->set_parameter("errorpolicy", "return"); if ($p->begin_document("", "") == 0) { die("Error: " . $p->get_errmsg()); } $p->set_info("Creator", "PDFlib Cookbook"); $buf = $title . ' $Revision: 1.1.2.3 $'; $p->set_info("Title", $buf); # Create the font "SimpleFont" containing the glyph "l", # the glyph "space" for spaces and the glyph ".notdef" for any # undefined character $p->begin_font("SimpleFont", 0.001, 0.0, 0.0, 0.001, 0.0, 0.0, ""); $p->begin_glyph(".notdef", 266, 0, 0, 0, 0); $p->end_glyph(); $p->begin_glyph("space", 266, 0, 0, 0, 0); $p->end_glyph(); $p->begin_glyph("l", 266, 69, 0, 197, 530); $p->setlinewidth(20); $p->setdash(0, 0); $x = 197; $y = 0; $p->moveto($x, $y); $y += 530; $p->lineto($x, $y); $x -= 64; $p->lineto($x, $y); $y -= 530; $p->moveto($x, $y); $x += 128; $p->lineto($x, $y); $p->closepath(); $p->stroke(); $p->end_glyph(); $p->end_font(); # Start page $p->begin_page_ext(0, 0, "width=300 height=200"); # Load the new "SimpleFont" font $font = $p->load_font("SimpleFont", "winansi", ""); if ($font == 0) { die("Error: " . $p->get_errmsg()); } # Output the characters "l" and "space" of the "SimpleFont" font. # The character "x" is undefined and will be mapped to ".notdef" $buf = " font=" . $font . " fontsize=40"; $p->fit_textline("lll lllxlll", 100, 100, $buf); $p->end_page_ext(""); $p->end_document(""); $buf = $p->get_buffer(); $len = strlen($buf); header("Content-type: application/pdf"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=hello.pdf"); print $buf; } catch (PDFlibException $e) { die("PDFlib exception occurred in hello sample:\n" . "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " . $e->get_errmsg() . "\n"); } catch (Exception $e) { die($e); } $p = 0; ?> PK!J'"php/examples.php5/starter_pcos.phpnu[set_parameter("errorpolicy", "return"); $p->set_parameter("SearchPath", $searchpath); /* We do not create any output document, so no call to * begin_document() is required. */ /* Open the input document */ $doc = $p->open_pdi_document($pdfinput, $docoptlist); if ($doc == 0) { die("Error: " . $p->get_errmsg()); } /* --------- general information (always available) */ $pcosmode = $p->pcos_get_number($doc, "pcosmode"); printf("
    ");
        printf("   File name: %s\n",
    	$p->pcos_get_string($doc,"filename"));
    
        printf(" PDF version: %s\n",
    	$p->pcos_get_number($doc, "pdfversion")/10);
    
        printf("  Encryption: %s\n",
    	$p->pcos_get_string($doc, "encrypt/description"));
    
        printf("   Master pw: %s\n",
    	(($p->pcos_get_number($doc, "encrypt/master") != 0) ? "yes":"no"));
    
        printf("     User pw: %s\n",
    	(($p->pcos_get_number($doc, "encrypt/user") != 0) ? "yes" : "no"));
    
        printf("Text copying: %s\n",
    	(($p->pcos_get_number($doc, "encrypt/nocopy") != 0) ? "no":"yes"));
    
        printf("  Linearized: %s\n",
    	(($p->pcos_get_number($doc, "linearized") != 0) ? "yes" : "no"));
    
        printf("      Tagged: %s\n\n",
    	(($p->pcos_get_number($doc, "tagged") != 0) ? "yes" : "no"));
    
        if ($pcosmode == 0) {
    	printf("Minimum mode: no more information available\n\n");
    	$p->delete();
    	exit(0);
        }
    
        /* --------- more details (requires at least user password) */
        printf("No. of pages: %s\n",
    	$p->pcos_get_number($doc, "length:pages"));
    
        printf(" Page 1 size: width=%.3f, height=%.3f\n",
    	 $p->pcos_get_number($doc, "pages[0]/width"),
    	 $p->pcos_get_number($doc, "pages[0]/height"));
    
        $count = $p->pcos_get_number($doc, "length:fonts");
        printf("No. of fonts: %s\n",  $count);
    
        for ($i=0; $i < $count; $i++) {
    	$fonts = "fonts[" . $i . "]/embedded";
    	if ($p->pcos_get_number($doc, $fonts) != 0)
    	    print("embedded ");
    	else
    	    print("unembedded ");
    
    	$fonts = "fonts[" . $i . "]/type";
    	print($p->pcos_get_string($doc, $fonts) . " font ");
    	$fonts = "fonts[" . $i . "]/name";
    	printf("%s\n", $p->pcos_get_string($doc, $fonts));
        }
    
        printf("\n");
    
        if ($pcosmode == 1) {
    	print(
    	    "Restricted mode: no more information available");
    	$p->delete();
    	exit(0);
        }
    
        /* ----- document $info keys and XMP metadata (requires master pw) */
    
        $count = $p->pcos_get_number($doc, "length:/Info");
    
        for ($i=0; $i < $count; $i++) {
    	$info = "type:/Info[" . $i . "]";
    	$objtype = $p->pcos_get_string($doc, $info);
    
    	$info = "/Info[" . $i . "].key";
    	$key = $p->pcos_get_string($doc, $info);
    	$len = 12 - strlen($key);
    	while ($len-- > 0) print(" ");
    
    	print($key . ": ");
    
    	/* $info entries can be stored as string or name objects */
    	if ($objtype == "name" || $objtype == "string") {
    	    $info = "/Info[" . $i . "]";
    	    printf("'" . $p->pcos_get_string($doc, $info) .  "'\n");
    	} else {
    	    $info = "type:/Info[" . $i . "]";
    	    printf("(" . $p->pcos_get_string($doc, $info) .  " object)\n");
    	}
        }
    
        print("\n" . "XMP meta data: ");
    
    
        $objtype = $p->pcos_get_string($doc, "type:/Root/Metadata");
        if ($objtype == "stream") {
    	$contents = $p->pcos_get_stream($doc, "", "/Root/Metadata");
    	print(strlen($contents) . " bytes \n");
    	printf("");
        } else {
    	printf("not present");
        }
    
        $p->close_pdi_document($doc);
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_pcos sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!SA#php/examples.php5/starter_block.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        if ($p->begin_document($outfilename, "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_block");
    
        /* Open a PDF containing blocks */
        $indoc = $p->open_pdi_document($infile, "");
        if ($indoc == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* Open the first $page */
        $page = $p->open_pdi_page($indoc, 1, "");
        if ($page == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $width = $p->pcos_get_number($indoc, "pages[0]/width");
        $height = $p->pcos_get_number($indoc, "pages[0]/height");
    
        $p->begin_page_ext($width, $height, "");
    
        /* Place the imported $page on the output $page */
        $p->fit_pdi_page($page, 0, 0, "");
    
        /* Query the number of blocks on the first page */
        $blockcount = $p->pcos_get_number($indoc, "length:pages[0]/blocks");
    
        if ($blockcount == 0) {
    	die("Error: " .  $infile . "does not contain any PDFlib blocks");
        }
    
        /* Loop over all blocks on the $page */
        for ($i = 0; $i <  $blockcount; $i++) {
    	/* Fetch the name and type of the $i-th block on the first page
    	 * (one of Text/Image/PDF)
    	 */
    	$blockname = $p->pcos_get_string($indoc,
    	    "pages[0]/blocks[" . $i . "]/Name");
    
    	$blocktype = $p->pcos_get_string($indoc,
    	    "pages[0]/blocks[" . $i . "]/Subtype");
    
    	/* Visualize all text blocks */
    	if ($blocktype == "Text") {
    	    $optlist = "fontname=Helvetica encoding=unicode " .
    		"fillcolor={rgb 1 0 0} " .
    		"bordercolor={gray 0} linewidth=0.25";
    
    	    /* We simply use the $blockname as content */
    	    if ($p->fill_textblock(
    			$page, $blockname, $blockname, $optlist) == 0) {
    		print("Warning: " . $p->get_errmsg());
    	    }
    	}
        }
    
        $p->end_page_ext("");
        $p->close_pdi_page($page);
    
        $p->end_document("");
        $p->close_pdi_document($indoc);
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_block sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!B~77$php/examples.php5/starter_tagged.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* "lang" contains the predominant document language */
        if ($p->begin_document($outfilename, "tagged=true lang=en") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_tagged");
    
        /* Automatically create spaces between chunks of text */
        $p->set_parameter("autospace", "true");
    
        /* open the first structure element as a child of the document
         * structure root (=0)
         */
        $id = $p->begin_item("P", "Title = {Simple Paragraph}");
    
        $p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
        $font = $p->load_font("Helvetica", "winansi", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $p->setfont($font, 24.0);
    
        $p->show_xy("Hello, Tagged PDF!", 50, 700);
        $p->continue_text("This PDF has a very simple");
        $p->continue_text("document structure.");
    
        $p->end_item($id);
    
        /* The page number is created as an artifact; it will be
         * ignored when reflowing the page in Acrobat.
         */
        $id_artifact = $p->begin_item("Artifact", "");
        $p->show_xy("Page 1", 250, 100);
        $p->end_item($id_artifact);
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_tagged sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!Gob
    b
     php/examples.php5/starter_3d.phpnu[set_parameter("SearchPath", $searchpath);
    
        # This means we must check return values of load_font() etc.
        $p->set_parameter("errorpolicy", "return");
    
        # Check whether the required minimum PDFlib version is available
        $major = $p->get_value("major", 0);
        $minor = $p->get_value("minor", 0);
        $revision = $p->get_value("revision", 0);
    
        if ($major*100 + $minor*10 + $revision < $requiredversion) {
    	die("Error: PDFlib " . $requiredvstr . " or above is required\n");
        }
    
        # Start the document
        if ($p->begin_document($outfile, "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib Cookbook");
        $p->set_info("Title", "starter_3d");
    
        $font = $p->load_font("Helvetica", "winansi", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
        # Define a U3D view
        $optlist = "name=FirstView background={fillcolor={rgb 1 0.5 0.1}}";
        if (($u3dview = $p->create_3dview("First view", $optlist)) == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        # Load some U3D data with the view defined above
        $buf = "views={$u3dview}";
        if (($u3ddata = $p->load_3ddata("box.u3d", $buf)) == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        # Create an annotation containing the loaded U3D data with the
        # defined 3D view as the initial view
        #
        $buf = "name=annot usercoordinates contents=U3D 3ddata=$u3ddata 3dactivate={enable=open} 3Dinitialview=$u3dview";
        $p->create_annotation(116, 400, 447, 580, "3D", $buf);
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $p->delete();
    
        print "$outfile generated";
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in invoice sample:\n" .
            "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
            $e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!e
    
    "php/examples.php5/starter_pdfx.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        if ($p->begin_document($outfilename, "pdfx=PDF/X-3:2002") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_pdfx");
    
        /*
         * You can use one of the Standard output intents (e.g. for SWOP
         * printing) which do not require an ICC profile:
    
        $p->load_iccprofile("CGATS TR 001", "usage=outputintent");
    
         * However, if you use ICC or Lab color you must load an ICC
         * profile as output intent:
         */
        if ($p->load_iccprofile("ISOcoated.icc", "usage=outputintent") == -1) {
    	printf("Error: %s\n", $p->get_errmsg());
    	printf("Please install the ICC profile package from " .
    	    "www.pdflib.com to run the PDF/X starter sample.\n");
    	$p->delete(p);
    	return(2);
        }
    
        $p->begin_page_ext(595, 842, "");
    
        /* $font embedding is required for PDF/X */
        $font = $p->load_font("LuciduxSans-Oblique", "unicode", "embedding");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $p->setfont($font, 24);
    
        $spot = $p->makespotcolor("PANTONE 123 C");
        $p->setcolor("fill", "spot", $spot, 1.0, 0.0, 0.0);
        $p->fit_textline("PDF/X-3:2002 starter", 50, 700, "");
    
        /* The RGB $image below needs an $icc profile; we use sRGB. */
        $icc = $p->load_iccprofile("sRGB", "");
        $image = $p->load_image("auto", $imagefile, "iccprofile=" . $icc);
    
        if ($image == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->fit_image($image, 0.0, 0.0, "scale=0.5");
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_pdfx sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!&php/examples.php5/starter_pdfmerge.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        if ($p->begin_document($outfilename, "") == 0)
    	die("Error: " . $p->get_errmsg());
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_pdfmerge");
    
        foreach ($pdffiles as $pdffile) { 
    	/* Open the input PDF */
    	$indoc = $p->open_pdi_document($pdffile, "");
    	if ($indoc == 0) {
    	    printf("Error: %s\n", $p->get_errmsg());
    	    continue;
    	}
    
    	$endpage = $p->pcos_get_number($indoc, "/Root/Pages/Count");
    
    	/* Loop over all pages of the input document */
    	for ($pageno = 1; $pageno <= $endpage; $pageno++) {
    	    $page = $p->open_pdi_page($indoc, $pageno, "");
    
    	    if ($page == 0) {
    		printf("Error: %s\n", $p->get_errmsg());
    		continue;
    	    }
    	    /* Dummy $page size; will be adjusted later */
    	    $p->begin_page_ext(10, 10, "");
    
    	    /* Create a bookmark with the file name */
    	    if ($pageno == 1) {
    		$p->create_bookmark($pdffile, "");
    	    }
    
    	    /* Place the imported $page on the output $page, and
    	     * adjust the $page size
    	     */
    	    $p->fit_pdi_page($page, 0, 0, "adjustpage");
    	    $p->close_pdi_page($page);
    
    	    $p->end_page_ext("");
    	}
    	$p->close_pdi_document($indoc);
        }
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_pdfmerge sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!j%KKphp/examples.php5/pdfclock.phpnu[set_parameter("errorpolicy", "return");
    
        /* This line is required to avoid problems on Japanese systems */
        $p->set_parameter("hypertextencoding", "winansi");
    
        /*  open new PDF file; insert a file name to create the PDF on disk */
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "pdfclock.php");
        $p->set_info("Author", "Rainer Schaaf");
        $p->set_info("Title", "PDF clock (PHP)");
    
        $p->begin_page_ext(2 * ($RADIUS + $MARGIN), 2 * ($RADIUS + $MARGIN), "");
    
        $p->translate($RADIUS + $MARGIN, $RADIUS + $MARGIN);
        $p->setcolor("fillstroke", "rgb", 0.0, 0.0, 1.0, 0.0);
        $p->save();
    
        /* minute strokes */
        $p->setlinewidth(2.0);
        for ($alpha = 0; $alpha < 360; $alpha += 6)
        {
    	$p->rotate(6.0);
    	$p->moveto($RADIUS, 0.0);
    	$p->lineto($RADIUS-$MARGIN/3, 0.0);
    	$p->stroke();
        }
    
        $p->restore();
        $p->save();
    
        /* 5 minute strokes */
        $p->setlinewidth(3.0);
        for ($alpha = 0; $alpha < 360; $alpha += 30)
        {
    	$p->rotate(30.0);
    	$p->moveto($RADIUS, 0.0);
    	$p->lineto($RADIUS-$MARGIN, 0.0);
    	$p->stroke();
        }
    
        $ltime = getdate();
    
        /* draw hour hand */
        $p->save();
        $p->rotate(-(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0);
        $p->moveto(-$RADIUS/10, -$RADIUS/20);
        $p->lineto($RADIUS/2, 0.0);
        $p->lineto(-$RADIUS/10, $RADIUS/20);
        $p->closepath();
        $p->fill();
        $p->restore();
    
        /* draw minute hand */
        $p->save();
        $p->rotate(-(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0);
        $p->moveto(-$RADIUS/10, -$RADIUS/20);
        $p->lineto($RADIUS * 0.8, 0.0);
        $p->lineto(-$RADIUS/10, $RADIUS/20);
        $p->closepath();
        $p->fill();
        $p->restore();
    
        /* draw second hand */
        $p->setcolor("fillstroke", "rgb", 1.0, 0.0, 0.0, 0.0);
        $p->setlinewidth(2);
        $p->save();
        $p->rotate(-(($ltime['seconds'] - 15.0) * 6.0));
        $p->moveto(-$RADIUS/5, 0.0);
        $p->lineto($RADIUS, 0.0);
        $p->stroke();
        $p->restore();
    
        /* draw little circle at center */
        $p->circle(0, 0, $RADIUS/30);
        $p->fill();
    
        $p->restore();
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=pdfclock.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in pdfclock sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!Żphp/examples.php5/hello.phpnu[set_parameter("errorpolicy", "return");
    
        /* This line is required to avoid problems on Japanese systems */
        $p->set_parameter("hypertextencoding", "winansi");
    
        /*  open new PDF file; insert a file name to create the PDF on disk */
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "hello.php");
        $p->set_info("Author", "Rainer Schaaf");
        $p->set_info("Title", "Hello world (PHP)!");
    
        $p->begin_page_ext(595, 842, "");
    
        $font = $p->load_font("Helvetica-Bold", "winansi", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->setfont($font, 24.0);
        $p->set_text_pos(50, 700);
        $p->show("Hello world!");
        $p->continue_text("(says PHP)");
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=hello.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in hello sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!/m++#php/examples.php5/starter_table.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        if ($p->begin_document($outfilename, "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_table");
    
        /* -------------------- Add table cells -------------------- */
    
        /* ---------- row 1: table header (spans all columns) */
        $row = 1; $col = 1;
        $font = $p->load_font("Times-Bold", "unicode", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $optlist = "fittextline={position=center font=" . $font . " fontsize=14} " .
        "colspan=" . $colmax;
    
        $tbl = $p->add_table_cell($tbl, $col, $row, $headertext, $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ---------- row 2: various kinds of content */
        /* ----- Simple text cell */
        $row++; $col=1;
    
        $optlist = "fittextline={font=" . $font . " fontsize=10 orientate=west}";
    
        $tbl = $p->add_table_cell($tbl, $col, $row, "vertical line", $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ----- Colorized background */
        $col++;
    
        $optlist = "fittextline={font=" . $font . " fontsize=10} " .
        "matchbox={fillcolor={rgb 0.9 0.5 0}}";
    
        $tbl = $p->add_table_cell($tbl, $col, $row, "some color", $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ----- Multi-line text with Textflow */
        $col++;
        $font = $p->load_font("Times-Roman", "unicode", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $optlist = "charref fontname=Times-Roman encoding=unicode fontsize=8 ";
    
        $tf = $p->add_textflow($tf, $tf_text, $optlist);
        if ($tf == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $optlist = "margin=2 textflow=" . $tf;
    
        $tbl = $p->add_table_cell($tbl, $col, $row, "", $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ----- Rotated $image */
        $col++;
    
        $image = $p->load_image("auto", $imagefile, "");
        if ($image == 0) {
    	die("Couldn't load $image: " . $p->get_errmsg());
        }
    
        $optlist = "image=" . $image . " fitimage={orientate=west}";
    
        $tbl = $p->add_table_cell($tbl, $col, $row, "", $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ----- Diagonal stamp */
        $col++;
    
        $optlist = "fittextline={font=" . $font . " fontsize=10 stamp=ll2ur}";
    
        $tbl = $p->add_table_cell($tbl, $col, $row, "entry void", $optlist);
        if ($tbl == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* ---------- Fill $row 3 and above with their numbers */
        for ($row++; $row <= $rowmax; $row++) {
    	for ($col = 1; $col <= $colmax; $col++) {
    	    $num = "Col " . $col . "/Row " . $row;
    	    $optlist = "colwidth=20% fittextline={font=" . $font . " fontsize=10}";
    	    $tbl = $p->add_table_cell($tbl, $col, $row, $num, $optlist);
    	    if ($tbl == 0) {
    		die("Error: " . $p->get_errmsg());
    	    }
    	}
        }
    
        /* ---------- Place the table on one or more pages ---------- */
    
        /*
         * Loop until all of the table is placed; create new pages
         * as long as more table instances need to be placed.
         */
        do {
    	$p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
    	/* Shade every other $row; draw lines for all table cells.
    	 * Add "showcells showborder" to visualize cell borders 
    	 */
    	$optlist = "header=1 fill={{area=rowodd fillcolor={gray 0.9}}} " .
    	"stroke={{line=other}} ";
    
    	/* Place the table instance */
    	$result = $p->fit_table($tbl, $llx, $lly, $urx, $ury, $optlist);
    	if ($result ==  "_error") {
    	    die("Couldn't place table: " . $p->get_errmsg());
    	}
    
    	$p->end_page_ext("");
    
        } while ($result == "_boxfull");
    
        /* Check the $result; "_stop" means all is ok. */
        if ($result != "_stop") {
    	if ($result ==  "_error") {
    	    die("Error when placing table: " . $p->get_errmsg());
    	} else {
    	    /* Any other return value is a user exit caused by
    	     * the "return" option; this requires dedicated code to
    	     * deal with.
    	     */
    	    die("User return found in Textflow");
    	}
        }
    
        /* This will also delete Textflow handles used in the table */
        $p->delete_table($tbl, "");
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_table sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!*--#php/examples.php5/starter_color.phpnu[set_parameter("SearchPath", $searchpath);
    
        # This means we must check return values of load_font() etc.
        $p->set_parameter("errorpolicy", "return");
    
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib Cookbook");
        $buf = $title .  '  $Revision: 1.1.2.2 $';
        $p->set_info("Title", $buf);
    
        # Load the font
        $font = $p->load_font("Helvetica", "winansi", "");
    
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        # Start the page
        $p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
        $p->setfont($font, 14);
    
    
        # -------------------------------------------------------------------
        # Use default colors
        #
        # If no special color is set the default values will be used. The
        # default values are restored at the beginning of the page.
        # 0=black in the Gray color space is the default fill and stroke
        # color in many cases, as shown in our sample.
        # -------------------------------------------------------------------
        
    
        # Fill a circle with the default black fill color
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output text with default black fill color
        $p->fit_textline(
    	    "Circle and text filled with default color {gray 0}",
    	    $x+$xoffset2, $y, "");
    
        $p->fit_textline("1.", $x+$xoffset1, $y, "");
    
        # -------------------------------------------------------------------
        # Use the Gray color space
        #
        # Gray color is defined by Gray values between 0=black and 1=white.
        # -------------------------------------------------------------------
        
    
        # Using setcolor(), set the current fill color to a light gray
        # represented by (0.5, 0, 0, 0) which defines 50% gray. Since gray
        # colors are defined by only one value, the last three function
        # parameters must be set to 0.
        
        $p->setcolor("fill", "gray", 0.5, 0, 0, 0);
    
        # Fill a circle with the current fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output text with the current fill color
        $p->fit_textline("Circle and text filled with {gray 0.5}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("2.", $x+$xoffset1, $y, "fillcolor={gray 0.5}");
    
    
        # --------------------------------------------------------------------
        # Use the RGB color space
        #
        # RGB color is defined by RGB triples, i.e. three values between 0 and
        # 1 specifying the percentage of red, green, and blue.
        # (0, 0, 0) is black and (1, 1, 1) is white. The commonly used RGB
        # color values in the range 0255 must be divided by 255 in order to
        # scale them to the range 01 as required by PDFlib.
        # --------------------------------------------------------------------
        
    
        # Use setcolor() to set the fill color to a grass-green
        # represented by (0.1, 0.95, 0.3, 0) which defines 10% red, 95% green,
        # 30% blue. Since RGB colors are defined by only three values, the last
        # function parameter must be set to 0.
        
        $p->setcolor("fill", "rgb", 0.1, 0.95, 0.3, 0);
    
        # Draw a circle with the current fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output a text line with the RGB fill color defined above
        $p->fit_textline("Circle and text filled with {rgb 0.1 0.95 0.3}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("3.", $x+$xoffset1, $y,
    	    "fillcolor={rgb 0.1 0.95 0.3}");
    
    
        # --------------------------------------------------------------------
        # Use the CMYK color space
        #
        # CMYK color is defined by four CMYK values between 0 = no color and
        # 1 = full color representing cyan, magenta, yellow, and black values;
        # (0, 0, 0, 0) is white and (0, 0, 0, 1) is black.
        # --------------------------------------------------------------------
        
    
        # Use setcolor() to set the current fill color to a pale
        # orange, represented by (0.1, 0.7, 0.7, 0.1) which defines 10% Cyan,
        # 70% Magenta, 70% Yellow, and 10% Black.
        
        $p->setcolor("fill", "cmyk", 0.1, 0.7, 0.7, 0.1);
    
        # Fill a circle with the current fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output a text line with the CMYK fill color defined above
        $p->fit_textline(
    	    "Circle and text filled with {cmyk 0.1 0.7 0.7 0.1}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("4.", $x+$xoffset1, $y,
    	    "fillcolor={cmyk 0.1 0.7 0.7 0.1}");
    
    
        # --------------------------------------------------------------------
        # Use a Lab color
        #
        # Device-independent color in the CIE L*a*b* color space is specified
        # by a luminance value in the range 0-100 and two color values in the
        # range -127 to 128. The first value contains the green-red axis,
        # while the second value contains the blue-yellow axis.
        # --------------------------------------------------------------------
        
    
        # Set the current fill color to a loud blue, represented by
        # (100, -127, -127, 0). Since Lab colors are defined by only three
        # values, the last function parameter must be set to 0.
        
        $p->setcolor("fill", "lab", 100, -127, -127, 0);
    
        # Fill a circle with the fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output a text line with the Lab fill color defined above
        $p->fit_textline("Circle and text filled with {lab 100 -127 -127}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("5.", $x+$xoffset1, $y,
    	    "fillcolor={lab 100 -127 -127}");
    
    
        # ---------------------------------------------------------------
        # Use an ICC based color
        #
        # ICC-based colors are specified with the help of an ICC profile.
        # ---------------------------------------------------------------
        
    
        # Load the sRGB profile. sRGB is guaranteed to be always available
        $icchandle = $p->load_iccprofile("sRGB", "usage=iccbased");
    
        # Set the sRGB profile. (Accordingly, you can use
        # "setcolor:iccprofilergb" or "setcolor:iccprofilegray" with an
        # appropriate profile)
        
        $p->set_value("setcolor:iccprofilergb", $icchandle);
    
        # Use setcolor() with the "iccbasedrgb" color space to set the current
        # fill and stroke color to a grass-green, represented
        # by the RGB color values (0.1 0.95 0.3 0) which define 10% Red,
        # 95% Green, and 30% Blue. Since iccbasedrgb colors are defined by only
        # three values, the last function parameter must be set to 0.
        
        $p->setcolor("fill", "iccbasedrgb", 0.1, 0.95, 0.3, 0);
    
        # Fill a circle with the ICC based RGB fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        # Output a text line with the ICC based RGB fill color defined above
        $p->fit_textline(
    	    "Circle and text filled with {iccbasedrgb 0.1 0.95 0.3}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("6.", $x+$xoffset1, $y,
    	    "fillcolor={iccbasedrgb 0.1 0.95 0.3}");
    
    
        # --------------------------------------------------------------------
        # Use a spot color
        #
        # Spot color (separation color space) is a predefined or arbitrarily
        # named custom color with an alternate representation in one of the
        # other color spaces above; this is generally used for preparing
        # documents which are intended to be printed on an offset printing
        # machine with one or more custom colors. The tint value (percentage)
        # ranges from 0 = no color to 1 = maximum intensity of the spot color.
        # --------------------------------------------------------------------
        
    
        # Define the spot color "PANTONE 281 U" from the builtin color
        # library PANTONE
        
        $spot = $p->makespotcolor("PANTONE 281 U");
    
        # Set the spot color "PANTONE 281 U" with a tint value of 1 (=100%)
        # and output some text. Since spot colors are defined by only two
        # values, the last two function parameters must be set to 0.
        
        $p->setcolor("fill", "spot", $spot, 1.0, 0, 0);
    
        # Fill a circle with the ICC based RGB fill color defined above
        $p->circle($x, $y-=$yoffset, $r);
        $p->fill();
    
        $p->fit_textline(
    	    "Circle and text filled with {spotname {PANTONE 281 U} 1}",
    	    $x+$xoffset2, $y, "");
    
        # Alternatively, you can set the fill color in the call to
        # fit_textline() using the "fillcolor" option. This case applies the
        # fill color just the single function call. The current fill color
        # won't be affected.
        
        $p->fit_textline("7.", $x+$xoffset1, $y,
    	"fillcolor={spotname {PANTONE 281 U} 1}");
    
        # or
        $buf = "fillcolor={spot " . $spot . " 1}";
        $p->fit_textline("7.", $x+$xoffset1, $y, $buf);
    
    
        # ----------------------------------------------------------
        # For using the Pattern color space, see the Cookbook topics
        # graphics/fill_pattern and images/background_pattern.
        # ----------------------------------------------------------
        
    
        # ---------------------------------------------------------
        # For using the Shading color space, see the Cookbook topic
        # color/color_gradient.
        # ---------------------------------------------------------
       
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=hello.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in hello sample:\n" .
            "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
            $e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    
    ?>
    PK!*qphp/examples.php5/invoice.phpnu[30 days net. " .
    	"90 days warranty starting at the day of sale. " .
    	"This warranty covers defects in workmanship only. " .
    	"Kraxi Systems, Inc. " .
    	"will, at its option, repair or replace the " .
    	"product under the warranty. This warranty is not transferable. " .
    	"No returns or exchanges will be accepted for wet products.";
    
    $data = array(  array("name"=>"Super Kite", 	"price"=>20,	"quantity"=>2),
    		array("name"=>"Turbo Flyer", 	"price"=>40, 	"quantity"=>5),
    		array("name"=>"Giga Trasch", 	"price"=>180, 	"quantity"=>1),
    		array("name"=>"Bare Bone Kit", 	"price"=>50, 	"quantity"=>3),
    		array("name"=>"Nitty Gritty", 	"price"=>20, 	"quantity"=>10),
    		array("name"=>"Pretty Dark Flyer","price"=>75, 	"quantity"=>1),
    		array("name"=>"Free Gift", 	"price"=>0, 	"quantity"=>1)
    	    );
    
    $months = array( "January", "February", "March", "April", "May", "June",
    	    "July", "August", "September", "October", "November", "December");
    
    try {
        $p = new PDFlib();
    
        # This means we must check return values of load_font() etc.
        $p->set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* This line is required to avoid problems on Japanese systems */
        $p->set_parameter("hypertextencoding", "winansi");
    
        /*  open new PDF file; insert a file name to create the PDF on disk */
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "invoice.php");
        $p->set_info("Author", "Thomas Merz");
        $p->set_info("Title", "PDFlib invoice generation demo (PHP)");
    
        $stationery = $p->open_pdi($infile, "", 0);
        if ($stationery == 0){
    	die("Error: " . $p->get_errmsg());
        }
    
        $page = $p->open_pdi_page($stationery, 1, "");
        if ($page == 0){
    	die("Error: " . $p->get_errmsg());
        }
    
    
        $boldfont = $p->load_font("Helvetica-Bold", "winansi", "");
        if ($boldfont == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $regularfont = $p->load_font("Helvetica", "winansi", "");
        if ($regularfont == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $leading = $fontsize + 2;
    
        /* Establish coordinates with the origin in the upper left corner. */
        $p->begin_page_ext($pagewidth, $pageheight, "topdown");
    
        $p->fit_pdi_page($page, 0, $pageheight, "");
        $p->close_pdi_page($page);
    
        $p->setfont($regularfont, $fontsize);
    
        /* print the address */
        $y = 170;
        $p->set_value("leading", $leading);
    
        $p->show_xy("John Q. Doe", $left, $y);
        $p->continue_text("255 Customer Lane");
        $p->continue_text("Suite B");
        $p->continue_text("12345 User Town");
        $p->continue_text("Everland");
    
        /* print the header and date */
    
        $p->setfont($boldfont, $fontsize);
        $y = 300;
        $p->show_xy("INVOICE", $left, $y);
        $time = localtime();
        $buf = sprintf("%s %d, %d", $months[$time[4]], $time[3], $time[5]+1900);
        $p->fit_textline($buf, $right, $y, "position {100 0}");
    
    
        /* print the invoice header line */
        $y = 370;
        $buf = sprintf("\tITEM\tDESCRIPTION\tQUANTITY\tPRICE\tAMOUNT");
        $optlist = sprintf("%s font %d ", $baseopt, $boldfont);
        $textflow = $p->create_textflow($buf, $optlist);
    
        if ($textflow == 0){
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->fit_textflow($textflow, $left, $y-$leading, $right, $y, "");
        $p->delete_textflow($textflow);
    
        $y += 2*$leading;
        $total = 0;
        $optlist = sprintf("%s font %d ", $baseopt, $regularfont);
    
        for ($i = 0; $i < count($data); $i++){
    	$sum = $data[$i]{"price"}*$data[$i]{"quantity"};
    	$buf = sprintf("\t%d\t%s\t%d\t%.2f\t%.2f", $i+1, $data[$i]{"name"},
    	    $data[$i]{"quantity"}, $data[$i]{"price"}, $sum);
    
    	$textflow = $p->create_textflow($buf, $optlist);
    
    	if ($textflow == 0){
    	    die("Error: " . $p->get_errmsg());
    	}
    
    	$p->fit_textflow($textflow, $left, $y-$leading, $right, $y, "");
    	$p->delete_textflow($textflow);
    
    	$y += $leading;
    	$total +=$sum;
        }
    
        $y += $leading;
    
        $p->setfont($boldfont, $fontsize);
        $p->fit_textline(sprintf("%.2f",$total), $right, $y, "position {100 0}");
    
        /* Print the closing text */
    
        $y +=5*$leading;
        $optlist  = "alignment=justify leading=120% ";
        $optlist .= "fontname=Helvetica fontsize=12 encoding=winansi";
    
        $textflow = $p->create_textflow($closingtext, $optlist);
    
        if ($textflow == 0){
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->fit_textflow($textflow, $left, $y+6*$leading, $right, $y, "");
        $p->delete_textflow($textflow);
    
        $p->end_page_ext("");
        $p->end_document("");
        $p->close_pdi($stationery);
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=invoice.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in invoice sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!	oo"php/examples.php5/starter_pdfa.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        /* PDF/A-1a requires Tagged PDF */
        if ($p->begin_document($outfilename, "pdfa=PDF/A-1b:2005") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /*
         * We use sRGB as output intent since it allows the color
         * spaces CIELab, ICC-based, grayscale, and RGB.
         *
         * If you need CMYK color you must use a CMYK output profile.
         */
    
        $p->load_iccprofile("sRGB", "usage=outputintent");
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_pdfa");
    
        $p->begin_page_ext(595, 842, "");
    
        /* $font embedding is required for PDF/A */
        $font = $p->load_font("LuciduxSans-Oblique", "unicode", "embedding");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $p->setfont($font, 24);
    
        $p->fit_textline("PDF/A-1b:2005 starter", 50, 700, "");
    
        /* We can use an RGB $image since we already supplied an
         * output intent profile.
         */
        $image = $p->load_image("auto", $imagefile, "");
    
        if ($image == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* Place the $image at the bottom of the page */
        $p->fit_image($image, 0.0, 0.0, "scale=0.5");
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_pdfa sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!UC&php/examples.php5/starter_textflow.phpnu[set_parameter("errorpolicy", "return");
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        if ($p->begin_document($outfilename, "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_textflow");
    
        /* Create some amount of dummy text and feed it to a Textflow
         * object with alternating options. 
         */
        for ($i=1; $i<=$count; $i++) {
    	$num = $i . " ";
    
    	$tf = $p->add_textflow($tf, $num, $optlist2);
    	if ($tf == 0)
    	    die("Error: " . $p->get_errmsg());
    
    	$tf = $p->add_textflow($tf, $text, $optlist1);
    	if ($tf == 0)
    	    die("Error: " . $p->get_errmsg());
        }
    
        /* Loop until all of the text is placed; create new pages
         * as long as more text needs to be placed. Two columns will
         * be created on all pages.
         */
        do {
    	/* Add "showborder to visualize the fitbox borders */
    	$optlist = "verticalalign=justify linespreadlimit=120% ";
    
    	$p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
    	/* Fill the first column */
    	$result = $p->fit_textflow($tf, $llx1, $lly1, $urx1, $ury1, $optlist);
    
    	/* Fill the second column if we have more text*/
    	if ($result != "_stop") {
    	    $result = $p->fit_textflow($tf, 
    			$llx2, $lly2, $urx2, $ury2, $optlist);
    	}
    
    	$p->end_page_ext("");
    
    	/* "_boxfull" means we must continue because there is more text;
    	 * "_nextpage" is interpreted as "start new column"
    	 */
        } while ($result == "_boxfull" || $result == "_nextpage");
    
        /* Check for errors */
        if (!$result == "_stop") {
    	/* "_boxempty" happens if the box is very small and doesn't
    	 * hold any text at all.
    	 */
    	if ($result == "_boxempty") {
    	    die("Error: Textflow box too small");
    	} else {
    	    /* Any other return value is a user exit caused by
    	     * the "return" option; this requires dedicated code to
    	     * deal with.
    	     */
    	    die("User return '" . $result . "' found in Textflow");
    	}
        }
    
        $p->delete_textflow($tf);
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_textflow sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!\oophp/examples.php5/image.phpnu[set_parameter("errorpolicy", "return");
    
        /* This line is required to avoid problems on Japanese systems */
        $p->set_parameter("hypertextencoding", "winansi");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /*  open new PDF file; insert a file name to create the PDF on disk */
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "image.php");
        $p->set_info("Author", "Rainer Schaaf");
        $p->set_info("Title", "image sample (PHP)");
    
        $imagefile = "nesrin.jpg";
    
        $image = $p->load_image("auto", $imagefile, "");
        if (!$image) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* dummy page size, will be adjusted by $p->fit_image() */
        $p->begin_page_ext(10, 10, "");
        $p->fit_image($image, 0, 0, "adjustpage");
        $p->close_image($image);
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=image.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in image sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!$|(>
    >
    $php/examples.php5/quickreference.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /*  open new PDF file; insert a file name to create the PDF on disk */
        if ($p->begin_document("", "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* This line is required to avoid problems on Japanese systems */
        $p->set_parameter("hypertextencoding", "winansi");
    
        $p->set_info("Creator", "quickreference.php");
        $p->set_info("Author", "Thomas Merz");
        $p->set_info("Title", "mini imposition demo (php)");
    
        $manual = $p->open_pdi($infile, "", 0);
        if (!$manual) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $row = 0;
        $col = 0;
    
        $p->set_parameter("topdown", "true");
    
        $endpage = $p->pcos_get_number($manual, "length:pages");
    
        for ($pageno = 1; $pageno <= $endpage; $pageno++) {
    	if ($row == 0 && $col == 0) {
    	    $p->begin_page_ext($width, $height, "");
    	    $font = $p->load_font("Helvetica-Bold", "winansi", "");
    	    if ($font == 0) {
    		die("Error: " . $p->get_errmsg());
    	    }
    	    $p->setfont($font, 18);
    	    $p->set_text_pos(24, 24);
    	    $p->show("PDFlib Quick Reference");
    	}
    
    	$page = $p->open_pdi_page($manual, $pageno, "");
    
    	if (!$page) {
    	    die("Error: " . $p->get_errmsg());
    	}
    
    	$optlist = sprintf("scale %f", 1/$maxrow);
    
    	$p->fit_pdi_page($page, 
    	    $width/$maxcol*$col, ($row + 1) * $height/$maxrow, $optlist);
    	$p->close_pdi_page($page);
    
    	$col++;
    	if ($col == $maxcol) {
    	    $col = 0;
    	    $row++;
    	}
    	if ($row == $maxrow) {
    	    $row = 0;
    	    $p->end_page_ext("");
    	}
        }
    
        /* finish the last partial page */
        if ($row != 0 || $col != 0) {
    	$p->end_page_ext("");
        }
    
        $p->end_document("");
        $p->close_pdi($manual);
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=quickreference_php.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in quickreference sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!6Aa>		%php/examples.php5/starter_webform.phpnu[set_parameter("errorpolicy", "return");
    
        /* Prevent changes with a master password */
        $optlist = "linearize masterpassword=pdflib permissions={nomodify}";
    
        if ($p->begin_document($outfilename, $optlist) == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_webform");
    
        $optlist = "script={" . $js . "}";
        $action = $p->create_action("JavaScript", $optlist);
    
        $optlist = "action={open=" . $action . "}";
        $p->begin_page_ext(595, 842, $optlist);
    
        $font = $p->load_font("Helvetica", "winansi", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
        $p->setfont($font, 24);
    
        $p->fit_textline("Date: ", 125, $lly+5, "position={right bottom}");
    
        /* The tooltip will be used as rollover text for the field */
        $optlist =
    	"tooltip={Date (will be filled automatically)} " .
    	"bordercolor={gray 0} font=" . $font;
        $p->create_field($llx, $lly, $urx, $ury, "date", "textfield", $optlist);
    
        $lly-=100; $ury-=100;
        $p->fit_textline("Name: ", 125, $lly+5, "position={right bottom}");
    
        $optlist = "tooltip={Enter your name here} " .
    	"bordercolor={gray 0} font=" . $font;
        $p->create_field($llx, $lly, $urx, $ury, "name", "textfield", $optlist);
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_webform sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!;#php/examples.php5/starter_basic.phpnu[set_parameter("errorpolicy", "return");
    
        $p->set_parameter("SearchPath", $searchpath);
    
        /* we use "utf8" as textformat, this allows to use unicode encoding */
        $p->set_parameter("textformat", "utf8");
    
        if ($p->begin_document($outfilename, "") == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib starter sample");
        $p->set_info("Title", "starter_basic");
    
        /* We load the $image before the first page, and use it
         * on all pages
         */
        $image = $p->load_image("auto", $imagefile, "");
    
        if ($image == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        /* Page 1 */
        $p->begin_page_ext(595, 842, "");
    
        /* For PDFlib Lite: change "unicode" to "winansi" */
        $font = $p->load_font("Helvetica-Bold", "unicode", "");
        if ($font == 0) {
    	die("Error: " . $p->get_errmsg());
        }
    
        $p->setfont($font, 24);
    
        $p->set_text_pos(50, 700);
        $p->show("Hello world!");
    
        $p->fit_image($image, 0.0, 0.0, "scale=0.25");
    
        $p->end_page_ext("");
    
        /* Page 2 */
        $p->begin_page_ext(595, 842, "");
    
        /* red rectangle */
        $p->setcolor("fill", "rgb", 1.0, 0.0, 0.0, 0.0);
        $p->rect(200, 200, 250, 150);
        $p->fill();
    
        /* blue circle */
        $p->setcolor("fill", "rgb", 0.0, 0.0, 1.0, 0.0);
        $p->arc(400, 600, 100, 0, 360);
        $p->fill();
    
        /* thick gray line */
        $p->setcolor("stroke", "gray", 0.5, 0.0, 0.0, 0.0);
        $p->setlinewidth(10);
        $p->moveto(100, 500);
        $p->lineto(300, 700);
        $p->stroke();
    
        /* Using the same $image handle means the data will be copied
         * to the PDF only once, which saves space.
         */
        $p->fit_image($image, 150.0, 25.0, "scale=0.25");
        $p->end_page_ext("");
    
        /* Page 3 */
        $p->begin_page_ext(595, 842, "");
    
        /* Fit the image to a box of predefined size (without distortion) */
        $optlist = "boxsize={400 400} position={center} fitmethod=meet";
        $p->fit_image($image, 100, 200, $optlist);
    
        $p->end_page_ext("");
    
        $p->close_image($image);
        $p->end_document("");
    
        print "$outfilename generated";
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in starter_basic sample:\n" .
    	"[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
    	$e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    ?>
    PK!""j
    
    !php/examples.php5/starter_pvf.phpnu[set_parameter("SearchPath", $searchpath);
    
        # This means we must check return values of load_font() etc.
        $p->set_parameter("errorpolicy", "return");
    
        # Set an output path according to the name of the topic
        if ($p->begin_document("", "") == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib Cookbook");
        $buf = $title . ' $Revision: 1.1.2.1 $';
        $p->set_info("Title", $buf);
    
        # We just read some image data from a file; to really benefit
        # from using PVF read the data from a Web site or a database instead
    
        $imagedata = read_file("../data/PDFlib-logo.tif");
    
        $p->create_pvf("/pvf/image", $imagedata, "");
    
        # Load the image from the PVF
        $image = $p->load_image("auto", "/pvf/image", "");
        if ($image == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        # Fit the image on page 1
        $p->begin_page_ext(595, 842, "");
    
        $p->fit_image($image, 350, 750, "");
    
        $p->end_page_ext("");
    
        # Fit the image on page 2
        $p->begin_page_ext(595, 842, "");
    
        $p->fit_image($image, 350, 50, "");
    
        $p->end_page_ext("");
    
        # Delete the virtual file to free the allocated memory
        $p->delete_pvf("/pvf/image");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=hello.pdf");
        print $buf;
    
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in hello sample:\n" .
            "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
            $e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    
    ?>
    PK!#php/examples.php5/starter_layer.phpnu[set_parameter("SearchPath", $searchpath);
    
        # This means we must check return values of load_font() etc.
        $p->set_parameter("errorpolicy", "return");
    
    
        # Open the document with the "Layers" navigation tab visible
        if ($p->begin_document("", "openmode=layers") == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        $p->set_info("Creator", "PDFlib Cookbook");
        $buf = $title . ' $Revision: 1.1.2.2 $';
        $p->set_info("Title", $buf);
    
        # Load the font
        $font = $p->load_font("Helvetica", "winansi", "");
    
        if ($font == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        # Load the Grayscale image
        $imageGray = $p->load_image("auto", $gray, "");
        if ($imageGray == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        # Load the RGB image
        $imageRGB = $p->load_image("auto", $rgb, "");
        if ($imageRGB == 0) {
    	die("Error: " .  $p->get_errmsg());
        }
    
        # Define all layers which will be used, and their relationships.
        # This should be done before the first page if the layers are
        # used on more than one page.
    
        # Define the layer "RGB"
        $layerRGB = $p->define_layer("RGB", "");
    
        # Define the layer "Grayscale" which is hidden when opening the
        # document or printing it.
        $layerGray = $p->define_layer("Grayscale",
    		"initialviewstate=false initialprintstate=false");
    
        # At most one of the "Grayscale" and "RGB" layers should be visible
        $buf = "group={" . $layerGray . " " . $layerRGB . "}";
        $p->set_layer_dependency("Radiobtn", $buf);
    
        # Define the layer "English"
        $layerEN = $p->define_layer("English", "");
    
        # Define the layer "German" which is hidden when opening the document
        # or printing it.
        $layerDE = $p->define_layer("German",
    		"initialviewstate=false initialprintstate=false");
    
        # At most one of the "English" and "German" layers should be visible
        $buf = "group={" . $layerEN . " " . $layerDE . "}";
        $p->set_layer_dependency("Radiobtn", $buf);
    
        # Start page
        $p->begin_page_ext(0, 0, "width=a4.width height=a4.height");
    
        # Place the RGB image on the layer "RGB"
        $p->begin_layer($layerRGB);
        $p->fit_image($imageRGB, 100, 400,
    		"boxsize={400 300} fitmethod=meet");
    
        # Place the Grayscale image on the layer "Grayscale"
        $p->begin_layer($layerGray);
        $p->fit_image($imageGray, 100, 400,
    		"boxsize={400 300} fitmethod=meet");
    
        # Place an English image caption on the layer "English"
        $p->begin_layer($layerEN);
        $buf =  "font=" . $font . "  fontsize=20";
        $p->fit_textline("This is the Nesrin image.", 100, 370, $buf);
    
        # Place a German image caption on the layer "German"
        $p->begin_layer($layerDE);
        $buf = "font=" . $font . " fontsize=20";
        $p->fit_textline("Das ist das Nesrin-Bild.", 100, 370, $buf);
    
        $p->end_layer();
    
        $p->end_page_ext("");
    
        $p->end_document("");
    
        $buf = $p->get_buffer();
        $len = strlen($buf);
    
        header("Content-type: application/pdf");
        header("Content-Length: $len");
        header("Content-Disposition: inline; filename=hello.pdf");
        print $buf;
    }
    catch (PDFlibException $e) {
        die("PDFlib exception occurred in hello sample:\n" .
            "[" . $e->get_errnum() . "] " . $e->get_apiname() . ": " .
            $e->get_errmsg() . "\n");
    }
    catch (Exception $e) {
        die($e);
    }
    
    $p = 0;
    
    ?>
    PK!ԶI
    php/hello.phpnu[
    PK!php/starter_table.phpnu[
    PK!|Y,,php/starter_color.phpnu[
    PK!=zLphp/invoice.phpnu[30 days net. " .
    	"90 days warranty starting at the day of sale. " .
    	"This warranty covers defects in workmanship only. " .
    	"Kraxi Systems, Inc. " .
    	"will, at its option, repair or replace the " .
    	"product under the warranty. This warranty is not transferable. " .
    	"No returns or exchanges will be accepted for wet products.";
    
    $data = array(  array("name"=>"Super Kite", 	"price"=>20,	"quantity"=>2),
    		array("name"=>"Turbo Flyer", 	"price"=>40, 	"quantity"=>5),
    		array("name"=>"Giga Trasch", 	"price"=>180, 	"quantity"=>1),
    		array("name"=>"Bare Bone Kit", 	"price"=>50, 	"quantity"=>3),
    		array("name"=>"Nitty Gritty", 	"price"=>20, 	"quantity"=>10),
    		array("name"=>"Pretty Dark Flyer","price"=>75, 	"quantity"=>1),
    		array("name"=>"Free Gift", 	"price"=>0, 	"quantity"=>1)
    	    );
    
    $months = array( "January", "February", "March", "April", "May", "June",
    	    "July", "August", "September", "October", "November", "December");
    
    $p = PDF_new();
    
    # This means we must check return values of load_font() etc.
    PDF_set_parameter($p, "errorpolicy", "return");
    
    PDF_set_parameter($p, "SearchPath", $searchpath);
    
    /*  open new PDF file; insert a file name to create the PDF on disk */
    if (PDF_begin_document($p, "", "") == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    
    /* This line is required to avoid problems on Japanese systems */
    PDF_set_parameter($p, "hypertextencoding", "winansi");
    
    PDF_set_info($p, "Creator", "invoice.php");
    PDF_set_info($p, "Author", "Thomas Merz");
    PDF_set_info($p, "Title", "PDFlib invoice generation demo (PHP)");
    
    $stationery = PDF_open_pdi($p, $infile, "", 0);
    if ($stationery == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    
    $page = PDF_open_pdi_page($p, $stationery, 1, "");
    if ($page == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    
    
    $boldfont = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
    if ($boldfont == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    $regularfont = PDF_load_font($p, "Helvetica", "winansi", "");
    if ($regularfont == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    $leading = $fontsize + 2;
    
    /* Establish coordinates with the origin in the upper left corner. */
    PDF_begin_page_ext($p, $pagewidth, $pageheight, "topdown");
    
    PDF_fit_pdi_page($p, $page, 0, $pageheight, "");
    PDF_close_pdi_page($p, $page);
    
    PDF_setfont($p, $regularfont, $fontsize);
    
    /* print the address */
    $y = 170;
    PDF_set_value($p, "leading", $leading);
    
    PDF_show_xy($p, "John Q. Doe", $left, $y);
    PDF_continue_text($p, "255 Customer Lane");
    PDF_continue_text($p, "Suite B");
    PDF_continue_text($p, "12345 User Town");
    PDF_continue_text($p, "Everland");
    
    /* print the header and date */
    
    PDF_setfont($p, $boldfont, $fontsize);
    $y = 300;
    PDF_show_xy($p, "INVOICE", $left, $y);
    $time = localtime();
    $buf = sprintf("%s %d, %d", $months[$time[4]], $time[3], $time[5]+1900);
    PDF_fit_textline($p, $buf, $right, $y, "position {100 0}");
    
    
    /* print the invoice header line */
    $y = 370;
    $buf = sprintf("\tITEM\tDESCRIPTION\tQUANTITY\tPRICE\tAMOUNT");
    $optlist = sprintf("%s font %d ", $baseopt, $boldfont);
    $textflow = PDF_create_textflow($p, $buf, $optlist);
    
    if ($textflow == 0){
        die("Error: " . PDF_get_errmsg($p));
    }
    
    PDF_fit_textflow($p, $textflow, $left, $y-$leading, $right, $y, "");
    PDF_delete_textflow($p, $textflow);
    
    $y += 2*$leading;
    $total = 0;
    $optlist = sprintf("%s font %d ", $baseopt, $regularfont);
    
    for ($i = 0; $i < count($data); $i++) {
        $sum = $data[$i]{"price"}*$data[$i]{"quantity"};
        $buf = sprintf("\t%d\t%s\t%d\t%.2f\t%.2f", $i+1, $data[$i]{"name"},
        	$data[$i]{"quantity"}, $data[$i]{"price"}, $sum);
    
        $textflow = PDF_create_textflow($p, $buf, $optlist);
    
        if ($textflow == 0) {
    	die("Error: " . PDF_get_errmsg($p));
        }
    
        PDF_fit_textflow($p, $textflow, $left, $y-$leading, $right, $y, "");
        PDF_delete_textflow($p, $textflow);
    
        $y += $leading;
        $total +=$sum;
    }
    
    $y += $leading;
    
    PDF_setfont($p, $boldfont, $fontsize);
    PDF_fit_textline($p,sprintf("%.2f",$total), $right, $y, "position {100 0}");
    
    /* Print the closing text */
    
    $y +=5*$leading;
    $optlist  = "alignment=justify leading=120% ";
    $optlist .= "fontname=Helvetica fontsize=12 encoding=winansi";
    
    $textflow = PDF_create_textflow($p, $closingtext, $optlist);
    
    if ($textflow == 0) {
        die("Error: " . PDF_get_errmsg($p));
    }
    
    PDF_fit_textflow($p, $textflow, $left, $y+6*$leading, $right, $y, "");
    PDF_delete_textflow($p, $textflow);
    
    PDF_end_page_ext($p, "");
    PDF_end_document($p, "");
    PDF_close_pdi($p, $stationery);
    
    $buf = PDF_get_buffer($p);
    $len = strlen($buf);
    
    header("Content-type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=hello.pdf");
    print $buf;
    
    PDF_delete($p);
    ?>
    PK!GEEphp/starter_pdfa.phpnu[
    PK!z php/starter_textflow.phpnu[
    PK!?lgg
    php/image.phpnu[
    PK!i;	;	php/quickreference.phpnu[
    PK!P}}php/starter_webform.phpnu[
    PK!Rqqphp/readme.txtnu[===================================
    Notes on the PDFlib binding for PHP
    ===================================
    
    This file has been superceded by the PDFlib-in-PHP-HowTo.pdf
    document which is contained in all PDFlib for PHP distribution
    packages as PDF (in the doc directory).
    
    Or at http://www.pdflib.com/developer-center/technical-documentation/php-howto
    on our website.
    PK!_/		php/starter_basic.phpnu[
    PK!		php/starter_pvf.phpnu[
    PK!l6PPphp/starter_layer.phpnu[
    PK!TkU	basic.phpnu[connect())) {
        die($e->getMessage() . "\n");
    }
    $smtp->auth('username','password');
    /* Send the 'MAIL FROM:' SMTP command. */
    if (PEAR::isError($smtp->mailFrom($from))) {
        die("Unable to set sender to <$from>\n");
    }
    
    /* Address the message to each of the recipients. */
    foreach ($rcpt as $to) {
        if (PEAR::isError($res = $smtp->rcptTo($to))) {
            die("Unable to add recipient <$to>: " . $res->getMessage() . "\n");
        }
    }
    
    /* Set the body of the message. */
    if (PEAR::isError($smtp->data($subj . "\r\n" . $body))) {
        die("Unable to send data\n");
    }
    
    /* Disconnect from the SMTP server. */
    $smtp->disconnect();
    PK!~read.phpnu[next();
    
    // Retrieve a personal name field from the record
    $names = $marc_record->getFields('100');
    
    foreach ($names as $name_field) {
        // Now print the $a subfield
        switch ($name_field->getIndicator(1)) {
        case 0:
            print "Forename: ";
            break;
    
        case 1:
            print "Surname: ";
            break;
    
        case 2:
            print "Family name: ";
            break;
        }
    
        $name = $name_field->getSubfields('a');
    
        if (count($name) == 1) {
            print $name[0]->getData() . "\n";
        } else {
            print "Error -- \$a subfield appears more than once in this field!";
        }
    }
    
    print "\nPrint all series statement fields (4xx):\n";
    // Retrieve all series statement fields
    // Series statement fields start with a 4 (PCRE)
    $subjects = $marc_record->getFields('^4', true);
    
    // Iterate through all of the returned series statement fields
    foreach ($subjects as $field) {
        // print with File_MARC_Field_Data's magic __toString() method
        print $field;
    }
    
    print "\n";
    
    ?>
    PK!
    subfields.phpnu[appendSubfield($subfield1);
    
    // Insert a new subfield after the first subfield with code 'z'
    // Expected order: a-z-k-g
    $sf = $field->getSubfields('z');
    // getSubfields() always returns an array; we just want the first subfield
    if (count($sf) > 0) {
        $field->insertSubfield($subfield2, $sf[0]);
    }
    
    // Insert a new subfield prior to the first subfield with code 'z'
    // Expected order: a-t-z-k-g
    $sf = $field->getSubfield('z');
    // getSubfield() simply returns the first matching subfield
    if ($sf) {
        $field->insertSubfield($subfield3, $sf, true);
    }
    
    // let's see the results
    print $field;
    print "\n";
    
    ?>
    PK!cVmarc_yaz.phpnu[ "1=4",
        "au"  => "1=1",
        "isbn" => "1=7"
    );
    
    // Declare the array that will hold the parsed results
    $ccl_results = array();
    
    // Connect to the laurentian.ca Z39.50 server
    $conn = yaz_connect('142.51.8.7:2200/UNICORN');
    yaz_ccl_conf($conn, $ccl_fields);
    
    // Define our query for a most excellent text
    $ccl_query = "ti='derby' and au='scott'";
    
    // Parse the CCL query into yaz's native format
    $result = yaz_ccl_parse($conn, $ccl_query, $ccl_results);
    if (!$result) {
        echo "Error: " . $ccl_results['errorstring'];
        exit();
    }
    
    // Submit the query
    $rpn = $ccl_results['rpn'];
    yaz_search($conn, 'rpn', $rpn);
    yaz_wait();
    
    // Any errors trying to retrieve this record?
    $error = yaz_error($conn);
    if ($error) {
        print "Error: $error\n";
        exit();
    }
    
    // Retrieve the first MARC record as raw MARC
    $rec = yaz_record($conn, 1, "raw");
    if (!$rec) {
        print "Error: Retrieved no results.\n";
        exit();
    }
    
    // Parse the retrieved MARC record
    $marc_file = new File_MARC($rec, File_MARC::SOURCE_STRING); 
    
    while ($marc_record = $marc_file->next()) {
        print $marc_record;
        print "\n";
    }
    ?>
    PK!~N0::example.mrcnu[01850     2200517   45000010011000000030007000110080039000180200026000570350015000830400007000980420012001050840018001170840018001350840021001530840022001741000030001962450062002262500013002882600058003013000033003594400037003925000023004295990010004527400024004627750034004868410048005208410049005688410047006178410048006648410047007128410047007598520038008068520021008448520013008658520016008788520028008948520021009229000056009439000060009999000057010599000056011169000057011729000060012299760026012890050017013150000000044EMILDA980120s1998    fi     j      000 0 swe  a9515008808cFIM 72:00  99515008808  aNB  9NB9SEE  aHcd,u2kssb/6  5NBauHc2kssb  5SEEaHcf2kssb/6  5QaHcd,uf2kssb/61 aJansson, Tove,d1914-200104aDet osynliga barnet och andra berttelser /cTove Jansson  a7. uppl.  aHelsingfors :bSchildt,c1998 ;e(Falun :fScandbook)  a166, [4] s. :bill. ;c21 cm 0aMumin-biblioteket,x99-0698931-9  aOriginaluppl. 1962  aLi: S4 aDet osynliga barnet1 z951-50-0385-7w9515003857907  5Liaxab0201080u    0   4000uu   |000000e1  5SEEaxab0201080u    0   4000uu   |000000e1  5Laxab0201080u    0   4000uu   |000000e1  5NBaxab0201080u    0   4000uu   |000000e1  5Qaxab0201080u    0   4000uu   |000000e1  5Saxab0201080u    0   4000uu   |000000e1  5NBbNBcNB98:12hpliktjR, 980520  5LibLicCNBhh,u  5SEEbSEE  5QbQj98947  5LbLc0100h98/j3043 H  5SbShSv97j72351saYanson, Tobe,d1914-2001uJansson, Tove,d1914-20011saJanssonov, Tove,d1914-2001uJansson, Tove,d1914-20011saJansone, Tuve,d1914-2001uJansson, Tove,d1914-20011saJanson, Tuve,d1914-2001uJansson, Tove,d1914-20011saJansson, Tuve,d1914-2001uJansson, Tove,d1914-20011saJanssonova, Tove,d1914-2001uJansson, Tove,d1914-2001 2aHcd,ubSknlitteratur20050204111518.0PK!wparse1.cnu[PK!Hreader2nuȯPK!=E``$testWriter.onu[PK!	׊sxsx Makefilenu[PK!~3Bparse1nuȯPK!<	areader1nuȯPK!٥
    
    7examples.xslnu[PK!^parse3nuȯPK!00parse4.onu[PK!Rjؚؚ
    qindex.htmlnu[PK!7|ee*testWriter.cnu[PK!#ʞXXˢparse1.onu[PK!$q~~examples.xmlnu[PK!Gyparse3.cnu[PK!.
    
    
    parse4.cnu[PK!=r|r|Makefile.innu[PK!#AA	
    test3.xmlnu[PK!F>2##>index.pynu[PK!K?2io1nuȯPK!C
    iKQio1.cnu[PK!nzPss+`Makefile.amnu[PK! ` `	lreader1.onu[PK!<«l(X(X2io2.onu[PK!	%test2.xmlnu[PK!2&.memdumpnu[PK!ǝi&tree2nuȯPK!ȤxFxpath2.cnu[PK!_$[tree1.cnu[PK!\99	dreader4.cnu[PK!ijpparse4nuȯPK!RbXXxpath1.onu[PK!!F&	Bzreader3.cnu[PK!Vzzio1.onu[PK!	io2.cnu[PK!T6o`	xpath2.onu[PK!T@gg		reader2.onu[PK!S
    reader4nuȯPK!˕;0
    tree1nuȯPK!U3_O
    xpath1nuȯPK!R@a@an
    tree1.onu[PK!.
    parse2.cnu[PK!
    xpath1.cnu[PK!a??	
    reader2.cnu[PK!濶vv	
    reader4.onu[PK!PP Auparse2nuȯPK!:	qtest1.xmlnu[PK!M			reader1.cnu[PK!,No&&
    ͞testWriternuȯPK!Jجج-parse2.onu[PK!\`=kio2nuȯPK!E8}
    }
    Itree2.cnu[PK!ٞuutree2.onu[PK!x
    
    xpath2nuȯPK!+4XX,-
    parse3.onu[PK!Qw@|
    reader3nuȯPK!--
    .libs/lt-io1nuȯPK!++
    
    .libs/reader2nuȯPK!nM
    .libs/parse1nuȯPK!EP-P-.libs/lt-reader4nuȯPK!:d++
    %H.libs/reader1nuȯPK!I̸t.libs/parse3nuȯPK!Xx&MM.libs/lt-testWriternuȯPK!5؅++.libs/lt-tree2nuȯPK!A/++	.libs/lt-reader1nuȯPK!*++5.libs/lt-io2nuȯPK!uܸ--	a.libs/io1nuȯPK!^m4--ԏ.libs/lt-xpath1nuȯPK!T˸++ý.libs/tree2nuȯPK!ҊkPP.libs/lt-tree1nuȯPK!ȸ++D.libs/lt-reader3nuȯPK!0ڸ<3.libs/lt-parse1nuȯPK!]^0P-P-3O.libs/parse4nuȯPK!zP-P-|.libs/lt-xpath2nuȯPK!k++N.libs/lt-parse2nuȯPK!?:P-P-
    E.libs/reader4nuȯPK!3?PP.libs/tree1nuȯPK!;s԰--]!.libs/xpath1nuȯPK!:oRP-P-IO.libs/lt-parse4nuȯPK!YP|.libs/lt-parse3nuȯPK!L׸++Ϙ.libs/parse2nuȯPK!M0MM.libs/testWriternuȯPK!<++.libs/lt-reader2nuȯPK!i.^++	>.libs/io2nuȯPK!~_0P-P-j.libs/xpath2nuȯPK!++
    (.libs/reader3nuȯPK!ǩkk	reader3.onu[PK!/lsapi_with_cgi.rbnuȯPK!*1testlsapi.rbnuȯPK!fe2example2.phpnu[PK!5k##Eexample.phpnu[PK!ͅ$itestFunctions.phpnuIwPK!33mcomplexTest.phpnuIwPK!xM//EytestOperations.phpnuIwPK!FXUU
    {linksys.pynu[PK!Z+__pycache__/retriever-multi.cpython-312.pycnu[PK!+X#o__pycache__/sfquery.cpython-312.pycnu[PK!Er/__pycache__/opensocketexception.cpython-312.pycnu[PK!ٕ+__pycache__/ssh_keyfunction.cpython-312.pycnu[PK!,#__pycache__/linksys.cpython-312.pycnu[PK!''%__pycache__/retriever.cpython-312.pycnu[PK!95Y'(__pycache__/file_upload.cpython-312.pycnu[PK!أ g__pycache__/smtp.cpython-312.pycnu[PK!x'f__pycache__/xmlrpc_curl.cpython-312.pycnu[PK!LuL6e__pycache__/multi-socket_action-select.cpython-312.pycnu[PK!s&p__pycache__/basicfirst.cpython-312.pycnu[PK!8xmlrpc_curl.pynu[PK!ѹ+file_upload.pynu[PK!!#i
    i
    qretriever.pynu[PK!OX_]]opensocketexception.pynu[PK!%ק
    
    retriever-multi.pynu[PK!		
    sfquery.pynu[PK!pKKsmtp.pynu[PK!Оo
    quickstart/get_python3_https.pynu[PK!b,quickstart/get_python2.pynu[PK!ԃ+,,quickstart/put_file.pynu[PK!&%F8quickstart/__pycache__/get_python3_https.cpython-312.pycnu[PK!9))0quickstart/__pycache__/form_post.cpython-312.pycnu[PK!_a/||*quickstart/__pycache__/get.cpython-312.pycnu[PK!w&Q1rquickstart/__pycache__/put_buffer.cpython-312.pycnu[PK!-tu2squickstart/__pycache__/get_python2.cpython-312.pycnu[PK!qrpp8"quickstart/__pycache__/get_python2_https.cpython-312.pycnu[PK!̜M24&quickstart/__pycache__/response_info.cpython-312.pycnu[PK!nMM6*quickstart/__pycache__/follow_redirect.cpython-312.pycnu[PK!ǰC2-quickstart/__pycache__/get_python3.cpython-312.pycnu[PK!p571quickstart/__pycache__/file_upload_real.cpython-312.pycnu[PK!l14quickstart/__pycache__/write_file.cpython-312.pycnu[PK!5S7%7quickstart/__pycache__/response_headers.cpython-312.pycnu[PK!<'44=5?quickstart/__pycache__/file_upload_real_fancy.cpython-312.pycnu[PK!#I)9Bquickstart/__pycache__/file_upload_buffer.cpython-312.pycnu[PK! /9Fquickstart/__pycache__/put_file.cpython-312.pycnu[PK![77 Iquickstart/file_upload_buffer.pynu[PK!YQ11Kquickstart/response_headers.pynu[PK!i%Squickstart/response_info.pynu[PK!%Uquickstart/get_python2_https.pynu[PK! GG	Xquickstart/get.pynu[PK!WJA44Zquickstart/form_post.pynu[PK!]quickstart/get_python3.pynu[PK!p$^quickstart/put_buffer.pynu[PK!hPW$aquickstart/file_upload_real_fancy.pynu[PK!ee?cquickstart/write_file.pynu[PK!~,dquickstart/follow_redirect.pynu[PK!~(##3fquickstart/file_upload_real.pynu[PK!3??gmulti-socket_action-select.pynu[PK!^7..0ssh_keyfunction.pynu[PK!8!!
    basicfirst.pynu[PK!
    
    single_link_example.phpnu[PK!p||double_link_example.phpnu[PK!|mmphp/starter_graphics.phpnu[PK!_d^	^	uphp/businesscard.phpnu[PK!B%fphp/starter_image.phpnu[PK!L	"Ophp/starter_textline.phpnu[PK!2F
    
    Kphp/chartab.phpnu[PK!ۃ		ephp/starter_type3font.phpnu[PK!plphp/starter_pcos.phpnu[PK!ݱ(
    
    !php/starter_block.phpnu[PK!#,php/starter_tagged.phpnu[PK!?R		4php/starter_3d.phpnu[PK!Z_=php/starter_pdfx.phpnu[PK!2Fphp/starter_pdfmerge.phpnu[PK!'n[+
    +
    Nphp/pdfclock.phpnu[PK!BK&Xphp/examples.php5/starter_graphics.phpnu[PK!2q
    q
    "#wphp/examples.php5/businesscard.phpnu[PK!M؆	#php/examples.php5/starter_image.phpnu[PK!q &֙php/examples.php5/starter_textline.phpnu[PK!0Aphp/examples.php5/chartab.phpnu[PK!RB
    
    '/php/examples.php5/starter_type3font.phpnu[PK!J'"php/examples.php5/starter_pcos.phpnu[PK!SA#2php/examples.php5/starter_block.phpnu[PK!B~77$ophp/examples.php5/starter_tagged.phpnu[PK!Gob
    b
     php/examples.php5/starter_3d.phpnu[PK!e
    
    "php/examples.php5/starter_pdfx.phpnu[PK!&php/examples.php5/starter_pdfmerge.phpnu[PK!j%KKphp/examples.php5/pdfclock.phpnu[PK!Żphp/examples.php5/hello.phpnu[PK!/m++#"php/examples.php5/starter_table.phpnu[PK!*--#:php/examples.php5/starter_color.phpnu[PK!*qmgphp/examples.php5/invoice.phpnu[PK!	oo"}php/examples.php5/starter_pdfa.phpnu[PK!UC&php/examples.php5/starter_textflow.phpnu[PK!\ooݕphp/examples.php5/image.phpnu[PK!$|(>
    >
    $php/examples.php5/quickreference.phpnu[PK!6Aa>		%)php/examples.php5/starter_webform.phpnu[PK!;#php/examples.php5/starter_basic.phpnu[PK!""j
    
    ![php/examples.php5/starter_pvf.phpnu[PK!#php/examples.php5/starter_layer.phpnu[PK!ԶI
    php/hello.phpnu[PK!php/starter_table.phpnu[PK!|Y,,php/starter_color.phpnu[PK!=zLphp/invoice.phpnu[PK!GEE4php/starter_pdfa.phpnu[PK!z <php/starter_textflow.phpnu[PK!?lgg
    jJphp/image.phpnu[PK!i;	;	Pphp/quickreference.phpnu[PK!P}}Yphp/starter_webform.phpnu[PK!RqqSbphp/readme.txtnu[PK!_/		dphp/starter_basic.phpnu[PK!		nphp/starter_pvf.phpnu[PK!l6PPKxphp/starter_layer.phpnu[PK!TkU	basic.phpnu[PK!~1read.phpnu[PK!
    $subfields.phpnu[PK!cVbmarc_yaz.phpnu[PK!~N0::sexample.mrcnu[PK1C