survex-1.4.17/0000775000175000017500000000000014766657213006724 5survex-1.4.17/compile0000755000175000017500000001670514766657026010233 #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2024-06-19.01; # UTC # Copyright (C) 1999-2024 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN* | MSYS*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.lo | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . GNU Automake home page: . General help using GNU software: . EOF exit $? ;; -v | --v*) echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: survex-1.4.17/desc.txt0000644000175000017500000000054014525274540010307 The development branch of Survex, a software suite to process, view, and print cave survey data. Survex is cross-platform (Linux/Unix, and Microsoft Windows). It includes English, French, German, Portuguese, Catalan, and Spanish internationalisations. It can deal with extremely large and complex datasets and can read survey data from many sources. survex-1.4.17/survex.iss.in0000664000175000017500000002372614765126030011322 ; @configure_input@ [Setup] AppName=@PRETTYPACKAGE@ DefaultDirName={autopf}\@PRETTYPACKAGE@ DefaultGroupName=@PRETTYPACKAGE@ OutputBaseFilename=@PACKAGE@-microsoft-windows-@VERSION@ ; FIXME translate this! ;AppComments=Survex Cave Surveying Software AppPublisher=The Survex Project AppPublisherURL=https://survex.com/ AppVersion=@VERSION@ VersionInfoTextVersion=@VERSION@ VersionInfoVersion=@VERSION@ ChangesAssociations=yes LicenseFile=COPYING.txt Uninstallable=yes AppCopyright=@COPYRIGHT_MSG@ ;WizardImageFile=survey.bmp ;WizardSmallImageFile=??? (up to 55x58) LZMANumFastBytes=273 SolidCompression=yes ; Only show the "choose language" dialog if there isn't an exact match for ; the UI language the user has set. ShowLanguageDialog=auto ;SetupIconFile=FIXME ; file in installation source directory ;UninstallDisplayIcon=FIXME ;AppReadmeFile=FIXME ;AppSupportURL=FIXME ;AppUpdatesURL=FIXME AppContact=olly@survex.com ; Install file timestamps correctly! TimeStampsInUTC=yes ; SignedUninstaller ??? ; If upgrading, default to the language selected last time. UsePreviousLanguage=yes WizardStyle=modern ; Allow installing without admin rights. PrivilegesRequiredOverridesAllowed=dialog [Languages] ; Official translations: Name: "bg"; MessagesFile: "compiler:Languages/Bulgarian.isl" Name: "ca"; MessagesFile: "compiler:Languages/Catalan.isl" Name: "cs"; MessagesFile: "compiler:Languages/Czech.isl" Name: "de"; MessagesFile: "compiler:Languages/German.isl" Name: "en"; MessagesFile: "compiler:Default.isl" Name: "es"; MessagesFile: "compiler:Languages/Spanish.isl" Name: "fr"; MessagesFile: "compiler:Languages/French.isl" Name: "hu"; MessagesFile: "compiler:Languages/Hungarian.isl" Name: "it"; MessagesFile: "compiler:Languages/Italian.isl" Name: "pl"; MessagesFile: "compiler:Languages/Polish.isl" Name: "pt"; MessagesFile: "compiler:Languages/Portuguese.isl" Name: "pt_br"; MessagesFile: "compiler:Languages/BrazilianPortuguese.isl" Name: "ru"; MessagesFile: "compiler:Languages/Russian.isl" Name: "sk"; MessagesFile: "compiler:Languages/Slovak.isl" ; Unofficial: Name: "el"; MessagesFile: "Greek.isl" Name: "en_gb"; MessagesFile: "EnglishBritish.isl" Name: "id"; MessagesFile: "Indonesian.isl" Name: "ro"; MessagesFile: "Romanian.isl" Name: "zh_CN"; MessagesFile: "ChineseSimplified.isl" Name: "zh_TW"; MessagesFile: "ChineseTraditional.isl" [Dirs] Name: "{app}\manual" Name: "{app}\images" Name: "{app}\proj" ; Remove any cad3d.exe from a previous install - it has now been replaced ; by survexport.exe. [InstallDelete] Type: files; Name: "{app}\cad3d.exe" [Files] Source: "*.exe"; Excludes: "aven.exe,survexport.exe,wrapaven.exe,wrapsurvexport.exe"; DestDir: "{app}" ; Install aven.exe as ave_.exe and survexport.exe as survexpor_.exe. Source: "aven.exe"; DestDir: "{app}"; DestName: "ave_.exe" Source: "survexport.exe"; DestDir: "{app}"; DestName: "survexpor_.exe" ; Install wrapper versions under real name. Source: "wrapaven.exe"; DestDir: "{app}"; DestName: "aven.exe" Source: "wrapsurvexport.exe"; DestDir: "{app}"; DestName: "survexport.exe" ; Also install wrapsurvexport.exe as 3dtopos.exe so existing Tunnel releases work. Source: "wrapsurvexport.exe"; DestDir: "{app}"; DestName: "3dtopos.exe" Source: "*.dll"; DestDir: "{app}"; Flags: skipifsourcedoesntexist Source: "*.svx"; DestDir: "{app}" Source: "*.ico"; DestDir: "{app}" Source: "*.pixelfont"; DestDir: "{app}" Source: "*.png"; DestDir: "{app}\images" Source: "*.msg"; DestDir: "{app}" Source: "*.htm"; DestDir: "{app}" Source: "proj\*"; DestDir: "{app}\proj" Source: "manual\*.*"; DestDir: "{app}\manual" ; Generate iss file for including the wxstd.mo files #include "i18nfiles.iss" ; FIXME This should be translated (think there's a standard custommessage) ;[Run] ;Filename: "{app}\aven.exe"; Description: "Launch aven"; Flags: postinstall nowait skipifsilent unchecked [Icons] ; Name: "{group}\SvxEdit"; Filename: "{app}\editwrap.exe"; Comment: "Enter survey data" Name: "{group}\Aven"; Filename: "{app}\aven.exe"; Comment: "View processed surveys" Name: "{group}\Documentation"; Filename: "{app}\index.htm"; Comment: "View the documentation for Survex" Name: "{group}\{cm:UninstallProgram,@PRETTYPACKAGE@}"; Filename: "{uninstallexe}" [CustomMessages] CompassPlotFile=Compass Plot File CMapProcessedData=CMAP Processed Data SurvexRawSurveyData=Survex Raw Survey Data SurvexProcessedData=Survex Processed Data SurvexLoopClosureErrors=Survex Loop Closure Errors SurvexStationPositions=Survex Station Positions OutputLog=Output Log [Registry] ; Support for loading Compass Plot files Root: HKA; Subkey: "Software\Classes\.plt"; ValueType: string; ValueData: "CompassPlotFile" Root: HKA; Subkey: "Software\Classes\.plf"; ValueType: string; ValueData: "CompassPlotFile" Root: HKA; Subkey: "Software\Classes\CompassPlotFile"; ValueType: string; ValueData: "{cm:CompassPlotFile}" Root: HKA; Subkey: "Software\Classes\CompassPlotFile\DefaultIcon"; ValueType: string; ValueData:"{app}\plt.ico" Root: HKA; Subkey: "Software\Classes\CompassPlotFile\shell\Open with Aven\command"; ValueType: string; ValueData: """{app}\aven.exe"" ""%1"""; Flags: uninsdeletekey ; Support for loading CMAP XYZ files Root: HKA; Subkey: "Software\Classes\.xyz"; ValueType: string; ValueData: "CMAP.XYZ" Root: HKA; Subkey: "Software\Classes\CMAP.XYZ"; ValueType: string; ValueData: "{cm:CMapProcessedData}" ;Root: HKA; Subkey: "Software\Classes\CMAP.XYZ\DefaultIcon"; ValueType: string; ValueData:"{app}\plt.ico" Root: HKA; Subkey: "Software\Classes\CMAP.XYZ\shell\Open with Aven\command"; ValueType: string; ValueData: """{app}\aven.exe"" ""%1"""; Flags: uninsdeletekey ; Root: HKA; Subkey: "Software\Classes\.svx"; ValueType: string; ValueData: "survex.source"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\.3d"; ValueType: string; ValueData: "survex.bin"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\.err"; ValueType: string; ValueData: "survex.error"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\.pos"; ValueType: string; ValueData: "survex.pos"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\.log"; ValueType: string; ValueData: "survex.log"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.source"; ValueType: string; ValueData: "{cm:SurvexRawSurveyData}"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.source\DefaultIcon"; ValueType: string; ValueData: "{app}\svx.ico"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.source\shell\Open"; ValueType: none; Flags: deletekey Root: HKA; Subkey: "Software\Classes\survex.source\shell\Process"; ValueType: none; Flags: deletekey Root: HKA; Subkey: "Software\Classes\survex.source\shell\Open in Notepad\command"; ValueType: string; ValueData: """notepad.exe"" ""%1"""; Flags: uninsdeletevalue ;Root: HKA; Subkey: "Software\Classes\survex.source\shell\Open in SvxEdit\command"; ValueType: string; ValueData: """{app}\editwrap.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.source\shell\Process\command"; ValueType: string; ValueData: """{app}\aven.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.bin"; ValueType: string; ValueData: "{cm:SurvexProcessedData}"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.bin\DefaultIcon"; ValueType: string; ValueData:"{app}\3d.ico"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.bin\shell\Open\command"; ValueType: string; ValueData: """{app}\aven.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.bin\shell\Print\command"; ValueType: string; ValueData: """{app}\aven.exe"" --print ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.bin\shell\Extend\command"; ValueType: string; ValueData: """{app}\extend.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error"; ValueType: string; ValueData: "{cm:SurvexLoopClosureErrors}"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\DefaultIcon"; ValueType: string; ValueData: "{app}\err.ico"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Open\command"; ValueType: string; ValueData: """notepad.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Sort by Error\command"; ValueType: string; ValueData: """{app}\sorterr.exe"" -r ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Sort by Horizontal Error\command"; ValueType: string; ValueData: """{app}\sorterr.exe"" -r -h ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Sort by Vertical Error\command"; ValueType: string; ValueData: """{app}\sorterr.exe"" -r -v ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Sort by Percentage Error\command"; ValueType: string; ValueData: """{app}\sorterr.exe"" -r -p ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.error\shell\Sort by Error per Leg\command"; ValueType: string; ValueData: """{app}\sorterr.exe"" -r -l ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.pos"; ValueType: string; ValueData: "{cm:SurvexStationPositions}"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.pos\DefaultIcon"; ValueType: string; ValueData: "{app}\pos.ico"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.pos\shell\Open\command"; ValueType: string; ValueData: """notepad.exe"" ""%1"""; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.log"; ValueType: string; ValueData: "{cm:OutputLog}"; Flags: uninsdeletevalue Root: HKA; Subkey: "Software\Classes\survex.log\shell\Open\command"; ValueType: string; ValueData: """notepad.exe"" ""%1"""; Flags: uninsdeletevalue ; Remove old menu items which can now be better achieved via Aven. Root: HKA; Subkey: "Software\Classes\survex.bin\shell\Convert to DXF\command"; ValueType: none; Flags: deletekey Root: HKA; Subkey: "Software\Classes\survex.bin\shell\Convert for hand plotting\command"; ValueType: none; Flags: deletekey survex-1.4.17/Makefile.am0000664000175000017500000000566314765126030010675 ## Process this file with automake to produce Makefile.in ACLOCAL_AMFLAGS = -I m4 SUBDIRS = . lib src doc tests # We never want to implicitly recurse into the vim subdirectory, but we still # want to distribute the files there. DIST_SUBDIRS = $(SUBDIRS) vim EXTRA_DIST = TODO OLDNEWS\ desc.txt desc-aven.txt survex.spec AUTHORS: doc/AUTHORS.htm w3m -dump doc/AUTHORS.htm > AUTHORS HACKING: doc/HACKING.htm w3m -dump doc/HACKING.htm > HACKING TODO: doc/TODO.htm w3m -dump doc/TODO.htm > TODO # Create Aven.app for macOS - run as e.g.: # make create-aven-app APP_PATH=Aven.app create-aven-app: mkdir -p '$(APP_PATH)/Contents/MacOS' '$(APP_PATH)/Contents/Resources' cp lib/Info.plist '$(APP_PATH)/Contents' printf APPLAVEN > '$(APP_PATH)/Contents/PkgInfo' for zip in lib/icons/*.iconset.zip ; do \ set -e; \ unzip -d '$(APP_PATH)/Contents/Resources' "$$zip"; \ i=`echo "$$zip"|sed 's!.*/\(.*\)\.zip$$!\1!'`; \ iconutil --convert icns '$(APP_PATH)/Contents/Resources/'"$$i"; \ rm -rf '$(APP_PATH)/Contents/Resources/'"$$i"; \ done mingw : all mingw_iss RUN_EXE = DISPLAY= wine PROJ_PREFIX = /usr/i686-w64-mingw32 mingw_iss : survex.iss $(RM) -rf iss_tmp mkdir iss_tmp $(MAKE) install-strip DESTDIR=$(PWD)/iss_tmp : cp survex.iss iss_tmp : # so the installer can display the license cp COPYING iss_tmp/COPYING.txt mv iss_tmp$(prefix)/share/doc/survex/*.htm iss_tmp : : # This is identical to survexport.exe - we install under two names : # via the installer so don't need to ship both. rm -f iss_tmp$(prefix)/bin/3dtopos.exe mv iss_tmp$(prefix)/bin/* iss_tmp mv iss_tmp$(prefix)/share/survex/images/* iss_tmp rmdir iss_tmp$(prefix)/share/survex/images mv iss_tmp$(prefix)/share/survex/* iss_tmp : cp lib/icons/*.ico iss_tmp : # not needed if we build wx without threads: gzip -dc /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > iss_tmp/mingwm10.dll mv iss_tmp$(prefix)/share/doc/survex/manual iss_tmp rm -rf iss_tmp/usr p=$(PWD) ; cd "`$(WX_CONFIG) --prefix`/share/locale" && for d in * ; do \ f=$$d/LC_MESSAGES/wxstd.mo ; \ if [ -f "$$f" ] ; then \ mkdir "$$p/$$d" ; \ cp "$$f" "$$p/$$d" ; \ printf 'Source: "%s\\wxstd.mo"; DestDir: "{app}\\%s"\n' "$$d" "$$d" ; \ fi ; \ done > $$p/iss_tmp/i18nfiles.iss cp lib/*.isl iss_tmp : # Also need to reduce colour depth it appears: : # src/png2bmp lib/icons/aven_about.png iss_tmp/logo.bmp cp -a $(PROJ_PREFIX)/share/proj iss_tmp/proj : # Include required non-system DLLs. [ -z "$(NTLDD)" ] || cp -a $$($(NTLDD) --recursive src/aven.exe 2>/dev/null|sed -n 's!\\!/!g;s!.*msys64\(/ucrt64/bin/[^ ]*\).*!\1!p') iss_tmp : # libpodofo triggers openssl to dynamically load its legacy.dll at startup. : # Looks like this may get fixed in libpodofo 1.0 cp /ucrt64/lib/ossl-modules/legacy.dll iss_tmp $(STRIP) iss_tmp/*.dll $(RUN_EXE) "c:/Program Files (x86)/Inno Setup 6/ISCC.exe" iss_tmp/survex.iss mv iss_tmp/Output/*.exe . $(RM) -rf iss_tmp .PHONY: mingw mingw_iss survex-1.4.17/ChangeLog0000664000175000017500000101073414763666626010431 This ChangeLog file is no longer maintained - see the git repo history for more recent changes: https://survex.com/cvs.html Thu Sep 24 22:10:49 GMT 2015 Olly Betts * doc/aven.sgml: Document Ctrl+cursor keys for rotating and tilting. Thu Sep 24 21:01:01 GMT 2015 Olly Betts * src/cavernlog.cc: On wxMSW, also quote for cmd.exe so that paths with spaces in work reliably. Reported by Marco Cotto. Thu Sep 24 21:00:03 GMT 2015 Olly Betts * src/aventreectrl.cc,src/mainfrm.h: If we're animating, don't try to update station info based on mouse movement over the survey tree. Wed Sep 23 05:16:53 GMT 2015 Olly Betts * survex.iss.in: On Vista or later, the installer requires admin privileges, so don't try to set up the registry conditional on whether we are or not. Wed Sep 23 00:45:38 GMT 2015 Olly Betts * src/cavernlog.cc: Fix compiler warning. Wed Sep 23 00:31:40 GMT 2015 Olly Betts * NEWS,configure.ac,doc/manual.sgml: Update for 1.2.24. Wed Sep 23 00:23:19 GMT 2015 Olly Betts * src/aven.cc: Add workaround for therion's assumptions about the "Process" file association. Tue Sep 22 20:59:41 GMT 2015 Olly Betts * lib/sk.po: Fix clashing menu accelerators. Tue Sep 22 20:52:33 GMT 2015 Olly Betts * doc/manual.sgml: Update stats for CUCC dataset. Tue Sep 22 20:42:02 GMT 2015 Olly Betts * src/mainfrm.cc: Add FIXME for wording of "Full Screen Mode" menu item on OS X. Mon Sep 21 07:25:37 GMT 2015 Olly Betts * src/cavernlog.cc,src/cavernlog.h: If wx was built with thread support, aven now runs cavern from a separate thread, which works better under wxMSW (where we can't use select), and seems a bit smoother on Linux. Sun Sep 20 06:50:53 GMT 2015 Olly Betts * doc/manual.sgml: Document anonymous stations in the manual, based on the text from NEWS. Reported by Wookey. Sat Sep 19 03:54:39 GMT 2015 Olly Betts * src/mainfrm.cc: Use utf8_str() instead of fn_str() for the filename to pass to the img library. Sat Sep 19 03:08:28 GMT 2015 Olly Betts * src/mainfrm.cc: Hide the OpenGL window when we show the log window, to fix issues with the OpenGL window still showing up under wxMSW. Fri Sep 18 09:22:11 GMT 2015 Olly Betts * src/aventreectrl.cc,src/aventreectrl.h: Back out accidentally committed debugging code which sends output to stdout from the tree control. Thu Sep 17 21:50:35 GMT 2015 Olly Betts * lib/id.po: Update Indonesian translation. Tue Sep 15 20:57:58 GMT 2015 Olly Betts * configure.ac: Look for wx-config-3.0, which Fedora's wx3 packages have. Reported by James Begley. Tue Sep 15 07:26:53 GMT 2015 Olly Betts * src/cavernlog.cc: Fix the cavern log under WXMSW. Reported by Brian Clipstone. Tue Sep 15 06:57:00 GMT 2015 Olly Betts * lib/sk.po: Translate "Help". Wed Sep 09 07:16:51 GMT 2015 Olly Betts * src/mainfrm.cc: Fix handling of encoding of filename when there's no corresponding locale on the system. Wed Sep 09 07:08:04 GMT 2015 Olly Betts * buildmacosx.sh: Fix locations proj 'epsg' and 'esri' files get installed to (script version used to build 1.2.23). Sun Sep 06 04:25:13 GMT 2015 Olly Betts * src/cavernlog.cc: Fix compiler warnings. Sun Sep 06 03:50:08 GMT 2015 Olly Betts * NEWS,doc/HACKING.htm: Now using InnoSetup 5.5.6 rather than 5.5.3. Sun Sep 06 03:23:47 GMT 2015 Olly Betts * doc/manual.sgml: Improve wording. Sun Sep 06 03:23:30 GMT 2015 Olly Betts * NEWS,configure.ac,doc/manual.sgml: Update for 1.2.23. Sun Sep 06 03:18:12 GMT 2015 Olly Betts * lib/fr.po: Fill in missing translations. Sun Sep 06 00:03:38 GMT 2015 Olly Betts * buildmacosx.sh: Building libav with --disable-decoders --disable-demuxers causes a link failure when linking aven, so drop those options for now. Tue Sep 01 08:49:59 GMT 2015 Olly Betts * Makefile.am,src/Makefile.am,src/aven.cc,src/message.c: Fix up the handling of bundled epsg and esri files to work. Tue Sep 01 08:32:34 GMT 2015 Olly Betts * tests/cmd_export_bad.out,tests/cmd_export_bad.svx: Add more new files missed from earlier commit. Tue Sep 01 08:28:41 GMT 2015 Olly Betts * tests/cmd_equate_bad.out,tests/cmd_equate_bad.svx: Add new files missed from earlier commit. Sun Aug 30 01:32:13 GMT 2015 Olly Betts * src/commands.c: Fix potential crash in *ref. Sat Aug 29 05:41:47 GMT 2015 Olly Betts * NEWS: Update. Sat Aug 29 04:09:43 GMT 2015 Olly Betts * src/commands.c,tests/cmd_dummy.svx: Check syntax on *ref. Sat Aug 29 00:53:16 GMT 2015 Olly Betts * doc/manual.sgml,src/commands.c,tests/cmd_dummy.svx, tests/doubleinc.out: Add *ref command to allow specifying an external reference. Fri Aug 28 23:15:13 GMT 2015 Olly Betts * Makefile.am,buildmacosx.sh,src/,survex.iss.in: Bundle proj's EPSG and ESRI code lists in the installers for MS Windows and OS X so that things like "*cs EPSG:29903" work. Reported by Graham Mullan. Fri Aug 28 21:47:15 GMT 2015 Olly Betts * src/gfxcore.cc: Fix the orientation of the starting end of tubes. Fri Aug 28 21:21:28 GMT 2015 Olly Betts * lib/po-to-msg.pl: Only check C format strings in messages with the c-format flag. Fri Aug 28 21:11:24 GMT 2015 Olly Betts * NEWS: Update. Fri Aug 28 21:03:26 GMT 2015 Olly Betts * src/cavernlog.cc: Show "busy" mouse cursor while processing survey data. Fri Aug 28 19:09:44 GMT 2015 Olly Betts * src/cavernlog.cc,src/cavernlog.h,src/mainfrm.cc: Use idle events rather than wxYield to give much smoother update of the cavern log window, especially on slower machines. Also fixes an assertion if you try to start processing a survex file while one is already being processed. Fri Aug 28 18:10:00 GMT 2015 Olly Betts * doc/cavern.sgml: Fix broken SGML from previous commit. Fri Aug 28 05:53:00 GMT 2015 Olly Betts * doc/cavern.sgml,doc/manual.sgml,lib/,src/: Drop support for showing percentage progress in cavern. It's confusing in a multiple-file dataset as it shows progress in the current file so jumps around. It also slows down processing, and on a slow machine you'd don't want that, while on a fast machine processing isn't slow enough for the progress display to be useful. Fri Aug 28 05:28:38 GMT 2015 Olly Betts * doc/manual.sgml,survex.iss.in: Process survey data with aven rather than running cavern. Sat Aug 22 21:14:40 GMT 2015 Olly Betts * lib/fr.po: Use fancy quotes. Wed Aug 19 14:08:14 GMT 2015 Olly Betts * lib/fr.po: Merge translation updates from Michel Bovey. Mon Aug 17 08:32:18 GMT 2015 Olly Betts * NEWS,configure.ac,doc/manual.sgml: Update for 1.2.22. Thu Aug 13 16:12:06 GMT 2015 Olly Betts * lib/: Update source references and merge po files. Thu Aug 13 16:11:03 GMT 2015 Olly Betts * src/commands.c: Correct an example in a TRANSLATORS comment. Wed Aug 12 19:46:34 GMT 2015 Olly Betts * src/readval.c: Anonymous stations can't be exported, so we don't need to set them up ready for implicit exports. Tue Aug 11 21:31:44 GMT 2015 Olly Betts * src/commands.c,tests/Makefile.am,tests/cavern.tst, tests/cmd_set_bad.out: Improve errors for invalid survey names in *equate and *export. Tue Aug 11 20:34:05 GMT 2015 Olly Betts * src/commands.c,tests/cmd_begin_bad.out,tests/cmd_begin_bad.svx: Improve error when *begin is followed by an invalid survey name. Tue Aug 11 20:02:31 GMT 2015 Olly Betts * src/commands.c,tests/: Improve error when *begin is followed by an invalid survey name. Tue Aug 11 19:44:40 GMT 2015 Olly Betts * NEWS: Update. Fri Aug 07 14:19:04 GMT 2015 Olly Betts * src/aven.cc,src/gla-gl.cc: Ensure that the window has a depth buffer. Whether it does by default seems to vary depending on OS and maybe graphics card. Fixes #55 (terrain is no longer visible through itself), and also the rendering of passage tubes. Thanks to Martin Green for pointing me in the right direction for finding this fix. Fri Aug 07 11:13:19 GMT 2015 Olly Betts * doc/manual.sgml: Update to reflect *declination with a number not working in 1.2.21. Fri Aug 07 10:55:42 GMT 2015 Olly Betts * src/netartic.c,tests/: Fix assertion if we try to identify a hanging survey by an anonymous station. Fri Aug 07 10:33:38 GMT 2015 Olly Betts * src/commands.c,tests/: Fix *declination with an angle to actually work. Tue Jul 28 19:18:37 GMT 2015 Olly Betts * src/Makefile.am: Ship thgeomag.h. Tue Jul 28 19:10:52 GMT 2015 Olly Betts * src/Makefile.am: Distribute igrf coefficients file and script to generate C header from it. Tue Jul 28 18:57:43 GMT 2015 Olly Betts * doc/HACKING.htm: Document where the unofficial Innosetup translations came from. Tue Jul 28 18:57:15 GMT 2015 Olly Betts * doc/HACKING.htm: wx2.8-i18n -> wx3.0-i18n. Tue Jul 28 18:56:46 GMT 2015 Olly Betts * NEWS: Update. Tue Jul 28 18:35:03 GMT 2015 Olly Betts * src/datain.c: Add FIXME for actually looking at clino readings in diving data. Tue Jul 28 18:23:07 GMT 2015 Olly Betts * doc/aven.sgml: Document the command line options. Reported by Jenny Black. Tue Jul 28 18:17:51 GMT 2015 Olly Betts * doc/manual.sgml: Point to '*case' and '*truncate' from the 'SEE ALSO' sections of each other. Tue Jul 28 18:17:16 GMT 2015 Olly Betts * doc/manual.sgml: Fix broken markup introduced by recent changes. Tue Jul 28 15:55:23 GMT 2015 Olly Betts * NEWS: Update. Tue Jul 28 15:54:05 GMT 2015 Olly Betts * doc/manual.sgml: Next release will be 1.2.21 not 1.2.22. Tue Jul 28 15:52:31 GMT 2015 Olly Betts * doc/manual.sgml,src/commands.c,tests/: Allow the units for the zero error to be specified, making it easier to specify calibration with a scale if you measure the zero error externally (rather than using the instrument itself). Fixes #61, reported by Andrew Atkinson. Tue Jul 28 12:15:20 GMT 2015 Olly Betts * src/datain.c,src/date.c,src/date.h: Calculate the Julian date to use for the declination properly. Tue Jul 28 11:44:05 GMT 2015 Olly Betts * lib/survex.pot,src/,tests/: Warn if we see an undated compass reading when 'declination auto' is active. Cache the computed declination as that saves 5-6% of the run time when processing CUCC's big dataset. Tue Jul 28 11:43:27 GMT 2015 Olly Betts * lib/ru.po: Add missing ellipses to translated message. Tue Jul 28 10:33:37 GMT 2015 Olly Betts * NEWS: Update. Tue Jul 28 09:22:44 GMT 2015 Olly Betts * src/export.cc: Set LC_NUMERIC to the C locale while exporting so that "." is used for the decimal separator in KML and other textual formats. Reported by Jan Schorn. Mon Jul 27 22:13:54 GMT 2015 Olly Betts * src/commands.c: Fix comment typo. Mon Jul 27 22:13:33 GMT 2015 Olly Betts * lib/zh_CN.po: Add missing ellipses to translated message. Mon Jul 27 22:13:16 GMT 2015 Olly Betts * doc/manual.sgml: Fix doc typo. Mon Jul 27 22:11:09 GMT 2015 Olly Betts * doc/TODO.htm,doc/manual.sgml,lib/survex.pot,src/cavern.h, src/commands.c,src/datain.c: Add new *declination command with support for setting the declination automatically based on the survey date. Mon Jul 27 20:48:21 GMT 2015 Olly Betts * lib/,src/commands.c,tests/csbad.out,tests/csbad.svx: Report error from PROJ when coordinate conversion fails as part of the actual error rather than on a separate line. Mon Jul 27 20:07:30 GMT 2015 Olly Betts * src/thgeomag.c,src/thgeomag.h: Make thgeomag() return declination in radians, since that's what we want and it's more consistent with it taking lat and lon in radians. Mon Jul 27 20:04:38 GMT 2015 Olly Betts * src/cavern.h: Document what days1 and days2 members of meta_data struct are. Mon Jul 27 15:15:53 GMT 2015 Olly Betts * src/: Clean up support for repeat readings (currently disabled) to only expect them for survey readings. Mon Jul 27 13:25:28 GMT 2015 Olly Betts * doc/manual.sgml: Add example of using "*CALIBRATE DECLINATION". Mon Jul 27 13:24:52 GMT 2015 Olly Betts * doc/manual.sgml: Consistently say "magnetic declination" instead of "magnetic deviation". Mon Jul 27 13:05:58 GMT 2015 Olly Betts * src/Makefile.am: Add thgeomag code to the build system. Mon Jul 27 13:04:54 GMT 2015 Olly Betts * src/thgeomag.c,src/thgeomag.cxx: Tweak thgeomag.cxx to be valid C code. Mon Jul 27 12:54:19 GMT 2015 Olly Betts * src/thgeomag.cxx: Fix "set but not used" warning. Mon Jul 27 12:42:47 GMT 2015 Olly Betts * src/: Add IGRF handling code from therion 5.3.16. Mon Jul 27 08:08:11 GMT 2015 Olly Betts * src/commands.c,tests/: Extend check for *fix before *cs to catch *fix with standard deviations too. Sun Jul 26 11:36:36 GMT 2015 Olly Betts * src/printing.cc: Remove the "Coordinate projection" field from the print dialog, as it isn't relevant there. Sun Jul 26 11:21:33 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Fix initial scale for small caves (since 1.2.18 the initial scale has been too small). Don't rescale if the same file is reloaded, but adjust the volume diameter as appropriate. Wed Jul 15 09:10:50 GMT 2015 Olly Betts * doc/HACKING.htm: Update list of debian packages to install to build from git. Wed Jul 15 08:16:44 GMT 2015 Olly Betts * NEWS,configure.ac,doc/manual.sgml: Update for 1.2.21. Wed Jul 15 08:15:20 GMT 2015 Olly Betts * doc/manual.sgml: Document that 1.2.21 is needed for *fix using latitude and longitude, or with standard deviations. Tue Jul 14 17:53:21 GMT 2015 Olly Betts * NEWS: Update. Tue Jul 14 17:46:38 GMT 2015 Olly Betts * src/commands.c,tests/: Fix *fix with standard deviations when *cs is in use. Wed Jul 08 09:42:14 GMT 2015 Olly Betts * src/commands.c,tests/: Fix coordinate systems using latitude and longitude - PROJ.4 wants these in radians, but we were passing degrees, which would generally cause the conversion to the output coordinate system to fail. Reported by Wookey. Wed Jul 01 10:15:49 GMT 2015 Olly Betts * doc/manual.sgml: Strip references to obsolete versions of MS Windows. Tue Jun 30 12:22:55 GMT 2015 Olly Betts * src/kml.cc: Put all the elements into a , rather than having each in a separate . Tue Jun 30 09:32:17 GMT 2015 Olly Betts * src/: Whitespace cleanup. Mon Jun 29 12:27:49 GMT 2015 Olly Betts * doc/cad3d.sgml,doc/manual.sgml: Remove references to SpeleoGen, which hasn't been updated for many years, and which can't read current the recent versions of the .3d format. Mon Jun 29 03:14:52 GMT 2015 Olly Betts * NEWS: Update. Sun Jun 28 13:35:47 GMT 2015 Olly Betts * NEWS: Update. Sun Jun 28 11:43:11 GMT 2015 Olly Betts * src/message.c: Ignore any "@" modifier in the language code. Sun Jun 28 11:40:06 GMT 2015 Olly Betts * src/message.c: Remove compatibility handling for specifying a country variant of a language in SURVEXLANG using "-" with a lower case country code (e.g. "en-us") - we changed to the standard "en_US" way back in 2001. Sun Jun 28 09:28:56 GMT 2015 Olly Betts * src/kml.cc: Use the "paddle" placemarkers rather than push pins. Sun Jun 28 07:25:12 GMT 2015 Olly Betts * src/kml.cc,src/kml.h,src/printing.cc: Implement exporting of survey legs in KML format. Sun Jun 28 07:20:09 GMT 2015 Olly Betts * src/kml.h: Whitespace tweak. Sun Jun 28 07:18:42 GMT 2015 Olly Betts * src/kml.cc: Put coloured "pin" icons into KML files, like we do for GPX files. Sat Jun 27 12:46:03 GMT 2015 Olly Betts * src/cavernlog.cc: Use wxSystem() rather than conditionally calling system() or _wsystem() depending on the platform. Sat Jun 27 12:45:22 GMT 2015 Olly Betts * src/mainfrm.cc: Use wxAtof() to get double from wxString. Sat Jun 27 12:44:04 GMT 2015 Olly Betts * src/cavernlog.cc,src/mainfrm.cc: Use wxFopen() rather than conditionally calling fopen() or _wfopen() depending on the platform. Sat Jun 27 12:42:57 GMT 2015 Olly Betts * src/gfxcore.cc: Create wxFileInputStream directly, avoiding intermediate file descriptor. Sat Jun 27 12:41:32 GMT 2015 Olly Betts * src/cavernlog.cc: Use wxGetenv() to read the SURVEXEDITOR variable, so we can accept Unicode values on Windows. Sat Jun 27 06:51:29 GMT 2015 Olly Betts * src/netskel.c: Fix use after free after *solve. This only occurs if a leg between the two exact same stations appears right before and right after the *solve, which is unlikely in real data, but the testsuite has an instance of this. This was introduced by the repeat leg averaging added in 1.2.17. Sat Jun 27 06:49:38 GMT 2015 Olly Betts * src/netartic.c: Fix small memory leak when solving network. This doesn't really matter when solving at the end of processing as cavern will exit after that, but if *solve is used we continue processing after solving. Sat Jun 27 04:36:39 GMT 2015 Olly Betts * src/message.c: Fix comment typo. Fri Jun 26 00:42:07 GMT 2015 Olly Betts * NEWS: More updates for 1.2.20. Fri Jun 26 00:05:51 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h,src/mainfrm.cc: Add support for reading DEM data which isn't in a .zip file. Thu Jun 25 21:58:38 GMT 2015 Olly Betts * src/gfxcore.cc: Force a refresh after loading terrain data so that it gets displayed right away. Thu Jun 25 05:16:10 GMT 2015 Olly Betts * lib/icons/Makefile.am: Fix install directories for filetype icons. Wed Jun 24 12:51:10 GMT 2015 Olly Betts * lib/icons/Makefile.am: Fix for VPATH build and to create directories to install icons to if necessary. Wed Jun 24 12:45:52 GMT 2015 Olly Betts * NEWS,configure.ac,doc/manual.sgml: Update for 1.2.20. Wed Jun 24 12:45:06 GMT 2015 Olly Betts * lib/unlaunchpad-po: Fix regex to clean up transifex source refs. Wed Jun 24 12:24:31 GMT 2015 Olly Betts * src/gfxcore.cc: Add a FIXME about problem reading zip files with wxZipInputStream on __WXMSW__. Wed Jun 24 12:23:44 GMT 2015 Olly Betts * src/gfxcore.cc: When reading .hgt files, flag a read error if we can't read any data. Wed Jun 24 12:22:53 GMT 2015 Olly Betts * src/gfxcore.cc: If we reading terrain data fails, don't continue and try to display it. Wed Jun 24 12:21:44 GMT 2015 Olly Betts * src/gfxcore.cc: Avoid unnecessary call to OpenEntry() if we're already on the zip entry we want to read. Mon Jun 22 05:00:49 GMT 2015 Olly Betts * src/gfxcore.cc: Lowercase filenames of .zip entries before checking extensions. Mon Jun 22 04:36:26 GMT 2015 Olly Betts * src/commands.c: Define MASK_PASSAGE after MASK_NOSURVEY to match order of mask[] array. Mon Jun 22 04:35:57 GMT 2015 Olly Betts * doc/manual.sgml: Document that clino is now allowed in diving data. Mon Jun 22 02:14:08 GMT 2015 Olly Betts * src/commands.c,src/datain.c,tests/bug4.svx,tests/diving.pos, tests/diving.svx: Allow clino readings in diving style data, suggested by Andrew Atkinson. Currently these readings are ignored, but a future version will check that they're consistent with the angle given by the depth gauge and tape, and perform suitable averaging. Mon Jun 22 00:40:39 GMT 2015 Olly Betts * buildmacosx.sh: Hardlink the .msg files in the .dmg rather than shipping two copies of each. Fri Jun 19 12:20:00 GMT 2015 Olly Betts * NEWS: Update. Fri Jun 19 11:46:10 GMT 2015 Olly Betts * src/printing.cc: Fix to use top margin rather than right margin when calculating the page height. Fri Jun 19 11:44:50 GMT 2015 Olly Betts * src/avenprcore.cc,src/avenprcore.h,src/printing.cc: Factor out the height of the footer we put on each printout page into a constant. Fri Jun 19 10:59:21 GMT 2015 Olly Betts * src/avenprcore.cc: Cleaner code to calculate printable area. Fri Jun 19 10:54:13 GMT 2015 Olly Betts * src/avenprcore.cc: Note why we seem to have to create a temporary wxPrinterDC or wxPostScriptDC in a comment. Fri Jun 19 08:27:08 GMT 2015 Olly Betts * src/avenprcore.cc: Add back in header required in mingw build. Fri Jun 19 08:22:57 GMT 2015 Olly Betts * buildmacosx.sh: Remove useless extra copy of about box images from OS X disk image. Fri Jun 19 08:22:20 GMT 2015 Olly Betts * Makefile.am,lib/images/,src/aboutdlg.cc,survex.iss.in: Optimise the size of the about dialog images. Fri Jun 19 05:12:59 GMT 2015 Olly Betts * buildmacosx.sh,lib/icons/Makefile.am,survex.spec.in: Install the filetype and app icons under /usr/share/icons/hicolor, which is where they're expected to be these days. Fri Jun 19 04:39:04 GMT 2015 Olly Betts * lib/survex-aven.desktop: Add %f to Exec. Fri Jun 19 03:46:48 GMT 2015 Olly Betts * .gitignore,configure.ac,desc-svxedit.txt,doc/,lib/,src/Makefile.am, src/svxedit.rc: Remove lingering traces of svxedit. Fri Jun 19 01:01:08 GMT 2015 Olly Betts * src/aboutdlg.cc: Avoid assertion if the about dialog image fails to load. Reported by Phil Maynard. Thu Jun 18 12:04:31 GMT 2015 Olly Betts * configure.ac: Fix to allow compiling without libav. Thu Jun 18 12:02:46 GMT 2015 Olly Betts * src/avenprcore.cc,src/avenprcore.h: Clean up unused header includes. Thu Jun 18 11:04:29 GMT 2015 Olly Betts * buildmacosx.sh: Disable a load of libav features we don't use. Thu Jun 18 11:01:37 GMT 2015 Olly Betts * doc/HACKING.htm: Fix typo. Thu Jun 18 11:00:33 GMT 2015 Olly Betts * doc/HACKING.htm: Update recipe for building libav for mingw to disable a load of features we don't use, reducing the size of aven significantly. Thu Jun 18 10:58:58 GMT 2015 Olly Betts * doc/HACKING.htm,lib/,survex.iss.in: Update innosetup translations - minor updates for zh_CN and an unofficial translation for en_GB from the issrc repo (which is identical to mine in content). Thu Jun 18 05:04:04 GMT 2015 Olly Betts * NEWS: Bump release date for 1.2.19. Thu Jun 18 00:07:46 GMT 2015 Olly Betts * configure.ac: pkg-config support in proj seems quite new, so probe directly if not found. Wed Jun 17 11:02:40 GMT 2015 Olly Betts * lib/: Update line number references. Wed Jun 17 10:59:38 GMT 2015 Olly Betts * lib/pl.po: Keep the "illegal option" message as a fuzzy translation of the "invalid option" message. Wed Jun 17 10:57:42 GMT 2015 Olly Betts * lib/,src/getopt.c: #if 0 out the support for -W longopt (which we don't use) and the posixly_correct "illegal option" message ("invalid option" is clearer). Wed Jun 17 10:18:12 GMT 2015 Olly Betts * src/getopt.c,src/gettexttomsg.pl: Take preprocessor directives into account to avoid converting gettext() uses which won't be used. Wed Jun 17 02:06:12 GMT 2015 Olly Betts * lib/INSTALL.OSX: Update. Wed Jun 17 02:02:46 GMT 2015 Olly Betts * lib/hu.po: Translate a couple more messages. Wed Jun 17 01:18:20 GMT 2015 Olly Betts * NEWS: Update. Wed Jun 17 01:12:12 GMT 2015 Olly Betts * lib/,src/mainfrm.cc,src/printing.cc: Use "..." rather than Unicode ellipses in menu items and button labels, as that's conventional (but keep using Unicode ellipses in other messages). Tue Jun 16 22:29:49 GMT 2015 Olly Betts * src/guicontrol.cc,src/mainfrm.cc: If the measuring line isn't currently active, exit full screen mode if "Escape" is pressed. Tue Jun 16 22:28:52 GMT 2015 Olly Betts * make_release: Update for change to use pkg-config to find libav and proj. Tue Jun 16 07:31:35 GMT 2015 Olly Betts * src/mainfrm.cc: Fix OS X shortcut for full screen mode to be Ctrl+Command+F as that's the standard one, not Shift+Command+F which we have been using since 1.2.7. Tue Jun 16 07:28:50 GMT 2015 Olly Betts * buildmacosx.sh,configure.ac,src/Makefile.am,src/moviemaker.cc, src/moviemaker.h: Use pkg-config to probe for libav and proj. This sorts out the correct flags for building on OS X against a static install of libav. Mon Jun 15 01:54:03 GMT 2015 Olly Betts * doc/manual.sgml: Update version in manual. Mon Jun 15 01:31:01 GMT 2015 Olly Betts * NEWS,configure.ac: Update for 1.2.19. Mon Jun 15 01:26:18 GMT 2015 Olly Betts * doc/survex.ent: Remove SGML entities which are no longer used. Mon Jun 15 01:25:56 GMT 2015 Olly Betts * doc/3dtopos.sgml,doc/diffpos.sgml: Add notes that aven can now export .pos files. Mon Jun 15 01:16:11 GMT 2015 Olly Betts * lib/INSTALL.OSX: Update status and list the command line tools. Mon Jun 15 01:07:17 GMT 2015 Olly Betts * buildmacosx.sh: Just use "tar xf" - GNU tar automatically detects any decompressor needed in the versions we'll encounter on OS X. Mon Jun 15 01:06:16 GMT 2015 Olly Betts * buildmacosx.sh,lib/INSTALL.OSX: Build OS X version with libav to enable aven's movie export feature. Mon Jun 15 01:04:22 GMT 2015 Olly Betts * buildmacosx.sh: Move compression used for disk image into variable dmg_format. Mon Jun 15 01:03:23 GMT 2015 Olly Betts * buildmacosx.sh: Improve documentation of wx --enable-unicode. Sun Jun 14 13:17:15 GMT 2015 Olly Betts * src/: Mark all single-argument constructors as 'explicit'. Sun Jun 14 12:59:37 GMT 2015 Olly Betts * lib/: Update source references and fill in translations for new message. Sun Jun 14 12:50:07 GMT 2015 Olly Betts * lib/survex.pot,src/printing.cc: "pos files" reads better than "POS files". Sun Jun 14 12:34:05 GMT 2015 Olly Betts * NEWS: Update. Sun Jun 14 12:31:32 GMT 2015 Olly Betts * src/gfxcore.cc: When reading terrain data from a .zip file, report an error if the .zip file is bad, or if it doesn't contain any terrain data we recognise. Sun Jun 14 12:30:36 GMT 2015 Olly Betts * buildmacosx.sh: Enable wxDisplay to better support multi-monitor setups. Sun Jun 14 12:11:11 GMT 2015 Olly Betts * buildmacosx.sh: No need for --enable-unicode with wx3. Sun Jun 14 11:33:46 GMT 2015 Olly Betts * src/: Use the correct separator for sorting stations when exporting a .pos file. Sun Jun 14 11:09:49 GMT 2015 Olly Betts * lib/survex.pot,src/: Add exporting to Survex POS format to aven. Sat Jun 13 13:48:09 GMT 2015 Olly Betts * NEWS: Update. Sat Jun 13 13:29:01 GMT 2015 Olly Betts * src/printing.cc: Remove code to workaround wxMac opening the preview window at minimum size, as this no longer happens with wxWidgets 3.0.2. We currently disable this preview window anyway, as OS X has its own print preview, which is slicker than the generic wxWidgets one. Sat Jun 13 13:20:54 GMT 2015 Olly Betts * src/mainfrm.cc: We need to call Layout() when we come out of FullScreen mode under OS X so the sizer adjusts to show the toolbar. Sat Jun 13 13:17:47 GMT 2015 Olly Betts * src/: Fix exporting to GPX, KML and HPGL, which all failed to write the header to the exported file in 1.2.18. Sat Jun 13 11:00:29 GMT 2015 Olly Betts * src/mainfrm.cc,src/mainfrm.h: Now we're using a non-native toolbar for OS X, GetToolBar() returns NULL, and we need to do a bit of extra work to get the toolbar. Sat Jun 13 10:18:07 GMT 2015 Olly Betts * lib/de_CH.po: Add missing "fuzzy" marker. Sat Jun 13 07:54:07 GMT 2015 Olly Betts * src/mainfrm.cc: On OS X, drop out of full screen mode if the mouse is mode to the top of the screen, since we can't seem to display the menu bar in this case. Sat Jun 13 07:27:27 GMT 2015 Olly Betts * src/aven.cc: Remove crude bodge which tries to pick a suitable initial window size when using wxWidgets without wxDisplay on a multi-monitor setup. It was based on the setup I had at the time, and might not work well in every situation, and now we persist the window size between runs, picking a nice initial size isn't so important. Sat Jun 13 07:24:07 GMT 2015 Olly Betts * src/aven.cc: If the saved size for aven's window exceeds the current display size (mostly likely because we're now plugged into a smaller monitor), then reduce the size of the window to fit the display. If the saved size is < (480x320), increase it to at least that, as aven isn't usable in a smaller window. Fri Jun 12 11:28:46 GMT 2015 Olly Betts * lib/,src/mainfrm.cc: Add another TRANSLATORS comment. Fri Jun 12 10:43:27 GMT 2015 Olly Betts * src/aven.cc: Remove unused '#include '. Fri Jun 12 10:34:37 GMT 2015 Olly Betts * configure.ac,lib/,src/message.c,src/msvc/config.h.in: Stop trying to catch and report signals. The only real reason to do it is so we can say "Bug in program detected! Please report this to the authors" before we exit, but when the program crashes that's pretty obvious. In aven we try to pop up a message box for this message, which may fail due to whatever caused the signal, while with the command line tools there's no great benefit over just letting the shell report the signal. Fri Jun 12 10:30:11 GMT 2015 Olly Betts * lib/: Translation updates. Fri Jun 12 06:13:04 GMT 2015 Olly Betts * src/Makefile.am: Use $(COMMONSRC) in aven_SOURCES. Thu Jun 11 02:22:11 GMT 2015 Olly Betts * lib/: Assorted translation updates. Thu Jun 11 02:06:25 GMT 2015 Olly Betts * lib/,src/cmdline.c: Fix typo in TRANSLATORS comment (--verbose -> --version). Thu Jun 11 01:39:34 GMT 2015 Olly Betts * src/mainfrm.cc: Stop trying to scale toolbar icons by the content scale factor on OS X, as this doesn't seem to achieve what we want, requires an as-yet unreleased version of wx, and forcing a non-native toolbar works with current releases. Thu Jun 11 00:55:50 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/mainfrm.cc: Force use of a non-native toolbar on OS X to stop the toolbar icons from getting rescaled and looking fuzzy. Wed Jun 10 11:23:03 GMT 2015 Olly Betts * src/guicontrol.cc: On OS X, when we centre the view on the station this can generate a mouse move event, so clear the variable which says we are dragging before we process a left click on a station. This avoids random rotations of the survey when clicking on a station, reported in #47 by Hugh St. Lawrence. Wed Jun 10 11:22:02 GMT 2015 Olly Betts * lib/Info.plist.in: Add missing CFBundleTypeRole to silence warning on stderr. Wed Jun 10 06:18:08 GMT 2015 Olly Betts * lib/id.po: Merge updates from launchpad. Wed Jun 10 06:17:22 GMT 2015 Olly Betts * lib/en_US.po: Remove extra blank line. Tue Jun 09 02:16:44 GMT 2015 Olly Betts * lib/id.po: Merge translation updates from launchpad. Tue Jun 09 01:18:18 GMT 2015 Olly Betts * lib/: Update .pot and merge changes to .po files. Tue Jun 09 01:09:43 GMT 2015 Olly Betts * lib/extract-msgs.pl: Recognise %.0f as a C printf format string. Tue Jun 09 01:06:04 GMT 2015 Olly Betts * lib/generate-po-todo: Add code to update the todo files on the website. Tue Jun 09 01:04:43 GMT 2015 Olly Betts * src/printing.cc: Redo the code which rescales the footer so that the right end aligns exactly, like it does in the non-rescaling case. Tue Jun 09 00:48:52 GMT 2015 Olly Betts * lib/survex.pot,src/printing.cc: Shorten the datestamp by dropping any day name and timezone, and add "Processed: " before it so it is clear what it is the date and time of. Tue Jun 09 00:05:54 GMT 2015 Olly Betts * lib/survex.pot,src/printing.cc: Mark printouts of extended elevations in the footer appropriately. Mon Jun 08 13:13:20 GMT 2015 Olly Betts * lib/survex.pot,src/printing.cc: Also include the scale in the footer of printouts. Mon Jun 08 13:00:55 GMT 2015 Olly Betts * lib/survex.pot,src/printing.cc: Add view details to footer of printouts. (ticket #52) Mon Jun 08 12:00:47 GMT 2015 Olly Betts * src/: Rename printwx.cc to printing.cc, etc - we only have wx-based printing now. Sun Jun 07 14:40:23 GMT 2015 Olly Betts * lib/survex.pot,src/printwx.cc: Simplify the page footer on printouts. If the footer is too long to fit the page width, reduce the font size so it exactly fits; otherwise space out the elements evenly to fill the width. Sun Jun 07 06:38:14 GMT 2015 Olly Betts * src/gfxcore.cc: Tweak error message in terrain reading code to distinguish two failure cases. Thu Jun 04 05:37:23 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/mainfrm.cc: Only try to scale the OS X toolbar icons for wx >= 3.1.0, as current releases don't have the required API methods. Also, correct "GetClientScaleFactor" to "GetContentScaleFactor". Thu Jun 04 01:19:31 GMT 2015 Olly Betts * make_release: Tag releases with message "Survex $VERSION". Thu Jun 04 01:19:16 GMT 2015 Olly Betts * buildmacosx.sh: Fix comment typo. Wed Jun 03 08:23:27 GMT 2015 Olly Betts * survex.iss.in: No more .ini files to install. Wed Jun 03 07:34:16 GMT 2015 Olly Betts * src/mainfrm.cc: Fix WXMSW build. Wed Jun 03 07:28:37 GMT 2015 Olly Betts * doc/Makefile.am: Fix manual version check to work in a VPATH build. Wed Jun 03 07:10:50 GMT 2015 Olly Betts * NEWS,configure.ac: Update for 1.2.18. Wed Jun 03 07:09:54 GMT 2015 Olly Betts * lib/: Update survex.pot and merge pos. Wed May 20 13:52:06 GMT 2015 Olly Betts * src/: Fix to compile without warnings with 'g++ --std=gnu++11'. Tue Apr 14 06:58:16 GMT 2015 Olly Betts * NEWS: Update. Tue Apr 14 00:27:12 GMT 2015 Olly Betts * src/mainfrm.cc: Moan if there's no coordinate system before allowing the user to pick a terrain file. Mon Apr 13 11:37:57 GMT 2015 Olly Betts * src/export.cc: Adjust 'creator' in EPS output. Mon Apr 13 11:20:04 GMT 2015 Olly Betts * src/export.cc,src/printwx.cc: Add passage export for EPS format. (see #4) Mon Apr 13 03:06:48 GMT 2015 Olly Betts * src/commands.c,tests/cmd_fix_bad.out,tests/cmd_fix_bad.svx: Reject *fix with SDs which aren't all positive. (fixes#2, reported by susscorfa). Mon Apr 13 02:34:03 GMT 2015 Olly Betts * tests/cmd_entrance_bad.svx: Fix not to accidentally specify sd of 0. Sun Apr 12 13:00:37 GMT 2015 Olly Betts * src/avenprcore.cc,src/avenprcore.h,src/printwx.cc: Working towards supporting "skip blank pages". Sun Apr 12 10:22:13 GMT 2015 Olly Betts * src/printwx.cc: Eliminate Init() and Pre() methods of svxPrintout class. Sun Apr 12 10:08:42 GMT 2015 Olly Betts * src/printwx.cc: Comment clean-ups. Sun Apr 12 10:02:31 GMT 2015 Olly Betts * src/printwx.cc: Eliminate unused return value of svxPrintout::Pre(). Sun Apr 12 10:01:08 GMT 2015 Olly Betts * src/avenprcore.cc,src/avenprcore.h,src/printwx.cc: Eliminate footer member of layout. Sun Apr 12 09:50:24 GMT 2015 Olly Betts * src/printwx.cc: Eliminate 4 file global variables. Sun Apr 12 09:49:58 GMT 2015 Olly Betts * src/printwx.cc: Make a couple of arrays const. Sun Apr 12 09:38:49 GMT 2015 Olly Betts * src/avenprcore.h,src/printwx.cc: Make clip rectangle part of the svxPrintout class. Sun Apr 12 09:32:54 GMT 2015 Olly Betts * src/avenprcore.h: Remove unused header. Sun Apr 12 09:04:09 GMT 2015 Olly Betts * src/avenprcore.h: Remove dead code. Sun Apr 12 08:54:16 GMT 2015 Olly Betts * make_release: Add comment documenting the purpose of this script. Sun Apr 12 08:51:16 GMT 2015 Olly Betts * tests/back.out,tests/back2.out,tests/lengthunits.out: Add missing testcase output files. Sun Apr 12 08:37:31 GMT 2015 Olly Betts * src/dump3d.c: Remove some commented out code from development. Sun Apr 12 08:24:54 GMT 2015 Olly Betts * lib/: Remove unused message 166. Sun Apr 12 08:23:24 GMT 2015 Olly Betts * src/avenprcore.cc: Clean up the currently unused code for skipping blank pages, by removing parts we definitely don't want. Sun Apr 12 08:08:28 GMT 2015 Olly Betts * src/avenprcore.h,src/printwx.cc: Simplify setting of pen colours while printing. Sun Apr 12 07:57:22 GMT 2015 Olly Betts * src/avenprcore.h,src/printwx.cc: Simplify setting of text colour. Sun Apr 12 07:56:48 GMT 2015 Olly Betts * src/avenprcore.h: Remove unused constants. Sun Apr 12 07:22:34 GMT 2015 Olly Betts * src/avenprcore.h,src/printwx.cc: Simplify font handling when printing. Sun Apr 12 07:04:38 GMT 2015 Olly Betts * src/printwx.cc: Use DC::GetCharHeight() to get the height of the font, rather than calling DC::GetTextExtent("My"). Sat Apr 11 23:30:42 GMT 2015 Olly Betts * src/printwx.cc: Destroy any existing clipping region before we write the page footer. Hopefully solves #52, reported by Erin Lynch. Sat Apr 11 00:50:03 GMT 2015 Olly Betts * NEWS: Update. Fri Apr 10 20:31:56 GMT 2015 Olly Betts * lib/en_US.po: Say "control point" more consistently. Fri Apr 10 10:34:57 GMT 2015 Olly Betts * src/: Pressing F6 toggles the display of rendering stats, currently FPS (Frames Per Second) and the number of triangles in the terrain mesh. Tue Apr 07 21:52:29 GMT 2015 Olly Betts * lib/en_US.po: Remove fuzzy markers from a couple of messages. Tue Apr 07 06:03:01 GMT 2015 Olly Betts * src/gfxcore.cc: Fix printf format/type mismatch. Tue Apr 07 06:02:24 GMT 2015 Olly Betts * src/gfxcore.cc: Report an error if the survey data has no coordinate system and you try to load terrain. Mon Apr 06 15:33:11 GMT 2015 Olly Betts * lib/en_US.po: Tweak accelerators to match recent tweaks to the master strings. Mon Apr 06 15:30:55 GMT 2015 Olly Betts * lib/en_US.po: Add translation of new message. Mon Apr 06 15:22:02 GMT 2015 Olly Betts * lib/po-to-msg.pl: Fix off-by-one in count of untranslated messages. Mon Apr 06 15:21:34 GMT 2015 Olly Betts * lib/po-to-msg.pl: Report if there are fuzzy strings for a language. Mon Apr 06 15:17:54 GMT 2015 Olly Betts * lib/,src/mainfrm.cc: Update pot and merge pos. Mon Apr 06 14:03:44 GMT 2015 Olly Betts * lib/survex.pot,src/: Add UI for loading terrain files. Mon Apr 06 11:28:57 GMT 2015 Olly Betts * src/gfxcore.h: Remove method which is never defined. Sun Apr 05 10:58:34 GMT 2015 Olly Betts * doc/TODO.htm,doc/manual.sgml: Update for addition of terrain support. Sun Apr 05 09:50:09 GMT 2015 Olly Betts * src/gla-gl.cc: Tweak code for drawing crosses to be more like the code for drawing blobs. Sun Apr 05 09:49:39 GMT 2015 Olly Betts * src/gfxcore.cc: Fix reversed check for endian-ness of .bil files. Sun Apr 05 09:48:39 GMT 2015 Olly Betts * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Plot the terrain with a Z-prepass so that we don't see the terrain through itself. Sun Apr 05 09:46:31 GMT 2015 Olly Betts * src/gfxcore.cc: Increase volume diameter so that terrain doesn't get clipped. Sun Apr 05 06:36:56 GMT 2015 Olly Betts * src/gfxcore.cc: Show busy cursor while building the terrain model. Sun Apr 05 04:36:51 GMT 2015 Olly Betts * lib/checkshortcut.pl: Strip off accelerator before looking at shortcuts, and don't offer ellipses as a potential shortcut. Sun Apr 05 04:25:32 GMT 2015 Olly Betts * lib/checkshortcut.pl: Treat a missing shortcut as an error too. Sun Apr 05 04:24:07 GMT 2015 Olly Betts * lib/checkshortcut.pl: If there's a shortcut clash, report letters used in strings in the menu which aren't used for shortcuts, and separately any ASCII letters which aren't used in the menu strings at all. Sun Apr 05 04:22:39 GMT 2015 Olly Betts * lib/deadmessages.txt,lib/merge-po: Fix extra "" on msgid when adding to deadmessages.txt. Sun Apr 05 03:59:42 GMT 2015 Olly Betts * lib/: Merge messages and resolve clashing menu accelarators. Sun Apr 05 03:40:13 GMT 2015 Olly Betts * lib/survex.pot,src/mainfrm.cc: Fix clashing menu accelarators. Sun Apr 05 03:34:52 GMT 2015 Olly Betts * lib/survex.pot,src/: Create a "Colour by" submenu of the "View" menu. Sun Apr 05 03:04:00 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Add support for reading DEM data from SRTM .hgt files. Sun Apr 05 02:22:03 GMT 2015 Olly Betts * src/gfxcore.cc: Remove header which is no longer used. Sun Apr 05 01:25:59 GMT 2015 Olly Betts * src/: Remove actions from 'Orientation' menu which you wouldn't sanely want to perform from the menu. Sat Apr 04 23:24:13 GMT 2015 Olly Betts * src/: Remove actions from 'Rotation' menu which you wouldn't sanely want to perform from the menu. Sat Apr 04 23:06:26 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Factor out DEM loading into a separate method. Sat Apr 04 22:30:03 GMT 2015 Olly Betts * src/gfxcore.cc: Draw terrain before crosses/blobs. Sat Apr 04 22:01:29 GMT 2015 Olly Betts * src/gfxcore.cc: Support 'SKIPBYTES' in the DEM data. Sat Apr 04 21:58:59 GMT 2015 Olly Betts * src/gfxcore.cc: Remove unused macros. Sat Apr 04 13:04:04 GMT 2015 Olly Betts * src/gfxcore.cc: Fix DEM reading for big-endian platforms. Sat Apr 04 03:17:32 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Render terrain as a transparent mesh of triangles. Fri Apr 03 04:26:34 GMT 2015 Olly Betts * src/gfxcore.cc: Test with the void-filled 3-arc second SRTM data. Thu Apr 02 11:17:01 GMT 2015 Olly Betts * NEWS: Update. Thu Apr 02 11:13:24 GMT 2015 Olly Betts * lib/ru.po: Fix accelerator clash. Thu Apr 02 10:43:37 GMT 2015 Olly Betts * lib/id.po,lib/ru.po: Merge translation updates. Wed Apr 01 11:53:26 GMT 2015 Olly Betts * src/gfxcore.cc: Make stats read from DEM file static. Wed Apr 01 07:33:18 GMT 2015 Olly Betts * src/gfxcore.cc: Process all of the DEM data. Tue Mar 31 11:46:25 GMT 2015 Olly Betts * src/gfxcore.cc: Read terrain data directly from the zip file. Tue Mar 31 11:37:21 GMT 2015 Olly Betts * src/gfxcore.cc: Make terrain white with 30% alpha rather than light grey and opaque. Mon Mar 23 04:41:11 GMT 2015 Olly Betts * buildmacosx.sh: Remove packaging of svxedit for OS X. Mon Mar 23 02:30:39 GMT 2015 Olly Betts * survex.spec.in: Drop svxedit from RPM spec file. Mon Mar 23 02:27:52 GMT 2015 Olly Betts * .gitignore,Makefile.am,configure.ac,lib/INSTALL.OSX, lib/icons/Makefile.am,src/,survex.iss.in: Remove editwrap - while an editor with built-in knowledge of survex would be nice to have, svxedit doesn't really offer that, and it looks ugly in a modern desktop. Mon Mar 23 00:55:24 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/mainfrm.cc: Attempt to address the size of the toolbar icons on Mac OS X. Sun Mar 22 10:10:21 GMT 2015 Olly Betts * doc/manual.sgml: not ?> to terminate. Sun Mar 22 04:39:39 GMT 2015 Olly Betts * doc/manual.sgml: Fix bugs in the markup. Sun Mar 22 04:07:53 GMT 2015 Olly Betts * .gitignore,configure.ac,doc/: Eliminate most of the SGML entities we define. Sat Mar 21 20:51:54 GMT 2015 Olly Betts * NEWS: Update. Sat Mar 21 02:43:48 GMT 2015 Olly Betts * doc/diffpos.sgml,doc/extend.sgml: Remove   which actually make the output formatting worse (presumably these used to work around a bug in one of the docbook processing tools. Sat Mar 21 02:26:59 GMT 2015 Olly Betts * doc/: Eliminate uses of Null End Tag, as a step towards making the docs valid XML rather than just SGML. Thu Mar 19 11:57:14 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h,src/mainfrm.h: Terrain data work in progress. Thu Mar 19 10:32:48 GMT 2015 Olly Betts * lib/icons/Makefile.am,lib/icons/solid-surface.png, lib/icons/solid_surface.xpm,lib/survex.pot,src/: Add UI for toggling terrain on and off. Wed Mar 18 04:11:49 GMT 2015 Olly Betts * lib/bg.po,lib/el.po: A few updates. Wed Mar 18 03:22:09 GMT 2015 Olly Betts * doc/manual.sgml: Add a link to the sample data from the manual too. Wed Mar 18 03:12:09 GMT 2015 Olly Betts * doc/manual.sgml: Remove references to contact addresses which are no longer there. Remove offer to post people floppies, and references to a fictional CD image. Sun Mar 15 03:38:32 GMT 2015 Olly Betts * lib/: Merge po changes. Sun Mar 15 03:35:48 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Take the width of the messages used above the compass and clino into account when calculating how wide they are. Sun Mar 15 03:35:07 GMT 2015 Olly Betts * src/gla-gl.cc,src/gla.h: Make GLACanvas::GetTextExtent() const. Sun Mar 15 03:34:26 GMT 2015 Olly Betts * src/commands.c,src/gfxcore.cc: Add and enhance some TRANSLATORS comments. Sun Mar 15 03:33:13 GMT 2015 Olly Betts * lib/survex.pot: Add TRANSLATORS comments for a couple of messages which aren't yet used. Sun Mar 15 02:47:30 GMT 2015 Olly Betts * lib/id.po: Merge translation updates. Fri Mar 13 21:28:07 GMT 2015 Olly Betts * NEWS: Update. Fri Mar 13 11:27:54 GMT 2015 Olly Betts * src/findentrances.cc: If the 3d file specifies the coordinate system, use it. Fri Mar 13 03:49:45 GMT 2015 Olly Betts * lib/hu.po: Merged adjusted versions of some suggestions, marked as "fuzzy". Thu Mar 12 22:30:14 GMT 2015 Olly Betts * lib/: Update source references. Thu Mar 12 22:27:13 GMT 2015 Olly Betts * lib/survex.pot: Add message ready for future use. Thu Mar 12 01:51:31 GMT 2015 Olly Betts * lib/ru.po: Juggle menu shortcuts. Thu Mar 12 01:42:09 GMT 2015 Olly Betts * lib/de.po,lib/de_CH.po: Adapt some translations. Thu Mar 12 01:12:51 GMT 2015 Olly Betts * lib/fr.po: Adapt a couple of translations. Wed Mar 11 06:12:09 GMT 2015 Olly Betts * lib/ro.po,lib/sk.po: Fix some shortcut clashes. Wed Mar 11 05:00:26 GMT 2015 Olly Betts * lib/,src/: Add "Colour by Gradient". Wed Mar 11 04:55:38 GMT 2015 Olly Betts * lib/fr.po: Juggle menu shortcuts. Wed Mar 11 04:54:57 GMT 2015 Olly Betts * lib/fr.po: Add translation. Wed Mar 11 04:38:52 GMT 2015 Olly Betts * lib/fr.po: Fix typo. Wed Mar 11 04:30:17 GMT 2015 Olly Betts * src/gfxcore.cc: Minor refactor. Wed Mar 11 04:27:04 GMT 2015 Olly Betts * src/gfxcore.cc: Refactor code to dispatch drawing of the colour key. Wed Mar 11 03:59:57 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Factor out function to pick the colour pen based on a value between 0 and 1. Wed Mar 11 03:15:46 GMT 2015 Olly Betts * src/gfxcore.h: Invalidate the length key when "Metric" is toggled. Wed Mar 11 03:14:30 GMT 2015 Olly Betts * src/gfxcore.cc: Context menu on length key now allows toggling "Metric", like it does on the depth key. Wed Mar 11 03:12:54 GMT 2015 Olly Betts * src/gfxcore.cc: Put units below length key (like we do for depth key) and only show one decimal place on the lengths. Wed Mar 11 03:11:11 GMT 2015 Olly Betts * lib/de.po,lib/de_CH.po,lib/fr.po: Attempt to update some translations. Tue Mar 10 12:30:42 GMT 2015 Olly Betts * NEWS: Update. Tue Mar 10 00:54:10 GMT 2015 Olly Betts * lib/: Update source references and TRANSLATORS comments. Tue Mar 10 00:50:44 GMT 2015 Olly Betts * src/: Add more TRANSLATORS comments. Tue Mar 10 00:49:03 GMT 2015 Olly Betts * lib/pt.po,lib/pt_BR.po: Add missing "fuzzy" marker to two translations. Tue Mar 10 00:46:55 GMT 2015 Olly Betts * lib/id.po,lib/ru.po: Merge translation updates. Tue Mar 10 00:45:15 GMT 2015 Olly Betts * lib/launchpad-merge-po: Sync merging at blank lines between messages. Tue Mar 10 00:05:29 GMT 2015 Olly Betts * lib/: Update po files for new message. Sun Mar 08 13:20:00 GMT 2015 Olly Betts * NEWS: Update. Sun Mar 08 13:12:10 GMT 2015 Olly Betts * doc/manual.sgml: Document averaging of a group of repeated readings. Sun Mar 08 10:09:04 GMT 2015 Olly Betts * src/gfxcore.cc: Remove unnecessary clamping when colouring by date or error, due to cut-and-pasting code from the colour by depth case. Sun Mar 08 09:35:59 GMT 2015 Olly Betts * lib/survex.pot,src/: Add "Colour by Length". Sun Mar 08 09:30:16 GMT 2015 Olly Betts * src/datain.c: Fix amended message in source from the output units commit. Sun Mar 08 04:22:29 GMT 2015 Olly Betts * doc/TODO.htm: "Save cavern log from aven" now implemented. Sun Mar 08 02:22:33 GMT 2015 Olly Betts * src/commands.c: Slightly simplify handling of the units scaling factor. Sun Mar 08 02:21:09 GMT 2015 Olly Betts * src/cavern.h: Reorder the Q_ enum values so that those used in bitmasks tests are together and first. Sun Mar 08 02:20:30 GMT 2015 Olly Betts * src/datain.c: Add FIXME about warnings when the backclino has range 0-180 degrees. Sun Mar 08 02:16:39 GMT 2015 Olly Betts * doc/TODO.htm,lib/,src/,tests/: In cavern, use the currently set units when outputting measurements in warnings, errors, and the stats at the end of the run. Sun Mar 08 02:10:03 GMT 2015 Olly Betts * src/message.c: Document the CP-1250 and CP-1252 mappings are complete, and which positions are unused in these character sets. Sun Mar 08 02:07:39 GMT 2015 Olly Betts * src/message.c: Add commented out mappings for the CP-1252 characters we don't currently make use of. Sun Mar 08 02:06:29 GMT 2015 Olly Betts * src/message.c: Add CP-1252 mappings for fancy quotes. Sun Mar 08 02:03:43 GMT 2015 Olly Betts * src/message.c: Improve debug message for a missing transliteration to report the codepoint in question, and note why 169 isn't handled here. Sun Mar 08 00:55:56 GMT 2015 Olly Betts * src/message.c: Transliterate gradient and infinity symbols if the current character set lacks them. Sat Mar 07 10:36:43 GMT 2015 Olly Betts * src/message.c: Don't dynamically generate a message string for a message requested before messages are read or for an out of range message number - instead return a fixed string and write the message number to STDERR. Sat Mar 07 10:03:37 GMT 2015 Olly Betts * src/avenprcore.cc,src/message.c,src/message.h: msg() has returned a persistent copy of the message for decades, so the code's bound to rely on that in some places. And there's no real reason it shouldn't continue to as the messages are under 20KB of UTF-8 text for any language, so lazy loading isn't worth the complication. So remove msgPerm() and the unused msgFree() macro, and document that msg() returns a persistent copy. Sat Mar 07 00:01:50 GMT 2015 Olly Betts * src/commands.c: Make data tables const where possible. Fri Mar 06 22:06:41 GMT 2015 Olly Betts * lib/: More minor translation updates. Fri Mar 06 21:48:58 GMT 2015 Olly Betts * lib/bg.po: Minor update. Fri Mar 06 12:39:29 GMT 2015 Olly Betts * lib/INSTALL.OSX,lib/icons/Makefile.am,lib/icons/plt.svg: Add SVG version of .plt icon. Fri Mar 06 12:38:48 GMT 2015 Olly Betts * src/datain.c: Improve wording of FIXME comment. Fri Mar 06 11:48:08 GMT 2015 Olly Betts * NEWS: Update. Fri Mar 06 10:30:26 GMT 2015 Olly Betts * .gitignore: Update. Fri Mar 06 10:15:16 GMT 2015 Olly Betts * .gitignore,Makefile.am,debian/survex.install,doc/,lib/,src/: Aven's support for reading colours and font sizes for printouts from print.ini has never worked - the contents of the ini files are ignored due to a bug which has been there since the code was added in 2005 - but nobody has ever complained. So just strip out that code entirely - we should support setting the colours and font sizes, but a GUI interface for setting them would be better. Fri Mar 06 07:00:35 GMT 2015 Olly Betts * src/avenprcore.h: Remove prototypes for functions we no longer declare. Fri Mar 06 05:08:28 GMT 2015 Olly Betts * src/datain.c: Warn if fore and back measurements differ by more than 3 SDs, rather than just by 2 SDs. Fri Mar 06 05:01:24 GMT 2015 Olly Betts * lib/: More translation updates. Fri Mar 06 04:33:21 GMT 2015 Olly Betts * lib/: Update and merge translations. Fri Mar 06 04:30:33 GMT 2015 Olly Betts * src/cavernlog.cc: Fix TRANSLATORS comment in source to match .pot file. Fri Mar 06 04:00:54 GMT 2015 Olly Betts * src/cavernlog.cc: Avoid hardcoding numeric value of LOG_REPROCESS. Fri Mar 06 03:56:13 GMT 2015 Olly Betts * lib/survex.pot,src/cavernlog.cc,src/cavernlog.h: Add "Save Log" button to Aven's cavern log window. Fri Mar 06 03:24:54 GMT 2015 Olly Betts * lib/icons/Makefile.am,lib/icons/log.xpm,lib/survex.pot,src/: Add a menu item and toolbar button to show the cavern log window if the currently shown survey data was processed by aven. Reported by Hugh St Lawrence in #47, and by Dave Clucas and others previously on the list. Fri Mar 06 01:24:57 GMT 2015 Olly Betts * doc/manual.sgml: Add complete list of quantities you can set SDs for. Thanks for Wookey for highlighting that the previous list was incomplete. Fri Mar 06 01:24:13 GMT 2015 Olly Betts * lib/id.po,lib/pl.po: More translation updates. Fri Mar 06 00:49:09 GMT 2015 Olly Betts * src/cavernlog.cc: Require ':' after error/warning marker. Fri Mar 06 00:42:43 GMT 2015 Olly Betts * lib/el.po: Fix language code in file to be 'el'. Fri Mar 06 00:42:21 GMT 2015 Olly Betts * lib/po-to-msg.pl: Add check that language code in file matches the filename. Thu Mar 05 23:53:33 GMT 2015 Olly Betts * lib/: Add translations for "error" based on existing translations. Thu Mar 05 23:42:33 GMT 2015 Olly Betts * .gitignore,doc/manual.sgml,lib/Makefile.am,src/message.c: There's no need to duplicate de.msg to de_DE.msg, as the code will fall-back to de from de_DE anyway. Thu Mar 05 04:32:13 GMT 2015 Olly Betts * src/gfxcore.h: Fix (C) year typo. Thu Mar 05 04:30:56 GMT 2015 Olly Betts * src/aboutdlg.cc,src/aboutdlg.h: Make the button to dismiss the "About" dialog "OK" rather than "Close", which seems more logical, and also allows the dialog to be closed by pressing "Escape". Thu Mar 05 03:21:45 GMT 2015 Olly Betts * src/avenprcore.h,src/printwx.cc,src/printwx.h: Don't round bearing and tilt angles to integers when printing and exporting. Thu Mar 05 02:19:25 GMT 2015 Olly Betts * lib/survex.pot: Update line number references, and reorder messages a bit so some which are lower priority to translate are later in the file. * lib/: Merge .pot changes. Thu Mar 05 01:05:24 GMT 2015 Olly Betts * lib/extract-msgs.pl: Whitespace tweak. Thu Mar 05 01:04:44 GMT 2015 Olly Betts * lib/extract-msgs.pl: Preserve any header from the existing .pot file. Thu Mar 05 00:51:17 GMT 2015 Olly Betts * lib/survex.pot,src/img_hosted.c: Include the filename when we run out of memory while reading a file with img, which avoids the %.0s hack and is more helpful for users. Wed Mar 04 12:30:39 GMT 2015 Olly Betts * src/cavernlog.cc: Highlight "error" marker in red and "warning" marker in orange. Wed Mar 04 09:47:56 GMT 2015 Olly Betts * src/datain.c,src/readval.c,tests/badinc.out,tests/badinc2.out, tests/badinc3.out: Include column number when a *include file isn't found. Wed Mar 04 09:22:14 GMT 2015 Olly Betts * src/datain.c: Fix compile_error() and friends not to segfault if passed a negative message number when no file is open. Wed Mar 04 08:16:44 GMT 2015 Olly Betts * src/json.cc,src/json.h: Add new files for JSON export. Tue Mar 03 12:14:22 GMT 2015 Olly Betts * lib/survex.pot,src/message.c,tests/: Show 'error' in front of error messages, like we show 'warning' in front of warnings. Fixes #48, reported by Wookey. Tue Mar 03 11:05:17 GMT 2015 Olly Betts * lib/survex.pot: Add new message "JSON files". Tue Mar 03 10:03:21 GMT 2015 Olly Betts * src/cavernlog.cc: Rework code to read cavern's output. In particular, we no longer mix buffered I/O with select() on the file descriptor. Mon Mar 02 11:45:41 GMT 2015 Olly Betts * src/gfxcore.cc,src/guicontrol.cc,src/mainfrm.cc: More tweaks to compile with a unicode build of wx2.8. Mon Mar 02 09:24:59 GMT 2015 Olly Betts * src/labelinfo.h: Fix to compile with a unicode build of wxwidgets 2.8. Mon Mar 02 07:43:47 GMT 2015 Olly Betts * lib/hu.po: Change '...' to ellipses. Mon Mar 02 07:43:31 GMT 2015 Olly Betts * lib/hu.po: Add missing quotes. Mon Mar 02 07:42:38 GMT 2015 Olly Betts * lib/hu.po: Use curly double quotes. Mon Mar 02 07:40:07 GMT 2015 Olly Betts * lib/hu.po: Remove erroneous quotes from message. Mon Mar 02 07:32:48 GMT 2015 Olly Betts * lib/id.po: Add missing '#~'. Mon Mar 02 07:32:22 GMT 2015 Olly Betts * lib/id.po: Resolve clashing menu shortcuts. Mon Mar 02 07:13:01 GMT 2015 Olly Betts * src/: Add JSON export. Mon Mar 02 07:11:53 GMT 2015 Olly Betts * doc/TODO.htm: Update. Mon Mar 02 06:02:58 GMT 2015 Olly Betts * lib/ru.po: Resolve clashing menu shortcuts. Mon Mar 02 05:58:42 GMT 2015 Olly Betts * lib/ru.po: Merge more translation updates from "vsuhachev". Mon Mar 02 05:57:25 GMT 2015 Olly Betts * lib/id.po: Merged translation updates from "Cave ID" - all messages are now translated into Indonesian! Sat Feb 28 12:38:09 GMT 2015 Olly Betts * src/export.cc: Eliminate more static variables. Sat Feb 28 12:05:54 GMT 2015 Olly Betts * src/export.cc: Eliminate static double factor. Sat Feb 28 11:26:52 GMT 2015 Olly Betts * src/export.cc: Eliminate use of static for text_height. Sat Feb 28 11:06:25 GMT 2015 Olly Betts * src/export.cc,src/exportfilter.h: Pass bounding box as parameters to header() method rather than storing them as static data. Wed Feb 25 06:34:53 GMT 2015 Olly Betts * lib/icons/Makefile.am,lib/icons/xpm2png,src/mainfrm.cc: Fix display of icons for toolbar and notebook under WXMSW. Tue Feb 24 22:10:00 GMT 2015 Olly Betts * src/mainfrm.cc: Work around GetIcon() not working under OS X. Tue Feb 24 20:24:47 GMT 2015 Olly Betts * buildmacosx.sh: Note that UDCO is larger still. Tue Feb 24 20:24:16 GMT 2015 Olly Betts * buildmacosx.sh: Move the instructions about specifying the architecture to the top of the file with the other instructions. Tue Feb 24 20:23:19 GMT 2015 Olly Betts * Makefile.am: Fail building the MS Windows installer if the 'doc' subdirectory somehow fails to exist. Tue Feb 24 20:22:13 GMT 2015 Olly Betts * Makefile.am: Copy PNG and JPG images from their new location. Remove the code to strip out PNG images with .ico versions, as those are now in a separate directory to the images that are PNG format cross-platform. Tue Feb 24 19:26:48 GMT 2015 Olly Betts * src/Makefile.am: Fix include path to .ico files. Tue Feb 24 19:04:01 GMT 2015 Olly Betts * NEWS,configure.ac: Update for 1.2.17. Tue Feb 24 04:44:41 GMT 2015 Olly Betts * NEWS: Update. Tue Feb 24 04:35:58 GMT 2015 Olly Betts * lib/ru.po: Copy a couple of messages which only differ in the accelerator character. Tue Feb 24 04:30:14 GMT 2015 Olly Betts * lib/hu.po: Another Hungarian message translated. Tue Feb 24 04:28:00 GMT 2015 Olly Betts * lib/ru.po: Merge in many updates to the Russian translation from "vsuhachev". Sat Feb 21 04:52:26 GMT 2015 Olly Betts * tests/cmd_set.pos,tests/cmd_set.svx,tests/Makefile.am: Check that '*set names .' works when '.' is also the decimal point. Sat Feb 21 04:48:45 GMT 2015 Olly Betts * lib/: A few translation updates. Mon Feb 16 00:46:53 GMT 2015 Olly Betts * lib/: Merge changes from sources to .pot and .po files. Mon Feb 16 00:46:01 GMT 2015 Olly Betts * lib/extract-msgs.pl: Report file:line for issues we spot. Mon Feb 16 00:13:55 GMT 2015 Olly Betts * lib/survex.pot,src/: Add more TRANSLATOR comments. Mon Feb 16 00:12:32 GMT 2015 Olly Betts * tests/badcalibrate.out,tests/badcalibrate.svx: Add test coverage for "Can't calibrate angular and length quantities together". Sun Feb 15 23:47:35 GMT 2015 Olly Betts * lib/po-to-msg.pl: Report file and line number for warnings. Sun Feb 15 23:46:12 GMT 2015 Olly Betts * doc/manual.sgml,lib/Makefile.am,lib/hu.po,src/message.c, survex.iss.in: Add start of Hungarian translation from Imre Balogh. Sun Feb 01 04:53:22 GMT 2015 Olly Betts * lib/INSTALL.OSX,lib/icons/Makefile.am,lib/icons/err.svg: Add SVG version of .err file icon. Sun Feb 01 04:49:06 GMT 2015 Olly Betts * lib/INSTALL.OSX,lib/icons/Makefile.am,lib/icons/pos.svg: Add SVG version of .pos file icon. Sat Jan 31 14:39:32 GMT 2015 Olly Betts * src/aboutdlg.cc,src/aboutdlg.h: Put the wxIcon into the wxStaticBitmap directly, rather than converting it to a wxBitmap. Sat Jan 31 13:09:07 GMT 2015 Olly Betts * lib/icons/Makefile.am,lib/icons/svx.svg: Add SVG version of .svx file icon. Sat Jan 31 13:03:12 GMT 2015 Olly Betts * lib/icons/Makefile.am: Ship 3d.svg. Sat Jan 31 12:25:06 GMT 2015 Olly Betts * lib/icons/svg2iconsetzip: Fix hard-coded icon name. Sat Jan 31 10:45:17 GMT 2015 Olly Betts * buildmacosx.sh,configure.ac,debian/survex-aven.install, debian/survex.install,lib/Makefile.am,lib/icons/,lib/images/, src/aboutdlg.cc,src/aboutdlg.h,src/gla-gl.cc,survex.iss.in: Split out the images which aren't icons into an "images" directory. Sat Jan 31 09:28:38 GMT 2015 Olly Betts * lib/icons/Makefile.am: solid-surface.png isn't currently used, so don't install it. Sat Jan 31 09:19:48 GMT 2015 Olly Betts * Makefile.am,lib/icons/Makefile.am,lib/icons/aven.png, lib/icons/aven.xpm,src/: Compile in the "aven" icon on all platforms, not just MSW, and use this icon for the about dialog instead of loading it from disk. Sat Jan 31 03:44:48 GMT 2015 Olly Betts * lib/survex-aven.desktop,lib/survex-svxedit.desktop: Add "MimeType" field to desktop files. Sat Jan 31 03:43:03 GMT 2015 Olly Betts * lib/icons/3d.svg,lib/icons/Makefile.am: Add SVG version of 3d file icon, and use it to generate icon for OS X. Fri Jan 30 21:59:07 GMT 2015 Olly Betts * NEWS: Update. Fri Jan 30 21:58:05 GMT 2015 Olly Betts * buildmacosx.sh: Allow specifying arch to build for on the command line, and update comments documenting usage. Fri Jan 30 21:50:48 GMT 2015 Olly Betts * buildmacosx.sh: Make the directory we build wx in 'BUILD', as the source tree already has a 'build' subdirectory. Use 'BUILD' for proj too for consistency. Fri Jan 30 11:07:46 GMT 2015 Olly Betts * NEWS: Update. Fri Jan 30 10:28:38 GMT 2015 Olly Betts * lib/icons/png2winicon: Clean up - use set -e, create temporary files in current directory, and quote filenames. Fri Jan 30 10:12:14 GMT 2015 Olly Betts * .gitignore,lib/icons/,src/aven.rc,src/mainfrm.cc: Rather than loading all the toolbar and notebook icons from PNG files on disk, compile them into the aven binary. On most platforms, as XPMs; on MSW as .ico files via a generated .rc file. Wed Jan 28 13:46:50 GMT 2015 Olly Betts * configure.ac: Note in comment that libav is an alternative to ffmpeg. Wed Jan 28 09:45:29 GMT 2015 Olly Betts * lib/svxedit_Info.plist.in: Update to run svxedit_wrap. Wed Jan 28 09:45:01 GMT 2015 Olly Betts * buildmacosx.sh: Remove empty share/doc directory from OS X disk image. Wed Jan 28 09:44:21 GMT 2015 Olly Betts * .gitignore,configure.ac: Actually generate lib/svxedit_Info.plist. Wed Jan 28 07:17:56 GMT 2015 Olly Betts * lib/INSTALL.OSX: Update. Wed Jan 28 07:09:38 GMT 2015 Olly Betts * lib/Makefile.am: Fix typo from 0f5d06e9. Wed Jan 28 07:05:49 GMT 2015 Olly Betts * configure.ac: Fix typo from c1a94492. Wed Jan 28 07:00:59 GMT 2015 Olly Betts * buildmacosx.sh: Remove unused files and copies of files. Wed Jan 28 07:00:41 GMT 2015 Olly Betts * lib/Makefile.am: Don't install preload_font.h. Wed Jan 28 06:59:22 GMT 2015 Olly Betts * .gitignore,buildmacosx.sh,configure.ac,src/Makefile.am, src/editwrap_osx.c: Add compiled C wrapper for svxedit on OS X as OS X won't run the Tcl script for some reason. Wed Jan 28 04:19:52 GMT 2015 Olly Betts * lib/icons/: Rename helper scripts to match the names used in Makefile.am. Wed Jan 28 04:05:13 GMT 2015 Olly Betts * buildmacosx.sh,lib/INSTALL.OSX,lib/svxedit_Info.plist.in: Create app bundle for svxedit. Wed Jan 28 03:26:00 GMT 2015 Olly Betts * lib/INSTALL.OSX,lib/Info.plist.in: Add icons for other filetypes, and run actions to load "plt" and "pos" into aven. Wed Jan 28 03:22:41 GMT 2015 Olly Betts * lib/icons/Makefile.am: Whitespace fix. Wed Jan 28 03:22:08 GMT 2015 Olly Betts * buildmacosx.sh,lib/icons/Makefile.am: Generate OS X .icns files for all the filetypes and svxedit. Wed Jan 28 03:13:36 GMT 2015 Olly Betts * lib/icons/Makefile.am,lib/icons/png2iconset,lib/icons/svg2iconset: Factor out conversion from png and svg to iconset.zip into helper scripts. Wed Jan 28 00:36:24 GMT 2015 Olly Betts * NEWS: Update. Tue Jan 27 23:23:26 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/aven.cc,src/aven.h: Add handlers so that files can be loaded and printed from the finder on OS X. Tue Jan 27 23:05:48 GMT 2015 Olly Betts * src/dump3d.c: Report SEPARATOR used by the file being read. Tue Jan 27 12:26:08 GMT 2015 Olly Betts * lib/INSTALL.OSX: Add svxedit issue. Tue Jan 27 12:20:14 GMT 2015 Olly Betts * buildmacosx.sh,lib/INSTALL.OSX,lib/Info.plist.in,lib/icons/Makefile.am: Add icon and file associations for .svx files, and add missing and tags so the .3d association works better. Tue Jan 27 09:57:41 GMT 2015 Olly Betts * lib/icons/Makefile.am: Remove .iconset.zip files on maintainer-clean. Mon Jan 26 13:35:46 GMT 2015 Olly Betts * lib/icons/Makefile.am: Convert SVG to PNG with inkscape, as "convert" loses transparency information. Mon Jan 26 13:08:21 GMT 2015 Olly Betts * lib/icons/aven.svg: Fix visual glitch in SVG icon for aven. Noted by David A. Riggs. Mon Jan 26 13:05:59 GMT 2015 Olly Betts * buildmacosx.sh: Use bzip2 to compress the disk image, which gives a smaller download. This means OS X 10.4 is required, but we probably already need 10.5 because that's the minimum version which the wxWidgets build supports by default. Mon Jan 26 13:03:54 GMT 2015 Olly Betts * buildmacosx.sh: Fix location of Aven.icns inside Aven.app. * buildmacosx.sh,lib/Info.plist.in,lib/icons/Makefile.am: Attempt to add filetype info for 3d files. Mon Jan 26 10:50:00 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/mainfrm.cc: On OS X, hide the status bar and tool bar in full screen mode, as wx doesn't currently do this for us. Mon Jan 26 08:44:17 GMT 2015 Olly Betts * buildmacosx.sh: Use mkdir -p. Mon Jan 26 08:33:14 GMT 2015 Olly Betts * src/mainfrm.cc: Reduce flicker when mouse is moved to the top of the screen in full screen mode and the menu bar reappears. Mon Jan 26 08:31:17 GMT 2015 Olly Betts * buildmacosx.sh,lib/INSTALL.OSX,lib/icons/Makefile.am: Add a custom icon for the Mac OS X application bundle. Mon Jan 26 04:55:39 GMT 2015 Olly Betts * src/export.cc,src/export.h,src/printwx.cc: For export formats where scaling is supporting, aven now actually uses the scale specified in the export dialog (previously it ignored this and used 1:500). Sat Jan 24 22:32:31 GMT 2015 Olly Betts * buildmacosx.sh: Disable use of liblzma when building wxWidgets for OS X, as this prevents the build from working on OS X 10.6.8. Sat Jan 24 13:01:22 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Factor out MAX_FRAMERATE. Sat Jan 24 11:28:58 GMT 2015 Olly Betts * src/gfxcore.cc: Fix presentation playback to work after the animation changes. Sat Jan 24 07:32:29 GMT 2015 Olly Betts * src/: Merge OnStepOnceAnticlockwiseUpdate() and OnStepOnceClockwiseUpdate(). Sat Jan 24 06:50:19 GMT 2015 Olly Betts * src/guicontrol.cc: Disable stepping the rotation angle if animating, not just if rotating. Sat Jan 24 06:22:04 GMT 2015 Olly Betts * src/gfxcore.cc,src/gfxcore.h: Reimplement animation so that it's based on angular change per unit of elapsed time, rather than averaging the time take for the last two scene redraws. This gives a more even animation in the face of variable load and scene redraw time, and should be more consistent between platforms. * src/gfxcore.cc: Switch to a point of the compass during auto-rotation now jumps straight there rather than the two animations fighting. * src/gfxcore.cc: Reduce the maximum auto-rotation speed, as the previous limit was uselessly fast. Sat Jan 24 04:49:33 GMT 2015 Olly Betts * src/gfxcore.cc: Wrap the rotation angle to the range [0,360) properly, rather than only if it's off by at most 360 either way. Fri Jan 23 10:54:40 GMT 2015 Olly Betts * buildmacosx.sh: Download wx from SF via redirecting link. Thanks to David A. Riggs. Fri Jan 23 05:21:13 GMT 2015 Olly Betts * src/gfxcore.cc: Fix comment typo. Wed Jan 21 11:25:12 GMT 2015 Olly Betts * buildmacosx.sh: The pathname of the mount point for the disk image may a space. Wed Jan 21 10:48:00 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/gfxcore.cc: On OS X, make custom cursors black with a white outline to match the standard OS X cursor. Wed Jan 21 10:18:50 GMT 2015 Olly Betts * lib/INSTALL.OSX: Update status. Wed Jan 21 10:15:02 GMT 2015 Olly Betts * buildmacosx.sh: Build a static version of PROJ and use it. Get wx tarball from a sourceforge mirror as the wx ftp site has a permissions problem. Build wx with --disable-webview to avoid a compilation failure. Use wx-config --cc and --cxx to get the compilers to use for building everything else, as wx adds options to them which otherwise cause linking errors. Wed Jan 21 09:41:10 GMT 2015 Olly Betts * src/aboutdlg.cc: Fix "Close" button in about dialog under OS X. Wed Jan 21 04:16:12 GMT 2015 Olly Betts * configure.ac,debian/copyright,doc/manual.sgml: Update copyright years. Wed Jan 21 04:13:45 GMT 2015 Olly Betts * NEWS: Update. Tue Jan 20 20:36:02 GMT 2015 Olly Betts * lib/INSTALL.OSX: Update for current status. Tue Jan 20 20:33:52 GMT 2015 Olly Betts * lib/INSTALL.OSX,src/mainfrm.cc: Make "About" menu item appear on OS X. Tue Jan 20 20:29:27 GMT 2015 Olly Betts * src/mainfrm.cc: Fix short-cut for Full Screen mode on OS X. Tue Jan 20 20:26:10 GMT 2015 Olly Betts * src/datain.c,src/netbits.c,src/netbits.h,tests/: If the same leg is repeated consecutively, average the readings and treat as a single leg. Sun Nov 23 18:49:52 GMT 2014 Olly Betts * src/message.c: Avoid needless dropping of const qualifier via strchr(). Sat Nov 15 10:43:36 GMT 2014 Olly Betts * buildmacosx.sh: Default to building for x86_64, since modern Macs are all 64 bit. Tue Nov 11 08:50:18 GMT 2014 Olly Betts * doc/manual.sgml: Remove $Id and $Date markers, as they don't get expanded now we're using git. Tue Nov 11 08:36:09 GMT 2014 Olly Betts * tests/: Move the annotations for each test case out of cavern.tst and into a comment in the first line of the .svx file which is the input for the test. Tue Nov 11 04:07:04 GMT 2014 Olly Betts * tests/.gitignore: Ignore files produced by automake test machinery. Tue Nov 11 04:05:16 GMT 2014 Olly Betts * tests/back2.pos,tests/back2.svx,tests/cavern.tst: Extend test of fore and back sights to test calibration of the back compass. Fri Oct 17 00:55:04 GMT 2014 Olly Betts * NEWS: Bump release date. Fri Oct 17 00:53:25 GMT 2014 Olly Betts * src/gettexttomsg.pl: Fix typo in generated code to suppress compiler warnings, added since last release. Fri Oct 17 00:38:21 GMT 2014 Olly Betts * src/Makefile.am: Ship kml.h. Fri Oct 17 00:25:53 GMT 2014 Olly Betts * buildmacosx.sh: Update comment to note that wx3 is Unicode only. Fri Oct 17 00:25:35 GMT 2014 Olly Betts * buildmacosx.sh: Update to use wxWidgets 3.0.2. Thu Oct 16 23:59:43 GMT 2014 Olly Betts * lib/en_US.po: Translate new message. Thu Oct 16 23:57:46 GMT 2014 Olly Betts * lib/: Merge changes from survex.pot to *.po. Thu Oct 16 23:56:51 GMT 2014 Olly Betts * lib/survex.pot: Update source file references. Thu Oct 16 23:48:31 GMT 2014 Olly Betts * src/labelinfo.h,src/mainfrm.cc: Factor out code to show station name or "anonymous station". Thu Oct 16 23:47:50 GMT 2014 Olly Betts * lib/survex.pot: Fix TRANSLATORS comment punctuation to match source code. Thu Oct 16 23:47:08 GMT 2014 Olly Betts * src/extend.c,src/mainfrm.cc,src/sorterr.c: Fix message references which I failed to update. Thu Oct 16 11:15:24 GMT 2014 Olly Betts * src/commands.c: Tweak code so one side of comparison is a constant. Thu Oct 16 11:02:17 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.16. Thu Oct 16 10:03:48 GMT 2014 Olly Betts * lib/survex.pot,src/: Make measuring line work from anonymous stations properly. (Fixes #44) Wed Oct 15 10:21:42 GMT 2014 Olly Betts * src/mainfrm.h: Drop unnecessary forward declaration of class LabelPlotCmp. Fri Sep 19 11:05:26 GMT 2014 Olly Betts * src/aboutdlg.cc,src/mainfrm.cc,src/printwx.cc: Calling Fit() on a sizer is redundant where we also call SetSizeHints() on it. Sat Sep 13 20:59:34 GMT 2014 Olly Betts * lib/ca.po,lib/es.po: Apply translation updates from Adolfo Jayme via launchpad. Tue Sep 09 16:26:07 GMT 2014 Olly Betts * NEWS: Update. Tue Sep 09 16:13:00 GMT 2014 Olly Betts * src/datain.c: Tiny code simplification. Sun Sep 07 14:16:40 GMT 2014 Olly Betts * survex.iss.in: More 'ru' to the list of official innosetup translations. Sat Sep 06 12:43:29 GMT 2014 Olly Betts * survex.iss.in: Include Greek and Polish translations for the installer. Sun Aug 31 03:22:15 GMT 2014 Olly Betts * doc/manual.sgml: Update list of codes for supported translations in the manual. Sun Aug 31 02:12:50 GMT 2014 Olly Betts * src/message.c: Add handling for automatically selecting Greek and Polish translations on Microsoft Windows. Tue Aug 26 22:27:03 GMT 2014 Olly Betts * lib/Makefile.am,lib/el.po,lib/pl.po: Add the start of translations to Greek and Polish. Sun Aug 24 12:49:31 GMT 2014 Olly Betts * NEWS: Update from ChangeLog. Sun Aug 24 06:13:10 GMT 2014 Olly Betts * tests/: Add expected outputs for tests of nosurvey data style. Sun Aug 24 06:06:54 GMT 2014 Olly Betts * tests/: Add expected outputs for tests of cartesian data style. Sat Aug 24 05:52:06 GMT 2014 Olly Betts * lib/ru.po: More updates. Thu Aug 21 02:22:41 GMT 2014 Olly Betts * lib/ru.po: More updates. Thu Aug 21 01:49:09 GMT 2014 Olly Betts * lib/,src/cavern.c,tests/: Eliminate the "Done." message which cavern outputs near the end - it doesn't really serve a useful purpose. Thu Aug 21 01:28:43 GMT 2014 Olly Betts * lib/merge-po: Add dropped messages with translations to deadmessages.txt. Thu Aug 21 01:08:50 GMT 2014 Olly Betts * lib/: More translation updates. Wed Aug 20 07:31:40 GMT 2014 Olly Betts * lib/: More translation updates. Wed Aug 20 05:28:20 GMT 2014 Olly Betts * lib/,src/datain.c,src/img_hosted.c,src/printwx.cc,tests/badinc.out, tests/badinc2.out,tests/badinc3.out: Merge two very similar messages. Wed Aug 20 01:50:07 GMT 2014 Olly Betts * lib/ru.po,lib/zh_CN.po: Fill in some translations from the wxWidgets po files. Wed Aug 20 01:49:06 GMT 2014 Olly Betts * lib/id.po: Adapt an existing translation in obvious way. Wed Aug 20 00:02:59 GMT 2014 Olly Betts * lib/: Merge changes from template. Tue Aug 19 23:51:15 GMT 2014 Olly Betts * lib/survex.pot: Update source references. Tue Aug 19 12:21:49 GMT 2014 Olly Betts * lib/survex.pot,src/: Add KML export (stations only currently). Tue Aug 19 11:24:46 GMT 2014 Olly Betts * src/export.cc: Take a const ref to the wxString for the label name when exporting, to ensure the object is still valid when we call mb_str() on it. Tue Aug 19 08:26:11 GMT 2014 Olly Betts * src/commands.c: Fix compiler warnings caused by previous change. Sat Aug 17 01:36:50 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/cs.svx,tests/csbad.out: Add support for "*cs JTSK" and "*cs JTSK03". Thu Aug 14 23:39:27 GMT 2014 Olly Betts * src/guicontrol.cc: Fix to build against wxWidgets built with assertions disabled. Reported by Martin Sluka. Thu Aug 14 23:29:20 GMT 2014 Olly Betts * src/moviemaker.cc,src/moviemaker.h: Fix warnings from clang. Reported by Martin Sluka. Thu Aug 14 23:28:01 GMT 2014 Olly Betts * src/: Rename methods which hide virtual methods in the parent class. Reported by Martin Sluka. Thu Aug 14 23:27:08 GMT 2014 Olly Betts * src/gfxcore.cc: Remove constants which are no longer used. Reported by Martin Sluka. Thu Aug 14 22:30:41 GMT 2014 Olly Betts * src/getopt.h,src/gettexttomsg.pl: Fix warnings when compiling with clang. Reported by Martin Sluka. Thu Aug 14 22:29:25 GMT 2014 Olly Betts * src/log.cc,src/log.h: Fix log window under wxWidgets >= 2.9 to include the system information before the first log message like it does under wxWidgets 2.8. Thu Aug 14 11:48:09 GMT 2014 Olly Betts * doc/TODO.htm: Update for *cs being added. Thu Aug 14 11:03:58 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.15. Thu Aug 14 10:34:58 GMT 2014 Olly Betts * doc/HACKING.htm,make_release: Update for building with latest Debian packaged mingw cross compiler. Mon Aug 04 10:34:19 GMT 2014 Olly Betts * src/img.h: Improve documentation for img_ERROR_INFO. Sun Aug 03 09:54:39 GMT 2014 Olly Betts * survex.spec.in: Add run-time requirement on proj and proj-epsg for survex package and on tk for svxedit package. Fri Aug 01 19:42:00 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/: Add support for "*cs osgb:". Sun Jul 27 14:25:17 GMT 2014 Olly Betts * tests/cs.svx: Test that IJTSK and IJTSK03 are accepted as output coordinate systems. Sun Jul 27 12:17:47 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/: Add support for "*cs ijtsk" and "*cs ijtsk03". Sun Jul 27 10:11:13 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/cs.svx: Add support for "*cs eur79z30" and *cs with epsg and esri codes. Sun Jul 27 09:47:55 GMT 2014 Olly Betts * src/commands.c: Make sure all proj strings have "+no_defs". Sun Jul 27 09:46:53 GMT 2014 Olly Betts * src/commands.c: Fix incorrect codes in proj string for S-MERC (all are set to zero, so this change has no actual effect). Sun Jul 27 07:09:41 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/cs.svx: Add support for for "*cs s-merc". Sun Jul 27 06:27:50 GMT 2014 Olly Betts * doc/manual.sgml,src/commands.c,tests/cs.svx,tests/csbad.out: Add support for "*cs long-lat". Sat Jul 26 07:06:50 GMT 2014 Olly Betts * src/mainfrm.cc: Call EnableFullScreenView() if built with wx >= 3.1.0 - this improves the full screen mode experience on OS X 10.7 and later. Sat Jul 26 02:01:23 GMT 2014 Olly Betts * src/: When in full screen mode, moving the mouse to the top of the screen now makes the menu bar appear (and moving the mouse down again makes it disappear). This provides a non-shortcut way out of full screen mode, as well as making it easier to perform other operations while in full screen mode. Fri Jul 25 08:47:01 GMT 2014 Olly Betts * src/aven.cc: Don't persist full screen mode between runs - it's not a standard behaviour of desktop programs, and it's too easy to go into full screen mode from the menu and then not be able to get out again because you don't know the required key shortcut. Tue Jul 22 04:57:13 GMT 2014 Olly Betts * tests/Makefile.am: Ship some missing .out files and compare.tst. Tue Jul 22 04:52:44 GMT 2014 Olly Betts * tests/inferplumbs.svx: Remove unused file containing the start of a testcase for "*infer plumbs" - this isn't useful as we already test this in cmd_infer.svx. Tue Jul 22 04:50:23 GMT 2014 Olly Betts * tests/: cavern.tst testcase back2 is now actually used. Fix a bug in this testcase, and extend it to cover a variant of the situation reported as a bug in therion by Bill Gee to the therion list. Fri Jul 11 21:58:11 GMT 2014 Olly Betts * doc/manual.sgml: Note what coordinate systems *cs currently actually supports. Sun Jul 06 12:14:04 GMT 2014 Olly Betts * doc/manual.sgml: Add missing "custom" to "*cs out" example. Sat Jul 05 12:27:17 GMT 2014 Olly Betts * src/glbitmapfont.cc: Fix to build on mingw. Sat Jul 05 12:00:55 GMT 2014 Olly Betts * configure.ac,src/Makefile.am: Error out in configure is PROJ isn't found, and sort out how we pass -lproj to the linker properly. Sat Jul 05 11:21:39 GMT 2014 Olly Betts * src/commands.c: Fix '//' comment in C source. Sat Jul 05 11:20:34 GMT 2014 Olly Betts * make_release: Report correct line number for a // comment in a C source file. Sat Jul 05 02:11:07 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.14. Fri Jul 04 12:57:12 GMT 2014 Olly Betts * lib/: Merge changes from pot to po files. Fri Jul 04 12:52:58 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c,tests/csbad.out: If proj fails to handle a custom cs description, report pj_strerrno(). Fri Jul 04 12:41:40 GMT 2014 Olly Betts * lib/,src/commands.c: Fix typo in two recently added messages; drop message which is no longer used. Fri Jul 04 12:33:33 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c,tests/cavern.tst,tests/cs.svx, tests/csbad.out: Issue an error is a station has already been fixed when *cs is first used. Fri Jul 04 11:18:33 GMT 2014 Olly Betts * lib/: Update translations. Fri Jul 04 10:53:34 GMT 2014 Olly Betts * tests/cavern.tst: Use "cmp -s" in another case to quietly compare files. Fri Jul 04 10:47:44 GMT 2014 Olly Betts * tests/cavern.tst: Shows a diff of expected to actual output, not actual to expected, as the latter is confusing (at least to me). Fri Jul 04 10:37:27 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c,tests/cavern.tst, tests/omitfixaroundsolve.out,tests/omitfixaroundsolve.svx: In the case of more than one *fix without coordinates, still actually fix the second and subsequent ones, to avoid then triggering bogus errors about unconnected surveys. Thu Jul 03 12:57:00 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c,tests/cavern.tst, tests/omitfixaroundsolve.out,tests/omitfixaroundsolve.svx: If there's more than one *fix command with coordinates, the station name of the previous one, plus the file and line number where it was. Thu Jul 03 12:12:05 GMT 2014 Olly Betts * src/: Add compile_error() and compiler_warning() variants which take a filename and line number, or a prefix to get the filename and line number from. Thu Jul 03 06:39:45 GMT 2014 Olly Betts * lib/en_US.po: Update for new messages. Thu Jul 03 06:33:12 GMT 2014 Olly Betts * lib/: Merge changes for survex.pot. Thu Jul 03 06:31:49 GMT 2014 Olly Betts * lib/extract-msgs.pl: Handle TRANSLATORS comments spread over multiple '//' comments. Thu Jul 03 06:30:35 GMT 2014 Olly Betts * lib/survex.pot: Update from sources. Wed Jul 02 23:21:30 GMT 2014 Olly Betts * src/findentrances.cc: Add TRANSLATORS comment. Wed Jul 02 13:20:16 GMT 2014 Olly Betts * NEWS: Update. Wed Jul 02 13:14:17 GMT 2014 Olly Betts * lib/survex.pot,src/: If the 3d file specifies a coordinate system, then use it for exporting to formats which need to know (currently GPX). If the input file doesn't specify, allow the user to enter one in the export dialog. Wed Jul 02 12:03:19 GMT 2014 Olly Betts * src/netskel.c: If there's an output coordinate system set, write it to the 3d file. Wed Jul 02 09:32:39 GMT 2014 Olly Betts * src/dump3d.c: If there's a coordinate system specified, report it. Wed Jul 02 09:31:48 GMT 2014 Olly Betts * doc/3dformat.htm: Update format doc to mention coordinate system. Wed Jul 02 08:59:07 GMT 2014 Olly Betts * src/img.c,src/img.h: Add ability to store a proj string describing the coordinate system in use in 3d v8 files. Tue Jul 01 12:15:37 GMT 2014 Olly Betts * NEWS: Update. Tue Jul 01 12:14:56 GMT 2014 Olly Betts * doc/manual.sgml: Expand documentation for *CS. Tue Jul 01 09:54:52 GMT 2014 Olly Betts * src/commands.c,tests/: Fix handling of *fix with no coordinates followed by *solve and then another *fix with no coorindates not to access freed memory. Tue Jul 01 07:47:55 GMT 2014 Olly Betts * .gitignore: Update. Sun Jun 29 13:28:19 GMT 2014 Olly Betts * src/netskel.c: If a coordinate system has been specified, don't invent a fixed point if none exists like we do if the coordinate system isn't specified. Sun Jun 29 10:29:58 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c: Reject *fix without coordinates when a coordinate system has been specified - defaulting to (0,0,0) in this case doesn't make sense. Thu Jun 26 14:57:00 GMT 2014 Olly Betts * lib/survex.pot,src/,tests/: More work on *cs. Tue Jun 24 12:01:32 GMT 2014 Olly Betts * src/commands.c: Check !p->next before comparing with p->next->meta. Tue Jun 24 11:58:06 GMT 2014 Olly Betts * src/commands.c: Fix comment typo. Sun Jun 22 07:37:26 GMT 2014 Olly Betts * src/commands.c: Fix warning in recently added code for "*cs". Sun Jun 22 07:36:50 GMT 2014 Olly Betts * NEWS,src/export.cc: Fix exporting of passage tubes in elevations and extended elevations - previously up and down were getting drawn across the page! Sun Jun 15 11:39:15 GMT 2014 Olly Betts * NEWS: Update. Sun Jun 15 11:33:25 GMT 2014 Olly Betts * doc/manual.sgml: Update stats about CUCC Austria data. Sun Jun 15 11:26:43 GMT 2014 Olly Betts * src/commands.c: Fix comment typo. Sun Jun 15 08:52:37 GMT 2014 Olly Betts * src/: Add ability to zoom to a rubber-banded box - use Shift+Left mouse button drag. Releasing the left mouse button after the drag is started changes the box to be centred on the start point. Sat Jun 14 11:57:39 GMT 2014 Olly Betts * doc/manual.sgml,lib/survex.pot,src/commands.c: Add a *cs command to set the coordinate system. Currently only the parsing part is implemented. Thu Jun 12 14:23:00 GMT 2014 Olly Betts * src/gla-gl.cc: Support alpha in SetColour(gla_colour), since we use that in some cases. Mon Jun 09 07:48:34 GMT 2014 Olly Betts * src/mainfrm.cc: Turn off live-update while dragging the sash - it just looks clunky except on an ultra-fast machine. Also, turn off the 3D border for the splitter window (though it wasn't being shown as such under wxGTK anyway). Sun Jun 08 14:44:17 GMT 2014 Olly Betts * NEWS: Update. Sun Jun 08 12:13:43 GMT 2014 Olly Betts * src/gfxcore.cc: Fix the conditions on which "Cancel measuring line" is enabled - previously it was hard to actually cancel it via the menu. Reported by Hugh St Lawrence. Sat Jun 07 07:03:59 GMT 2014 Olly Betts * src/datain.c: Move comments next to the code that they relate to. Sat Jun 07 07:03:09 GMT 2014 Olly Betts * src/datain.c: Set pcs->infer for Compass DAT in terms of INFER_* constants rather than to the literal 7. Sat Jun 07 06:55:55 GMT 2014 Olly Betts * src/datain.c: Remove superfluous call to skipblanks() before get_token(). Sat Jun 07 06:35:21 GMT 2014 Olly Betts * src/commands.c,src/commands.h: Refactor to provide new get_token_no_blanks() function which is like get_token() but doesn't skip blanks first. Wed Jun 04 08:49:30 GMT 2014 Olly Betts * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Use col_WHITE to specify we want to draw something in white. Wed Jun 04 07:14:41 GMT 2014 Olly Betts * src/datain.c,tests/: Add support for 'L' flag (exclude from length) in Compass .dat files - this handled in the same way as the "DUPLICATE" flag in .svx files. Mon Jun 02 12:21:43 GMT 2014 Olly Betts * doc/cad3d.sgml: Add link to "Related Tools" section of the Survex web site in the section about SpeloGen. Mon Jun 02 12:18:30 GMT 2014 Olly Betts * NEWS: Update. Mon Jun 02 12:08:39 GMT 2014 Olly Betts * Makefile.am: (Microsoft Windows version) Include dump3d in the installer. Sun Jun 01 11:45:36 GMT 2014 Olly Betts * src/mainfrm.h: Remove unused default parameter value from MainFrm::LoadData(). Sun Jun 01 11:35:56 GMT 2014 Olly Betts * src/mainfrm.cc,src/mainfrm.h: Pass wxString by const reference in a couple of places where we weren't. Sat May 31 00:47:36 GMT 2014 Olly Betts * src/gfxcore.cc: Re-wrap two comments. Mon May 26 11:07:58 GMT 2014 Olly Betts * lib/: Translate "Plan" in languages where we already have a suitable similar translation. Sun May 25 10:42:53 GMT 2014 Olly Betts * lib/survex.pot,src/gfxcore.cc: Show special for views from above and below in Aven, instead of always saying "Elevation". Wed May 21 07:19:52 GMT 2014 Olly Betts * lib/de.po,lib/de_CH.po: Abbreviate "Blickrichtung" so it doesn't overfill the space available in the aven UI. Tue May 20 02:03:08 GMT 2014 Olly Betts * NEWS: Update. Tue May 20 01:59:27 GMT 2014 Olly Betts * NEWS: Correct "SURVEX_LANG" to "SURVEXLANG" in old NEWS entry. Tue May 20 01:55:39 GMT 2014 Olly Betts * tests/smoke.tst: Add regression test for aven segfault when used on a system set to use a language which aven doesn't support (this bug was fixed some time ago, but we want to ensure it doesn't reappear). Tue May 20 01:44:59 GMT 2014 Olly Betts * tests/smoke.tst: Check that --help and --version don't produce output on stderr. Mon May 19 21:43:08 GMT 2014 Olly Betts * src/printwx.cc: Fix cancel to work on print/export dialog, broken by changes in 1.2.13. (Reported by Brian Clipstone) Sun May 18 12:03:05 GMT 2014 Olly Betts * configure.ac,src/glbitmapfont.cc,src/glbitmapfont.h: For platforms which support mmap(), just mmap the extra font data, which on Linux seems to typically be about twice as quick as loading it via fread() or read(). For other platforms, use read() instead of fread(), since that seems fractionally faster, and means more code in common with the mmap case. Sun May 18 07:01:23 GMT 2014 Olly Betts * src/glbitmapfont.cc: Fix signed/unsigned comparison warning. Sat May 17 06:36:29 GMT 2014 Olly Betts * src/glbitmapfont.cc,src/glbitmapfont.h: Use an array of offsets to each character, rather than a array of pointers, since offsets can be 32 bit which saves 256KB on 64 bit platforms. Thu May 15 06:20:07 GMT 2014 Olly Betts * src/gfxcore.cc: Fix wx assertion failures when showing hit test debug view on platforms such as 64-bit Linux. Thu May 15 04:45:23 GMT 2014 Olly Betts * tests/cavern.tst: Fix cavern.tst to run under valgrind during "make distcheck". Thu May 15 03:00:27 GMT 2014 Olly Betts * tests/equatenosuchstn.out,tests/surveytypo.out: Update expected output to match recent changes to messages. Thu May 15 02:28:19 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.13. Wed May 14 04:02:58 GMT 2014 Olly Betts * lib/Bulgarian.isl,lib/Makefile.am,survex.iss.in: (Microsoft Windows version) Include Bulgarian and Russian translations in the installer. Tue May 13 12:21:32 GMT 2014 Olly Betts * NEWS: Update from ChangeLog. Tue May 13 12:13:21 GMT 2014 Olly Betts * src/: Fix aven --print to wait for printing to happen before exiting (previously it would exit right after opening the print dialog, so you couldn't actually print anything out). Tue May 13 11:44:09 GMT 2014 Olly Betts * src/printwx.h: Fix test for libgnomeprint, and add test for GtkPrint. Mon May 12 13:13:55 GMT 2014 Olly Betts * src/gfxcore.cc,src/gfxcore.h,src/guicontrol.cc: Add "fat finger mode", toggled by pressing F2, to allow investigating if increasing the minimum pointer-station threshold helps Hugh's problems with using aven on a touch screen device. Mon May 12 06:38:01 GMT 2014 Olly Betts * NEWS: Update from ChangeLog. Sun May 11 08:24:23 GMT 2014 Olly Betts * src/gfxcore.cc: Use wxString::Format() instead of sprintf(). Sun May 11 06:03:01 GMT 2014 Olly Betts * src/gfxcore.cc: Create the empty hit-test grid datastructure lazily, to minimising start-up time. Sun May 11 06:01:24 GMT 2014 Olly Betts * src/guicontrol.cc: Pressing F4 now allows the user to toggle wxWidgets assertion messages off and back on. Sat May 10 23:22:37 GMT 2014 Olly Betts * make_release: Compile C files in mingw build with optimisation on. Sat May 10 03:29:48 GMT 2014 Olly Betts * lib/,src/listpos.c: Change another "prefix" in a message to "survey name". Sat May 10 02:58:26 GMT 2014 Olly Betts * tests/cavern.tst: Check number of errors returned by all testcases expected to fail which give an error count. Sat May 10 02:21:42 GMT 2014 Olly Betts * tests/cavern.tst: Fix tests to work when builddir != srcdir. Sat May 10 02:20:19 GMT 2014 Olly Betts * src/glbitmapfont.cc: Fix compiler warning from GCC. Sat May 10 00:08:15 GMT 2014 Olly Betts * tests/: Add regression test 'reenterlots' for the fix in e1a66da. Fri May 09 12:58:26 GMT 2014 Olly Betts * tests/doubleinc.out: Fix testsuite for change to message in last commit but one. Fri May 09 12:54:41 GMT 2014 Olly Betts * lib/: Merge changes from survex.pot to the po files. Fri May 09 12:50:16 GMT 2014 Olly Betts * lib/survex.pot,src/commands.c: Say "survey" instead of "prefix level" in the warning about reentering one. * lib/survex.pot,src/commands.c: After 5 warnings about reentering a survey we give up warning about that, but we used to keep reporting where the survey was originally entered - this secondary diagnostic message is now silenced when the main message is. Fri May 09 11:49:29 GMT 2014 Olly Betts * src/commands.c,tests/: For ages cavern has warned if you reentered a survey, but this warning was suppressed if it occurred at the same line of the same file as the survey was first entered, which can only happen if you include the same survey file more than once, which isn't a sensible thing to do for a file with actual survey data in (you might reasonably do it to set up survey grade details or something like that). The warning is now given in this situation too. Fri May 09 11:42:43 GMT 2014 Olly Betts * tests/anonstn.out,tests/anonstn.pos,tests/anonstn.svx: Test that "..." anon station works. Fri May 09 09:42:11 GMT 2014 Olly Betts * src/message.c: Add handling for MS Windows LANG_RUSSIAN code. Fri May 09 09:41:23 GMT 2014 Olly Betts * lib/de.po,lib/de_CH.po: Attempt to update "Präfix" to "Vermessungsnamen" in fuzzy messages. Fri May 09 07:53:12 GMT 2014 Olly Betts * src/gfxcore.cc,src/gfxcore.h,src/guicontrol.cc: Add "hit test debug" mode, which shows the hit test grid and how many entries are in each box (toggled by F3). Fri May 09 07:50:15 GMT 2014 Olly Betts * src/gfxcore.cc: Increase the threshold for how close the pointer needs to be to a station from 5 pixels to 7 to try to help touchscreen users. Reported by Hugh St Lawrence. Fri May 09 07:46:12 GMT 2014 Olly Betts * src/gfxcore.cc: Divide evenly over the full number of hittest grid boxes, rather than not really using the final box in each direction. Fri May 09 07:44:26 GMT 2014 Olly Betts * src/gfxcore.cc: Invalidate the hit-test grid when surface or underground legs are toggled on or off. Fri May 09 03:31:55 GMT 2014 Olly Betts * src/cad3d.c: Whitespace tweak. Fri May 09 03:30:53 GMT 2014 Olly Betts * lib/merge-po: If a msgid has changed, use the old msgstr for that msgno and automatically mark it as fuzzy. Fri May 09 03:27:00 GMT 2014 Olly Betts * lib/,src/cavern.h,src/commands.c,tests/badbegin.out: Improve cavern messages which talk about "tags" and/or "prefixes" in *begin and *end commands to instead talk about "survey names". Fri May 09 00:30:14 GMT 2014 Olly Betts * lib/: Merge template changes into .po files. Fri May 09 00:15:46 GMT 2014 Olly Betts * lib/extract-msgs.pl,lib/survex.pot,src/: Insert "TRANSLATORS" comments into source code. Mon May 05 05:53:01 GMT 2014 Olly Betts * .gitignore,lib/Makefile.am,lib/ru.po: Add the start of a Russian translation, with messages take from therion. Mon May 05 00:01:19 GMT 2014 Olly Betts * lib/fr.po: Minor updates. Mon Apr 14 04:22:03 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.12. Mon Apr 14 04:15:58 GMT 2014 Olly Betts * src/printwx.cc: Tidy up the appearance of the "compass" and "elevation on" arrow. Mon Apr 14 04:15:07 GMT 2014 Olly Betts * src/printwx.cc: Move the numbers below the scale bar down a little so that they don't overlap the scale bar ticks. Mon Apr 14 04:03:05 GMT 2014 Olly Betts * src/printwx.cc: Set the clipping region after we draw the page border and info box to avoid clipping the border in print preview. Mon Apr 14 03:40:54 GMT 2014 Olly Betts * src/printwx.cc: Fix printing with wx3.0 - 0 width lines don't appear (before they would be as thin as possible) and we need to reset the brush after setting it to transparent to draw a non-filled ellipse. Mon Apr 14 00:58:47 GMT 2014 Olly Betts * lib/survex-aven.desktop,lib/survex-svxedit.desktop: Add "Keywords:" entry to .desktop files. Sat Mar 15 11:37:32 GMT 2014 Olly Betts * src/Makefile.am: Update findentrances comment. Sat Mar 15 11:26:12 GMT 2014 Olly Betts * NEWS: Update. Sat Mar 15 11:23:54 GMT 2014 Olly Betts * survex.spec.in: Update dependencies to wxWidgets3 packages. Sat Mar 15 10:21:17 GMT 2014 Olly Betts * survex.spec.in: Add proj-devel to BuildRequires. Thu Feb 27 23:15:19 GMT 2014 Olly Betts * configure.ac: Enable large file support, mostly to support filing systems which return 64 bit inode values, such as CIFS mounts. Mon Feb 17 22:48:33 GMT 2014 Olly Betts * configure.ac,src/moviemaker.cc: Fix to work with libav 10. Reported by Moritz Muehlenhoff in . Mon Feb 10 22:48:50 GMT 2014 Olly Betts * src/osdepend.c: Don't use isalpha() for checking drive letters as it's locale dependent. Mon Feb 10 22:48:29 GMT 2014 Olly Betts * lib/de.po,lib/de_CH.po: Translation updates. Mon Feb 10 21:23:12 GMT 2014 Olly Betts * src/mainfrm.cc: Fix measuring line to show change in altitude rather than altitude (broken in 1.2.11). Reported by Brian Clipstone. Thu Jan 30 02:10:41 GMT 2014 Olly Betts * src/filename.c: Comment tweak. Thu Jan 30 02:10:21 GMT 2014 Olly Betts * lib/bg.po,lib/de_CH.po,lib/id.po: Translation updates. Wed Jan 29 21:42:58 GMT 2014 Olly Betts * lib/: Translation updates. Wed Jan 29 21:03:14 GMT 2014 Olly Betts * src/moviemaker.cc: Fix to build when avcodec_free_frame() isn't available. Tue Jan 28 01:57:57 GMT 2014 Olly Betts * NEWS: More changes for 1.2.11. Tue Jan 28 01:34:15 GMT 2014 Olly Betts * lib/Makefile.am,lib/make-pixel-font,src/glbitmapfont.cc, src/glbitmapfont.h: Embed the font data for the first 256 Unicode codepoints into the compiled aven binary to reduce start up overhead. Any additional codepoints are loaded from a data file only if/when a character >= U+100 is actually needed (as before). Tue Jan 28 00:08:18 GMT 2014 Olly Betts * src/gfxcore.cc,src/gfxcore.h: No need to dynamically allocate m_Pens. Mon Jan 27 20:25:39 GMT 2014 Olly Betts * src/gfxcore.cc: Don't default to percent gradient. Mon Jan 27 11:44:49 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.11. Mon Jan 27 11:16:27 GMT 2014 Olly Betts * make_release: Run "make check" under valgrind. Mon Jan 27 11:15:17 GMT 2014 Olly Betts * src/cad3d.c,src/str.c,src/str.h: Rename s_cat_len() to s_catlen() for consistency with s_catchar(). Mon Jan 27 11:13:31 GMT 2014 Olly Betts * make_release: Add simple check for // comments in C sources. * make_release: Before release, build with -Werror to catch any warnings which may have been missed. Mon Jan 27 10:25:02 GMT 2014 Olly Betts * src/: Make cad3d remap control characters and spaces in station names when generating PLT output in the same way aven does. Mon Jan 27 07:43:27 GMT 2014 Olly Betts * NEWS: Update. Mon Jan 27 06:01:15 GMT 2014 Olly Betts * lib/,src/: Add support for showing percentage gradient in the tilt indicator in aven. Show the units (degrees, grads, or percent) for the tilt and bearing indicators. Mon Jan 27 05:40:04 GMT 2014 Olly Betts * src/mainfrm.cc: Fix GCC warnings. Mon Jan 27 05:37:02 GMT 2014 Olly Betts * src/glbitmapfont.cc,src/glbitmapfont.h: BitmapFont::get_text_extent() now uses the width of all glyphs, rather than assuming all those > BITMAPFONT_MAX_CHAR have width 16. Mon Jan 27 05:32:12 GMT 2014 Olly Betts * src/glbitmapfont.cc: Fix writing of Unicode characters above BITMAPFONT_MAX_CHAR (which is 256 currently). Mon Jan 27 00:44:30 GMT 2014 Olly Betts * src/gfxcore.cc: Try to work around measuring line redraw issues on Microsoft Windows by redrawing the whole window, which doesn't seem to be measurably slower. Mon Jan 27 00:21:30 GMT 2014 Olly Betts * lib/: Translation updates. Sun Jan 26 23:50:31 GMT 2014 Olly Betts * doc/manual.sgml: Add missing quantities to the list documented as accepted by *units: LEFT, RIGHT, UP/CEILING, DOWN/FLOOR (missing entirely); BACKCOMPASS/BACKBEARING, BACKCLINO/BACKGRADIENT (missing from the main list, mentioned in list of the units that can be set for them); COUNT (missing alternative name for COUNTER); DX/EASTING, DY/NORTHING, DZ/ALTITUDE (incorrectly listed as X, Y, Z). Reported by Jonny Prouty. Sun Jan 26 23:48:19 GMT 2014 Olly Betts * src/commands.c: If *units is used to set units for LEVEL, PLUMB, or POSITION, give an error rather than quietly ignore the attempt. * tests/: New regression testcase bad_units_qlist. Sun Jan 26 23:35:18 GMT 2014 Olly Betts * tests/bad_units_factor.svx,tests/cavern.tst: Test that "*units backclino 0 percent" gives an error about the factor being zero. * tests/Makefile.am,tests/bad_units_factor.out: Add expected output to make sure we're getting the errors we expect, not just the expected number of errors. Fri Jan 24 06:20:49 GMT 2014 Olly Betts * lib/de.po,lib/de_CH.po: Update. Fri Jan 24 05:08:19 GMT 2014 Olly Betts * src/gfxcore.cc: Don't crash with assertion failure when showing passages for a cave with no vertical extent. Reported by Jonny Prouty. Fri Jan 24 05:07:34 GMT 2014 Olly Betts * src/moviemaker.cc: Fix to build again with libav/ffmpeg. Tue Jan 23 19:52:21 GMT 2014 Olly Betts * src/gfxcore.cc: Simplify accounting for size of blobs on measuring line. Thu Jan 23 11:42:01 GMT 2014 Olly Betts * src/moviemaker.cc,src/moviemaker.h: Fix to actually build without libav/ffmpeg. Thu Jan 23 11:34:30 GMT 2014 Olly Betts * lib/,src/: Make all uses of unit names translatable. Tue Jan 21 12:23:06 GMT 2014 Olly Betts * lib/fr.po: Merge translation updates from Eric Madelaine. Tue Jan 21 11:31:22 GMT 2014 Olly Betts * lib/: More translation updates. Tue Jan 21 10:32:08 GMT 2014 Olly Betts * lib/Makefile.am,lib/generate-po-todo: Add script and makefile target to pick out the messages from each po file which need attention. Tue Jan 21 10:30:45 GMT 2014 Olly Betts * lib/survex.pot,src/mainfrm.cc: Allow "m" and "ft" suffixes to be translated. Tue Jan 21 04:14:55 GMT 2014 Olly Betts * doc/TODO.htm: Remove things which have now been done, and reorganise the rest. Tue Jan 21 03:48:07 GMT 2014 Olly Betts * src/message.c: On Microsoft Windows 2000 and newer, use GetUserDefaultUILanguage() to get the UI language to use. For older versions, continue to use GetUserDefaultLCID(). Tue Jan 21 02:29:06 GMT 2014 Olly Betts * lib/,src/avenprcore.cc,src/printwx.cc: Change term "info box" to "legend". Tue Jan 21 02:15:38 GMT 2014 Olly Betts * src/mainfrm.cc,src/mainfrm.h: If full screen, don't recreate the side panel when a new file is opened (e.g. via Ctrl+O). Mon Jan 20 05:33:04 GMT 2014 Olly Betts * NEWS: Update. Mon Jan 20 04:54:28 GMT 2014 Olly Betts * lib/bg.po,lib/de.po,lib/de_CH.po: More translation updates. Sun Jan 19 01:44:44 GMT 2014 Olly Betts * lib/,src/netskel.c,tests/: Drop "between nodes" from the progress messages while solving the survey network, as the extra words don't make the meaning clearer, and "node" doesn't mean exactly the same here as the summary of nodes printed at the end of processing, which is a bit confusing. Sun Jan 19 01:31:54 GMT 2014 Olly Betts * lib/: More translation updates. Sun Jan 19 00:51:33 GMT 2014 Olly Betts * lib/po-to-msg.pl: Fix menu shortcut check to allow for non-ASCII shortcuts. Remove code to check for menu shortcuts marked with '@' as we no longer do that. Sat Jan 18 23:24:47 GMT 2014 Olly Betts * buildmacosx.sh: Update to use wx 3.0.0, and add a checksum check for the downloaded wx sources. Thanks to David A. Riggs for his work on getting the Mac OS X build going with wx 3.0.0. Sat Jan 18 23:09:12 GMT 2014 Olly Betts * src/gla-gl.cc: Split log_fl_error helper function out of CHECK_GL_ERROR, which will reduce code size and also the number of deprecation warnings about gluErrorString on Mac OS X 10.9. Sat Jan 18 22:49:02 GMT 2014 Olly Betts * lib/en_US.po: Translate "elevation" to "profile" in a couple of places where we weren't. Sat Jan 18 22:48:01 GMT 2014 Olly Betts * src/message.c: Hook up Indonesian translation to be used when Windows is set to Indonesian. Sat Jan 18 22:47:20 GMT 2014 Olly Betts * lib/checkshortcut.pl: Fix shortcut checking to allow for non-ASCII shortcuts. Sat Jan 18 22:45:50 GMT 2014 Olly Betts * lib/Makefile.am,lib/bg.po,src/message.c: Add start of bulgarian translation, with messages take from therion. Fri Jan 17 07:39:48 GMT 2014 Olly Betts * src/printwx.cc: Include wx headers before ISO C/C++ ones, to try to fix build failure on OS X 10.9 with wx 3.0.0. Fri Jan 17 07:27:34 GMT 2014 Olly Betts * src/moviemaker.h: If we don't have libav or ffmpeg, omit all the member variables from class MovieMaker, to avoid "unused private field" warnings from clang. Fri Jan 17 07:22:32 GMT 2014 Olly Betts * src/: Use cast to void rather than assignment to self to suppress unused parameter warnings, as clang warns about the latter. Fri Jan 17 07:12:47 GMT 2014 Olly Betts * src/aboutdlg.cc: Use string::erase() rather than assigning the result of string::substr(). Thu Jan 16 03:58:18 GMT 2014 Olly Betts * lib/: Update pot and po files with current linenumber references. Thu Jan 16 03:57:55 GMT 2014 Olly Betts * src/printwx.cc: Fix incorrect message in comment. Thu Jan 16 03:46:23 GMT 2014 Olly Betts * lib/extract-msgs.pl: Fix to handle there being a comment before the comment with the message in. Thu Jan 16 03:17:24 GMT 2014 Olly Betts * lib/: Various translation updates. Thu Jan 16 03:15:10 GMT 2014 Olly Betts * lib/de.po,lib/de_CH.po: Move menu accelerator on "Farbschlüssel" from "ü" to "F", since the latter isn't used in that menu. Wed Jan 15 21:00:14 GMT 2014 Olly Betts * lib/: Fill in some missing translations from existing similar translations. Wed Jan 15 10:55:44 GMT 2014 Olly Betts * src/mainfrm.cc,src/mainfrm.h: Fix wxWidgets assertion when double clicking on an anonymous station. Reported by Kevin Dixon. Wed Jan 15 07:11:30 GMT 2014 Olly Betts * NEWS,configure.ac: Update for 1.2.10. Wed Jan 15 07:07:25 GMT 2014 Olly Betts * lib/ca.po,lib/de.po: Mark altered message as fuzzy in languages I failed to before. Wed Jan 15 06:25:10 GMT 2014 Olly Betts * NEWS: Update. Wed Jan 15 06:13:44 GMT 2014 Olly Betts * src/img.c: Simplify reading of labels in 3d v1 and v2 files. Wed Jan 15 06:11:12 GMT 2014 Olly Betts * lib/,src/cavernlog.cc: If we fail to start the external editor, throw up an error box. Wed Jan 15 05:58:31 GMT 2014 Olly Betts * src/img.c: Pass pimg->buf_len rather than literal 257. Wed Jan 15 00:23:34 GMT 2014 Olly Betts * src/img.c: Remove pointless "future expansion" comment from img_read_item_ancient(). Wed Jan 15 00:22:22 GMT 2014 Olly Betts * src/img.c: Tweak recursive calls in img_read_item_ancient() and img_write_item_ancient() to directly call the same function. Wed Jan 15 00:15:30 GMT 2014 Olly Betts * src/img.c,src/useful.h: Fix some glibc fortify source warnings. Wed Jan 15 00:13:27 GMT 2014 Olly Betts * src/img.c: Make 4 internal functions static. Tue Jan 14 21:57:03 GMT 2014 Olly Betts * src/printwx.cc: Minor code refactor. Tue Jan 14 21:51:58 GMT 2014 Olly Betts * NEWS: Update. Tue Jan 14 21:39:34 GMT 2014 Olly Betts * lib/en_US.po: Add missing translation. Tue Jan 14 21:25:01 GMT 2014 Olly Betts * src/printwx.cc: Fix crash on "File->Print" or "File->Export" under Windows XP, reported by Brian Clipstone. Tue Jan 14 21:23:10 GMT 2014 Olly Betts * src/aven.cc: Simplify handling of command line under __WXMSW__, fixing error if run with no parameters. Tue Jan 14 21:17:38 GMT 2014 Olly Betts * configure.ac,src/img.c: Only use _putenv_s() under MSVC - mingw doesn't provide it. Tue Jan 14 21:14:51 GMT 2014 Olly Betts * make_release: Turn on optimisation when building aven for Microsoft Windows. Tue Jan 14 04:17:10 GMT 2014 Olly Betts * src/guicontrol.cc: If dragging with more than one mouse button held down, releasing one causes another which is still held down to take effect. Tue Jan 14 03:33:38 GMT 2014 Olly Betts * src/guicontrol.cc: Fix assertion if two mouse buttons are held down at the same time. Reported by Brian Clipstone. Tue Jan 14 03:22:54 GMT 2014 Olly Betts * src/img.c,src/mainfrm.cc: Although these are often referred to as "CMAP .XYZ files", it seems that actually, the extension .XYZ isn't used, rather .SHT (shot variant, produced by CMAP v16 and later), .UNA (unadjusted) and .ADJ (adjusted) extensions are. Since we've long checked for .XYZ, we continue to do so in case anyone is relying on it, but also check for the other extensions. Tue Jan 14 03:20:03 GMT 2014 Olly Betts * buildmacosx.sh,configure.ac,doc/manual.sgml: Update references to Survex 1.1 which should be to 1.2. Tue Jan 14 03:14:31 GMT 2014 Olly Betts * doc/manual.sgml: Note the station length limit Smaps used. Tue Jan 14 02:55:02 GMT 2014 Olly Betts * tests/expobug.svx: Fix comment typo. Tue Jan 14 02:52:52 GMT 2014 Olly Betts * src/imgtest.c: Fix printf format to actually match types of parameters. Tue Jan 14 02:52:31 GMT 2014 Olly Betts * src/gpx.cc: Fix comment typo. Tue Jan 14 02:48:59 GMT 2014 Olly Betts * src/: Pass the numeric datestamp to ExportFilter::header(), and use it to set a timestamp in exported GPX files. Tue Jan 14 01:18:42 GMT 2014 Olly Betts * src/datain.c: Fix NULL pointer dereference when processing Compass DAT file without 'SURVEY DATE:'. Tue Jan 14 00:40:06 GMT 2014 Olly Betts * src/: Add new "datestamp_numeric" field to struct img giving the datestamp as a time_t in UTC (or (time_t)-1 if there's no datestamp or we failed to convert it). For .3d >= v8, this field is reliable. We attempt to convert date strings in .3d <= v7 and CMAP XYZ files, but may get the timezone wrong. Tue Jan 14 00:29:35 GMT 2014 Olly Betts * src/img.c: Fix my_strcasecmp() to handle top-bit set characters better. Mon Jan 13 04:20:11 GMT 2014 Olly Betts * src/gpx.cc: Don't try to write the title if it isn't set or is empty. Mon Jan 13 04:09:27 GMT 2014 Olly Betts * src/export.cc: If the survey has a title, add it as a top-level element to exported SVG files. Mon Jan 13 04:08:11 GMT 2014 Olly Betts <olly@survex.com> * src/export.cc: Escape '<', '>', and '&' in labels in exported SVG files. Mon Jan 13 04:02:26 GMT 2014 Olly Betts <olly@survex.com> * src/: Pass the datestamp from the 3d file to the export code. Mon Jan 13 04:00:54 GMT 2014 Olly Betts <olly@survex.com> * src/avenprcore.cc,src/printwx.cc: Don't bother looking up the printer page setup info when exporting. Wed Jan 08 04:50:10 GMT 2014 Olly Betts <olly@survex.com> * doc/HACKING.htm: Document how to configure wxWidgets 3.0.0 for mingw cross-build. Wed Jan 08 04:11:32 GMT 2014 Olly Betts <olly@survex.com> * NEWS,configure.ac: Update for 1.2.9. Wed Jan 08 03:57:39 GMT 2014 Olly Betts <olly@survex.com> * lib/: Add "Language:" headers to .po files. Wed Jan 08 02:17:44 GMT 2014 Olly Betts <olly@survex.com> * src/img.c: In non-hosted mode, don't define GETC and PUTC if they're already defined, to allow easy overriding with getc_unlocked() and putc_unlocked(). Wed Jan 08 02:13:27 GMT 2014 Olly Betts <olly@survex.com> * src/Makefile.am,src/imgtest.c: Add compile test that img.c and img.h work in non-hosted mode. Wed Jan 08 01:14:42 GMT 2014 Olly Betts <olly@survex.com> * doc/cavern.sgml: Document --3d-version in cavern man page. Wed Jan 08 01:05:34 GMT 2014 Olly Betts <olly@survex.com> * src/moviemaker.cc: Set rc_buffer_size to avoid warning from libav when exporting MPEG. Tue Jan 07 23:09:53 GMT 2014 Olly Betts <olly@survex.com> * src/moviemaker.cc: Fix GCC warnings. Tue Jan 07 23:08:21 GMT 2014 Olly Betts <olly@survex.com> * src/img.c: In non-hosted mode, check that int is at least 32 bits, and if not, use long. In practice, platforms with 16 bit int are mostly obsolete, but it's not hard to be portable here. Tue Jan 07 22:05:58 GMT 2014 Olly Betts <olly@survex.com> * src/msvc/config.h.in: Update to INT16_T to int16_t and INT32_T to int32_t. AFAIK, building with MSVC hasn't been tested for a long time, so it's likely more fixes will be needed. Tue Jan 07 21:55:27 GMT 2014 Olly Betts <olly@survex.com> * configure.ac: Don't call AC_C_CONST - C compilers without 'const' support haven't been relevant for years. Thu Oct 31 12:08:07 GMT 2013 Olly Betts <olly@survex.com> * lib/: Update translations from launchpad and from existing similar messages. Tue Oct 29 23:47:57 GMT 2013 Olly Betts <olly@survex.com> * src/moviemaker.cc: Fix to call avcodec_free_frame() correctly. Tue Oct 29 08:58:56 GMT 2013 Olly Betts <olly@survex.com> * NEWS,configure.ac: Update for 1.2.8. Tue Oct 29 08:10:45 GMT 2013 Olly Betts <olly@survex.com> * src/: Hook up to pass "input_projection" from .aven config file through to GPX export code. Sat Oct 26 06:35:52 GMT 2013 Olly Betts <olly@survex.com> * src/gfxcore.cc: Another tweak to use RefreshRect() rather than Refresh() for slightly simpler code. Fri Oct 25 21:08:53 GMT 2013 Olly Betts <olly@survex.com> * src/gpx.cc: Use fputs rather than fprintf for constant strings. Fri Oct 25 21:07:57 GMT 2013 Olly Betts <olly@survex.com> * src/gpx.cc,src/gpx.h,src/printwx.cc: Add support for exporting legs as tracks in GPX. Fri Oct 25 06:14:38 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: Swap the "Elements" and "View" boxes in the print and export dialogs, as that works much better when the "View" box is hidden. Fri Oct 25 06:11:59 GMT 2013 Olly Betts <olly@survex.com> * lib/survex.pot,src/export.cc,src/export.h,src/printwx.cc: Add "Origin in centre" and "Full coordinates" options to export - the latter fixes #10. GPX and PLT output force "full coordinates". Wed Oct 23 21:47:07 GMT 2013 Olly Betts <olly@survex.com> * src/gfxcore.cc: Tweak to use RefreshRect() rather than Refresh() for slightly simpler code. Wed Oct 23 21:46:13 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c: Show dates for XSECT. Wed Oct 23 06:46:39 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: Fix export and (the built-in) print preview to actually use the options selected in the dialog rather than those set when the dialog was created. Wed Oct 23 06:30:05 GMT 2013 Olly Betts <olly@survex.com> * src/: Hook up GPX export options to export entrances, fixed points, and/or exported points, and specify coloured pin symbols for these types of stations. These options now default to what's being shown in the survey view, like other export options. GPX export "creator" how includes the Survex version and website URL, and the survey title is includes as a <name> tag inside the <gpx> tag. Wed Oct 23 04:38:31 GMT 2013 Olly Betts <olly@survex.com> * src/guicontrol.cc: Fix assertion failure when double-clicking on the survey with wx2.9. Tue Oct 22 06:01:05 GMT 2013 Olly Betts <olly@survex.com> * src/: Rename internal references to "show splays" to just "splays" to reflect the change in the menu item name. Tue Oct 22 05:55:55 GMT 2013 Olly Betts <olly@survex.com> * lib/survex.pot,src/: Hide the "View" box for GPX export. Add checkboxes for "Entrances", "Fixed Points" and "Exported Stations" for GPX export (currently non-functional). Prepare for allowing text height, marker size, and grid spacing to be set from aven (as cad3d allows). Mon Oct 21 01:10:04 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc: Update to call img_error2msg() on the error code returned by img_error(). Sat Oct 19 18:28:49 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: Fix segfault in "File->Export" if an export format isn't stored in ".aven". Sat Oct 19 17:39:49 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/img.c: Use lround() instead of round(), and make the tests around whether we use the library function or the our fallback implementation saner. Wed Sep 18 00:26:33 GMT 2013 Olly Betts <olly@survex.com> * src/aven.cc: Fix to build with wx 2.9.5 with wx2.8 compatibility disabled. Tue Sep 17 23:57:02 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc: Make the Presentation->Play menu item a checkbox, to avoid a warning with wxMSW 2.9.5. Reported by Brian Clipstone. Tue Sep 17 23:56:06 GMT 2013 Olly Betts <olly@survex.com> * src/guicontrol.cc,src/guicontrol.h: Rename scale/rotate lock constants to have a "lock_" prefix. Tue Sep 17 23:38:10 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc: Make right click in an empty presentation mark the current position and open it to edit, instead of crashing. Tue Sep 17 23:37:00 GMT 2013 Olly Betts <olly@survex.com> * src/gfxcore.cc: Don't try to close the movie if we aren't producing one. Tue Sep 10 00:21:53 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/moviemaker.cc: Use avcodec_free_frame() if it's available. Mon Sep 09 11:36:00 GMT 2013 Olly Betts <olly@survex.com> * src/cad3d.c: Correct long option names in code comment. Mon Sep 09 11:33:20 GMT 2013 Olly Betts <olly@survex.com> * src/cad3d.c: Make --marker-size work for Skencil and SVG output. Mon Sep 09 07:01:57 GMT 2013 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/moviemaker.cc,src/moviemaker.h: Improve reporting of errors during the process of exporting a movie. Mon Sep 09 06:38:33 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/moviemaker.cc,src/moviemaker.h: Update movie export code to work with latest libav API. Mon Sep 09 05:14:24 GMT 2013 Olly Betts <olly@survex.com> * Makefile.am,doc/HACKING.htm,lib/,survex.iss.in: Upgrade to newer innosetup version. Upgrade details of how to do a Microsoft Windows build. Mon Sep 09 04:19:36 GMT 2013 Olly Betts <olly@survex.com> * make_release: Prefer a hand-installed 2.9 mingw build of wx to a packaged 2.8 build. Mon Sep 09 04:18:18 GMT 2013 Olly Betts <olly@survex.com> * src/img.c,src/netbits.c: Fix // comments in C code for portability to pre-C99 compilers which don't support these as an extension. Mon Sep 09 04:12:57 GMT 2013 Olly Betts <olly@survex.com> * src/aven.cc: Fix to build with wxMSW 2.9.5. Mon Sep 09 04:10:48 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/Makefile.am: Probe for libproj. Fri Sep 06 04:18:23 GMT 2013 Olly Betts <olly@survex.com> * NEWS,doc/cad3d.sgml,lib/,src/: The "Sketch" vector drawing program got renamed to "Skencil" some time ago, so update all references in code and documentation. cad3d has a new --skencil option to specify this output format, but --sketch is still recognised for compatibility. Fri Sep 06 03:39:16 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: Default to exporting in the export format used last time. Fri Sep 06 03:27:21 GMT 2013 Olly Betts <olly@survex.com> * lib/de_CH.po,lib/it.po,lib/sk.po: Minor translation updates. Thu Sep 05 09:50:23 GMT 2013 Olly Betts <olly@survex.com> * lib/,src/: Add a format drop down to the export dialog, and only show fields which are meaningful and supported for a particular export format. Thu Sep 05 04:21:40 GMT 2013 Olly Betts <olly@survex.com> * survex.iss.in: Newer innosetup no longer supports MinVersion. Thu Sep 05 04:20:36 GMT 2013 Olly Betts <olly@survex.com> * lib/,survex.iss.in: Add translations for the Windows installer for all the languages we have any translations of Survex itself for. Mon Sep 02 21:03:50 GMT 2013 Olly Betts <olly@survex.com> * lib/,src/: Rework findentrances into GPX export for aven. Mon Sep 02 02:17:49 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Improve fputsnl() for non-HOSTED mode to return a value. Mon Sep 02 02:17:18 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Use osnew() to simplify code a little. Mon Sep 02 01:45:52 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Don't segfault on img_close() in non-hosted mode. Mon Sep 02 00:27:29 GMT 2013 Olly Betts <olly@survex.com> * NEWS,src/img.c: img.c can now be compiled as C++ as well as as C. Mon Sep 02 00:17:36 GMT 2013 Olly Betts <olly@survex.com> * NEWS,src/img.c: Add missing definition of max() macro when built for use outside of Survex. Mon Sep 02 00:11:36 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Don't duplicate the IMG_API_VERSION defaulting logic from img.h as we get it just by including img.h first. Mon Sep 02 00:10:34 GMT 2013 Olly Betts <olly@survex.com> * src/: IMG_HOSTED no longer affects the img API at all. Fri Aug 23 08:06:18 GMT 2013 Olly Betts <olly@survex.com> * NEWS,lib/,src/netskel.c: Tweak cavern .err file output to not lose the space in front of certain statistics when the value gets large. Wed Aug 21 21:14:03 GMT 2013 Olly Betts <olly@survex.com> * NEWS,lib/,src/matrix.c,src/out.h,tests/calibrate_clino.out: Don't report "Solving to find x coordinates" as we actually find y and z in the same operation, and as a progress message it is redundant with "Solving %d simultaneous equations" anyway. Fri Aug 09 10:23:24 GMT 2013 Olly Betts <olly@survex.com> * NEWS,src/printwx.cc: Need to call TransferDataFromWindow() for the validators to get called and update the boolean flag settings mask. Fri Aug 02 13:04:39 GMT 2013 Olly Betts <olly@survex.com> * NEWS,src/readval.c,tests/cmd_alias.out: Fix handling of anonymous wall stations ('..' by default) to implicitly set the SPLAY leg flag, as was intended. Sat Jul 27 10:08:46 GMT 2013 Olly Betts <olly@survex.com> * tests/Makefile.am: Distribute files for normal_bad testcase. Sat Jul 27 09:41:34 GMT 2013 Olly Betts <olly@survex.com> * NEWS,configure.ac: Update for 1.2.7. Sun Jul 21 18:03:58 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc: Speed up loading a .3d file with cross-sections by using a map to convert station names to positions. Sun Jul 21 16:12:25 GMT 2013 Olly Betts <olly@survex.com> * doc/TODO.htm: Note that dump3d needs documenting. Sun Jul 21 16:09:24 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,debian/survex.install,src/Makefile.am: Build and package dump3d as standard - it's useful for grabbing info from 3d files in scripts. Thu Jul 18 03:54:45 GMT 2013 Olly Betts <olly@survex.com> * lib/de.po: Merge German translation updates from launchpad. Wed Jul 17 12:38:39 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm,src/img.c: Move the DATE and ERROR codes in 3d v8 to leave a large contiguous block of codes available. Wed Jul 17 12:29:33 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Mask out the bit used to indicate no label change from the returned leg flags. Wed Jul 17 11:13:37 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm,src/img.c: The prefix is often unchanged from one leg to the next, so use a spare flag to compactly indicate that there's no label change. Tue Jul 16 12:04:55 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm,src/img.c: More work toward v8 of 3d format. Tue Jul 16 11:33:34 GMT 2013 Olly Betts <olly@survex.com> * doc/TODO.htm: The data style of legs is now stored in the 3d file, so remove "flag nosurvey legs in .3d file" from todo list. Tue Jul 16 11:33:04 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c: Report the data style of legs. Tue Jul 16 11:32:13 GMT 2013 Olly Betts <olly@survex.com> * src/cad3d.c: Check for errors from img_rewind() and report them. Tue Jul 16 07:54:52 GMT 2013 Olly Betts <olly@survex.com> * tests/cavern.tst: Run diffpos <expected> <actual> so the reports of 'Added' and 'Deleted' stations are the more natural way round. Tue Jul 09 22:59:48 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm: Formatting tweaks. Tue Jul 09 13:36:35 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm,doc/TODO.htm,src/img.c: Add an explicit flag for 'this is an extended elevation' to 3d v8. Tue Jul 09 13:24:29 GMT 2013 Olly Betts <olly@survex.com> * doc/3dformat.htm,doc/TODO.htm,src/img.h: Start on v8 of the 3d format - the timestamp is stored as seconds since 1970. Tue Jul 09 12:41:51 GMT 2013 Olly Betts <olly@survex.com> * src/commands.c: Fix ordering of the style masks to reflect swapping of STYLE_NOSURVEY and STYLE_PASSAGE. Tue Jul 09 11:14:28 GMT 2013 Olly Betts <olly@survex.com> * doc/TODO.htm: Update. Tue Jul 09 10:31:50 GMT 2013 Olly Betts <olly@survex.com> * src/img.h: Remove unnecessary include of "useful.h" in IMG_HOSTED mode. Tue Jul 09 08:48:35 GMT 2013 Olly Betts <olly@survex.com> * src/cavern.h,src/img.h: Renumber STYLE_PASSAGE and STYLE_NOSURVEY so that the style constants we want to pass to img are contiguously numbered. Sun Jul 07 13:03:56 GMT 2013 Olly Betts <olly@survex.com> * src/img.h: Just make fRead always int, eliminating IMG_HOSTED conditional. Sun Jul 07 12:45:11 GMT 2013 Olly Betts <olly@survex.com> * src/extend.c,src/img.c,src/img.h: Repurpose the long unused fBinary parameter to img_open_write() as a flags parameter, and add img_FFLAG_EXTENDED to specify that this is an extended elevation, in place of appending " (extended)" to the title. Internally we still append this to the title (and remove it upon reading), but in the 3d v8 format, the flags will be stored explicitly in the file. Sun Jul 07 12:22:32 GMT 2013 Olly Betts <olly@survex.com> * src/img.h: Add comments for the lists of "Leg flags" and "Station flags". Sun Jul 07 12:20:29 GMT 2013 Olly Betts <olly@survex.com> * NEWS,src/dump3d.c,src/img.h: Drop img_FLAG_NOSURVEY - it's redundant now we're going to store the style of each leg, and it hasn't yet been in a release. Sun Jul 07 12:14:23 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c: Report if the file is an extended elevation. Sun Jul 07 12:12:24 GMT 2013 Olly Betts <olly@survex.com> * src/: Track the data style of each leg, and pass it in to img - it's not yet stored in the .3d file, but now it is easily available so it can be. Fri Jul 05 13:17:24 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,doc/3dformat-old.htm: Split off a copy of the current 3dformat document - v8 will feature significant changes, so it will be clearer to document it separately. Fri Jul 05 13:11:25 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c,src/netskel.c: The fBinary parameter of img_open_write() has been unused for years, so stop passing fTrue. Tue Jul 02 12:04:09 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Revert to putting a human readable timestamp string in v7 and older files. Tue Jul 02 11:01:41 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c: Show only 2 decimal places on coordinates and passage dimensions. Wed Jun 12 13:35:21 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: Implement a copy ctor for BitValidator in the same way that wxGenericValidator does. Older GCC seems to need such a copy ctor to exist to compile the uses of BitValidator in printwx.cc. Wed Jun 12 13:34:52 GMT 2013 Olly Betts <olly@survex.com> * src/Makefile.am: Ship gdtconvert and gen_img2aven. Wed Jun 12 13:33:38 GMT 2013 Olly Betts <olly@survex.com> * make_release: Tweak 'mingw' building to look for a suitable wx-config and get the C and C++ compilers to use using its --cc and --cxx flags. Tue Jun 11 12:06:08 GMT 2013 Olly Betts <olly@survex.com> * src/printwx.cc: wxValidator subclasses shouldn't have a copy ctor, so give BitValidator an unimplemented private copy ctor, and use the normal ctor instead to implement the Clone() method. Tue Jun 11 11:51:13 GMT 2013 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Mon Jun 10 11:50:18 GMT 2013 Olly Betts <olly@survex.com> * lib/launchpad-merge-po: New script to eliminate unwanted differences introduced by launchpad. * lib/Makefile.am: Make launchpad-diff target use launchpad-merge-po and skip files missing in the launchpad export. Mon Jun 10 11:47:37 GMT 2013 Olly Betts <olly@survex.com> * lib/unlaunchpad-po: Normalise dates in PO headers. Mon Jun 10 07:23:07 GMT 2013 Olly Betts <olly@survex.com> * lib/Makefile.am,lib/unlaunchpad-po: Add "launchpad-diff" make target to assist with merging in translation changes from launchpad. Sun Jun 09 00:04:37 GMT 2013 Olly Betts <olly@survex.com> * src/img.c: Handle .pos files containing unnamed stations - don't suck the next line in as the station name, and set img_SFLAG_ANON for them. Sat Jun 08 15:12:25 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix mapping of flags when loading a .3d file. Sat Jun 08 15:07:05 GMT 2013 Olly Betts <olly@survex.com> * .gitignore,src/gen_img2aven: Commit script to generate img2aven.h. Sat Jun 08 14:20:45 GMT 2013 Olly Betts <olly@survex.com> * lib/: Update line number references and merge message changes from survex.pot to the .po files. Sat Jun 08 14:17:52 GMT 2013 Olly Betts <olly@survex.com> * lib/Makefile.am,lib/merge-po: Add "merge-pos" target to merge in new messages and updates to comments from survex.pot to the .po files. Sat Jun 08 14:10:16 GMT 2013 Olly Betts <olly@survex.com> * tests/: Commit files for new tests. Sat Jun 08 13:40:38 GMT 2013 Olly Betts <olly@survex.com> * src/img.c,src/img.h,src/mainfrm.cc: Store the 'processed at' timestamp in the .3d file as seconds since 1970 rather than as a human readable string. Sat Jun 08 06:19:17 GMT 2013 Olly Betts <olly@survex.com> * src/commands.c: Correct comment about *alias. Sat Jun 08 06:01:38 GMT 2013 Olly Betts <olly@survex.com> * lib/de.po,lib/de_CH.po,lib/en_US.po: Update translations. Thu Jun 06 10:56:22 GMT 2013 Olly Betts <olly@survex.com> * lib/,src/: Show splay legs faded by default, with menu options to hide them or show them like other legs. Tue Jun 04 12:37:03 GMT 2013 Olly Betts <olly@survex.com> * doc/manual.sgml,lib/survex.pot,src/,tests/Makefile.am, tests/cavern.tst: Add more anonymous station types - a double separator ('..' by default) is an anonymous wall point at the end of an implicit splay (c.f. '.' being a non-wall point), and a triple separator ('...' by default) is an anonymous point (with nothing special about the leg). New *alias command allows '-' to be mapped to '..' to match pocket topo conventions. 3d file format now support a 'WALL' station flag. Tue Jun 04 12:19:31 GMT 2013 Olly Betts <olly@survex.com> * src/Makefile.am: Regenerate gradient.pov is gdtconvert changes. Sun Jun 02 12:51:46 GMT 2013 Olly Betts <olly@survex.com> * src/readval.c,tests/: Report column numbers as well as line numbers for more cavern errors and warnings. Add more testcases. If the argument to *include has an opening double quote but the closing double quote is missing, then skip trying to open the file. Sun Jun 02 10:52:26 GMT 2013 Olly Betts <olly@survex.com> * src/cavernlog.cc: Remove useless extra quoting when invoking vim. Fri May 31 13:51:16 GMT 2013 Olly Betts <olly@survex.com> * src/netskel.c: Use fputs not printf to write literal string to avoid GCC format security warning (the string can never contain a '%' but the compiler can't see that). Fri May 31 13:08:01 GMT 2013 Olly Betts <olly@survex.com> * src/datain.c: Variable 'len' in compile_error_token was static for no good reason. Fri May 31 12:32:22 GMT 2013 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/mainfrm.h: Skip anonymous stations. Fri May 31 12:17:56 GMT 2013 Olly Betts <olly@survex.com> * src/,tests/: Anonymous stations no longer have a made up unique name, and are marked with a new ANON flag in .3d files. Mon May 27 11:24:18 GMT 2013 Olly Betts <olly@survex.com> * configure.ac: Update copyright date. Sun May 26 13:05:34 GMT 2013 Olly Betts <olly@survex.com> * src/: New station flag SFLAGS_USED to mark a station as "used" so we don't issue "unused fixed point" warnings about it - previously we set 'shape' to be negative to indicate this, but that required us to handle that whenever we looked at or updated shape. Sun May 26 11:47:06 GMT 2013 Olly Betts <olly@survex.com> * configure.ac: Fix sizeof(wxChar) test to work for wx2.9. Fri May 10 05:55:54 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/gla-gl.cc,src/glbitmapfont.h: It seems we need to include GL/gl.h before we can safely include GL/glext.h (at least on Debian wheezy). Fri May 10 05:43:09 GMT 2013 Olly Betts <olly@survex.com> * configure.ac: Fix wxChar test to work in a non-cross-compiled build. Wed May 08 22:38:56 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/glbitmapfont.cc: Check sizeof(wxChar) at configure time, so we can avoid a warning when sizeof(wxChar)==2 (which is the case under mingw). Wed May 08 05:54:23 GMT 2013 Olly Betts <olly@survex.com> * lib/en_US.po,lib/survex.pot: Update. Tue May 07 23:30:26 GMT 2013 Olly Betts <olly@survex.com> * src/aven.cc: Don't crash trying to report an error after the app object has been created but before the frame window has. Sun Jan 06 19:31:30 GMT 2013 Olly Betts <olly@survex.com> * doc/manual.sgml: "surface topology" -> "surface topography". Sun Jan 06 08:07:22 GMT 2013 Olly Betts <olly@survex.com> * lib/Makefile.am: Remove launchpad-tarball target - changes now get picked up by launchpad automatically via a bzr mirror of the git repo. Sun Jan 06 05:45:10 GMT 2013 Olly Betts <olly@survex.com> * lib/survex.pot,src/dump3d.c: Add --show-dates/-d to --help output. Sun Jan 06 05:42:07 GMT 2013 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Fix matching quote check to really allow for using « and » in a translation. Sun Jan 06 05:23:48 GMT 2013 Olly Betts <olly@survex.com> * src/dump3d.c: Report img_STOP as STOP rather than CODE_0xffffffff. Thu Jan 03 01:08:28 GMT 2013 Olly Betts <olly@survex.com> * src/: Use wxValidator to simplify keeping svxPrintDlg member variables and fields in the dialog in sync. Wed Jan 02 20:49:20 GMT 2013 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/glbitmapfont.cc: Add checks for errors when reading the font file. Wed Jan 02 20:48:22 GMT 2013 Olly Betts <olly@survex.com> * configure.ac,src/img.c: Avoid warning about redeclaration of round(). Wed Jan 02 09:11:41 GMT 2013 Olly Betts <olly@survex.com> * src/readval.c: Whitespace tweak. Wed Jan 02 09:10:57 GMT 2013 Olly Betts <olly@survex.com> * src/netartic.c: Use TSTBIT(w, x) instead of w & BIT(x). Wed Jan 02 09:10:30 GMT 2013 Olly Betts <olly@survex.com> * src/listpos.c: Fix compiler warning. Wed Jan 02 09:04:58 GMT 2013 Olly Betts <olly@survex.com> * lib/survex.pot,src/,tests/: Add support for anonymous stations, which are indicated by a station name of '.'. Sat Dec 29 18:50:07 GMT 2012 Olly Betts <olly@survex.com> * src/export.cc: Implement export of passage info for DXF (untested). Sat Dec 29 05:29:31 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/printwx.cc,src/printwx.h: Default the export/print settings for passage related things to the "tubes" setting in the OpenGL view. Sat Dec 29 05:11:20 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Export of passage detail now works before we have displayed tubes in the OpenGL view. Sat Dec 29 05:09:54 GMT 2012 Olly Betts <olly@survex.com> * src/avenprcore.cc,src/avenprcore.h,src/printwx.cc: Do away with the separate bool flags for each thing we can show in printing and export and just use the "show_mask" flags. Fri Dec 28 23:30:55 GMT 2012 Olly Betts <olly@survex.com> * lib/: Fill in new messages from existing translations where possible. Fri Dec 28 21:03:33 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge from survex.pot to .po files. Fri Dec 28 22:21:50 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Update locations. Fri Dec 28 22:19:14 GMT 2012 Olly Betts <olly@survex.com> * src/printwx.cc: Disable passage-related export options when in a tilted view. Hook up "Cross-sections" to printing on left and right markers. Fri Dec 28 06:30:17 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot,src/: Add options to export dialog to control showing cross-sections, walls and passages. Fri Dec 28 05:53:56 GMT 2012 Olly Betts <olly@survex.com> * src/: Implement exporting of passages (ticket#4) for SVG. Currently it is always on (I'll update the Export dialog shortly). Wed Dec 26 22:21:10 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot,src/commands.c,src/readval.c,src/readval.h,tests/: Add new warning if *begin SURVEY has a separator character in SUVERY. Wed Dec 26 07:29:42 GMT 2012 Olly Betts <olly@survex.com> * lib/en_US.po: Fix clashing menu accelerator. Wed Dec 26 01:46:06 GMT 2012 Olly Betts <olly@survex.com> * src/readval.c: Fix typo in previous change. Tue Dec 25 23:04:06 GMT 2012 Olly Betts <olly@survex.com> * src/readval.c,tests/: Demote errors about invalid dates to warnings, since we've accepted *date for ages without any checks on the value, and so existing datasets probably contain invalid dates and dates in other formats. (ticket#19) Tue Dec 25 22:03:20 GMT 2012 Olly Betts <olly@survex.com> * src/listpos.c: But always leave space for at least 4 digits, so we give exactly the same output as before unless we need the extra width. Mon Dec 24 08:44:04 GMT 2012 Olly Betts <olly@survex.com> * src/listpos.c: Adjust width of node stats table to fit longest count. Sun Dec 23 07:20:53 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Wrap TRANSLATORS comment. Sun Dec 23 07:20:19 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Add missing "c-format" annotation. Sun Dec 23 07:19:22 GMT 2012 Olly Betts <olly@survex.com> * lib/sk.po: Resolve a couple of inconsistencies in translation of similar messages by asking Martin Sluka. Sun Dec 23 05:36:38 GMT 2012 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Thu Dec 20 04:31:22 GMT 2012 Olly Betts <olly@survex.com> * lib/zh_CN.po: Translate another message. Thu Dec 20 03:28:02 GMT 2012 Olly Betts <olly@survex.com> * lib/zh_CN.po: Add space after colon. Thu Dec 20 03:26:15 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Add more TRANSLATORS comments about terminology. Thu Dec 20 03:25:45 GMT 2012 Olly Betts <olly@survex.com> * lib/it.po: Merge two new translations from launchpad. Thu Dec 20 03:24:52 GMT 2012 Olly Betts <olly@survex.com> * lib/en_US.po: Correct "leg" to "shot" in a few places, and translate "Anticlockwise" to "Counterclockwise". Wed Dec 19 10:41:55 GMT 2012 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Remove commented out code to find uses, which is now handled by a separate script. Wed Dec 19 10:36:59 GMT 2012 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Update to read message numbers from references. Tue Dec 18 12:00:40 GMT 2012 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/gla.h: Update to use wxGLContext to avoid deprecation warnings from wx 2.9. Tue Dec 18 11:40:34 GMT 2012 Olly Betts <olly@survex.com> * src/moviemaker.cc: Fix unused parameter warnings when we don't have libavformat available. Tue Dec 18 11:39:40 GMT 2012 Olly Betts <olly@survex.com> * src/glbitmapfont.cc: Fix warning about ambiguous else from wxLogError macro. Tue Dec 18 11:32:32 GMT 2012 Olly Betts <olly@survex.com> * INSTALL,lib/INSTALL.OSX,src/,survex.spec.in: Require at least wxWidgets 2.8.0 - it was released just over 6 years ago now, and the wx developers consider even 2.8 to be rather long in the tooth. I haven't test build with wx 2.6 for more than a year and it's no longer packaged for Debian. Dropping support for older wx allows a number of workarounds to be removed. Tue Dec 18 11:05:24 GMT 2012 Olly Betts <olly@survex.com> * src/: Fix uses of some wx features which are deprecated in wx2.9. Tue Dec 18 10:50:28 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Fix OnSize handling so we can just call event.Skip() (which is the intended approach) rather than explicitly calling the parent class OnSize() method from the subclass OnSize() method. Tue Dec 18 08:23:14 GMT 2012 Olly Betts <olly@survex.com> * src/aven.cc: Fix MSW build to not rely on a GCC extension. Tue Dec 18 07:20:16 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge changes from template. Tue Dec 18 07:06:41 GMT 2012 Olly Betts <olly@survex.com> * lib/,src/Makefile.am,src/gettexttomsg.pl: Eliminate po_codes and just store the message numbers as the line number in a fake source reference to file 'n'. Tue Dec 18 04:13:18 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes,lib/survex.pot: Merge in updated source line numbers. Tue Dec 18 04:11:09 GMT 2012 Olly Betts <olly@survex.com> * lib/extract-msgs.pl,src/Makefile.am: Don't include version in 'Project-Id-Version'. Tue Dec 18 03:13:16 GMT 2012 Olly Betts <olly@survex.com> * lib/: Set Project-Id-Version to just "survex" - the version part just complicates things unnecessarily for our usage. Tue Dec 18 03:00:04 GMT 2012 Olly Betts <olly@survex.com> * tests/Makefile.am,tests/aven.tst: Add new testsuite script (aven.tst) which currently has regression tests for the recently fixed segfault when aven didn't have messages for the requested language. Tue Dec 18 02:19:08 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: Only use ASCII for the handful of hardcoded messages we need for errors loading message files, as it's probably more likely the wrong encoding will be set in such cases. Tue Dec 18 02:02:57 GMT 2012 Olly Betts <olly@survex.com> * src/,tests/: Report column numbers as well as line numbers for some cavern errors and warnings, and update aven's cavern log parser to handle these. Simplify handling of quantity lists to only recognise 'DEFAULT' as the first item. Add more testcases, expand some existing testcases, and expected output for more. Mon Dec 17 22:19:21 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: If we don't find the message file, only give an error if it was specified with SURVEX_LANG, since that is an explicit instruction to Survex, whereas LANG, LC_ALL and LC_MESSAGES are essentially system "preferred locale" settings. * src/aven.cc: Fix reporting of errors from message.c not to crash if the wxApp object hasn't yet been intitialised, and to convert the character encoding correctly. Mon Dec 17 22:17:00 GMT 2012 Olly Betts <olly@survex.com> * lib/Makefile.am: Install zh_CN (Chinese) messages. Mon Dec 17 22:02:43 GMT 2012 Olly Betts <olly@survex.com> * lib/zh_CN.po: Reuse existing translation of "Presentation" for the top level menu name - now all the whole menu bar is translated! Mon Dec 17 11:07:00 GMT 2012 Olly Betts <olly@survex.com> * src/cavernlog.cc: Don't highlight a file:linenumber if there's no message after it, which avoids highlighting the "Included from" lines wrongly. Mon Dec 17 11:04:36 GMT 2012 Olly Betts <olly@survex.com> * tests/: Rename testcase badinc3 to badinc4 and actually run it, and add new badinc3 which tests multiple levels of *include. Add expect output for all the badinc testcases. Mon Dec 17 11:01:02 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: Report the parent include files starting from the outermost, as that's more logical when there are multiple levels involved. Mon Dec 17 10:39:14 GMT 2012 Olly Betts <olly@survex.com> * lib/fr.po: Add translation for new message, adapted from two similar existing messages. Mon Dec 17 10:37:12 GMT 2012 Olly Betts <olly@survex.com> * lib/it.po: Merge a translation from launchpad. Mon Dec 17 09:11:09 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge changes from .pot to .po files. Mon Dec 17 06:37:10 GMT 2012 Olly Betts <olly@survex.com> * lib/,src/datain.c: Move the <filename>:<line> into the message when reporting the include route to the file with the error in it, which allows a more natural translation into German. Mon Dec 17 03:26:40 GMT 2012 Olly Betts <olly@survex.com> * .gitignore: Add src/dump3d. Mon Dec 17 03:24:22 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes,lib/po_codes_dead: Prune strings we aren't using and are probably unlikely to use again into a new file po_codes_dead, so that translators don't get presented with them to translate. * lib/survex.pot: Regenerate. Tue Dec 11 23:07:31 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c,tests/: We want to warn if there's a clino reading which it would be impossible to have read from the instrument (e.g. on a -90 to 90 degree scale you can't read "96" (it's probably a typo for "69"). However, the gradient reading from a topofil is typically in the range 0 to 180, with 90 being horizontal. Really we should allow the valid range to be specified, but for now we infer it from the zero error - if this is within 45 degrees of 90 then we assume the range is 0 to 180. Tue Dec 11 22:29:35 GMT 2012 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Report unused message numbers. Tue Dec 11 22:22:20 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes,lib/survex.pot,src/commands.c,tests/: If the scale factor in *calibrate is zero, flag that as an error - it doesn't make sense and probably means someone reversed the arguments to *calibrate. Mon Dec 03 06:52:22 GMT 2012 Olly Betts <olly@survex.com> * src/readval.c: If we were expecting a numeric field and instead get something which starts with '+', '-', or '.' but which isn't a number, then fix the error to include that character in the token reported. * tests/: Add regression test badreadingdotplus. Mon Dec 03 06:50:51 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst,tests/equatenosuchstn.out,tests/surveytypo.out: Stop trimming output header when we get to copyright line, as there may be an error before the first blank line. Mon Dec 03 06:34:20 GMT 2012 Olly Betts <olly@survex.com> * tests/badinc3.svx: Add new test file, missed in earlier commit. Mon Dec 03 04:18:34 GMT 2012 Olly Betts <olly@survex.com> * src/cavern.c: Use /* */ comments, not //. Mon Dec 03 04:16:40 GMT 2012 Olly Betts <olly@survex.com> * tests/Makefile.am: Add new test suite files. Mon Dec 03 04:13:32 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c,tests/cavern.tst: Fix handling after reporting an error for a bad reading in passage data to not then complain "End of line not blank" but instead check other readings on the same line. * tests/passagebad.svx: Add regression testcase. Mon Dec 03 02:55:33 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst,tests/extend.tst,tests/smoke.tst: Add valgrind hooks to the rest of the tests scripts. Mon Dec 03 02:53:56 GMT 2012 Olly Betts <olly@survex.com> * configure.ac: Fix package name, broken during modernisation of autotools use. Mon Dec 03 02:32:01 GMT 2012 Olly Betts <olly@survex.com> * tests/: Run tools under valgrind in most test scripts if VALGRIND is set. Mon Dec 03 02:29:56 GMT 2012 Olly Betts <olly@survex.com> * tests/smoke.tst: Remove variables which aren't ever used. Mon Dec 03 02:28:45 GMT 2012 Olly Betts <olly@survex.com> * tests/: Make all test scripts report "Test passed" at the end if VERBOSE is set and all testcases in the script passed. Mon Dec 03 01:59:04 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst: If VALGRIND is set, run cavern under valgrind and fail the test if there's an error. Mon Dec 03 01:29:39 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: Refactor to avoid duplicating code for handling clino and backclino. Mon Dec 03 01:29:05 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: Check r is valid before using it at all. Sun Dec 02 23:48:05 GMT 2012 Olly Betts <olly@survex.com> * src/str.c,src/str.h: Inline s_zero() and s_free() since they should optimise down to similar or less code than a function call would. Sun Dec 02 23:47:21 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: s_zero() on a NULL pointer is a no-op, so remove. Sun Dec 02 22:53:34 GMT 2012 Olly Betts <olly@survex.com> * lib/de_CH.po: Consistently use Swiss quoting style. Sun Dec 02 22:51:53 GMT 2012 Olly Betts <olly@survex.com> * src/readval.c: If we're about to longjmp to jbSkipLine, then we can just call compile_error() instead of compile_error_skip(). Sun Dec 02 22:40:07 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: Always skip the current line if we longjmp to jbSkipLine. * tests/cavern.tst,tests/skipafterbadomit.svx: We weren't skipping after complaining about OMIT for a required reading, which the change to always skip fixes, so add a regression test for that. Sat Dec 01 23:42:22 GMT 2012 Olly Betts <olly@survex.com> * src/readval.c: Add a "const". Fri Nov 30 00:31:16 GMT 2012 Olly Betts <olly@survex.com> * lib/it.po,lib/sk.po: Merge more updates from launchpad. Wed Nov 28 06:11:11 GMT 2012 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Wed Nov 28 05:02:26 GMT 2012 Olly Betts <olly@survex.com> * lib/de.po: A few more translations from launchpad. Wed Nov 28 01:56:49 GMT 2012 Olly Betts <olly@survex.com> * lib/,src/sorterr.c: Change "HOW MANY" to "HOW_MANY" to make it clearer this is a placeholder for one argument. Wed Nov 28 01:52:16 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: Don't force Latin 1 if setlocale(LC_MESSAGES, ...) fails. Wed Nov 28 01:51:11 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: Transliterate « and » to " if we don't have them in the current character set (previously we mapped them to << and >>). Wed Nov 28 01:00:53 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge translations from launchpad. Wed Nov 28 00:44:36 GMT 2012 Olly Betts <olly@survex.com> * lib/de_CH.po: Fill gaps from de.po. Wed Nov 28 00:44:05 GMT 2012 Olly Betts <olly@survex.com> * lib/de.po: Merge in new "TRANSLATORS" comments. Wed Nov 28 00:43:39 GMT 2012 Olly Betts <olly@survex.com> * lib/es.po,lib/fr.po,lib/it.po: Merge translations from launchpad. Wed Nov 28 00:11:07 GMT 2012 Olly Betts <olly@survex.com> * lib/pt_BR.po: Merge translations from launchpad. Wed Nov 28 00:00:18 GMT 2012 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Add FIXME to only check % formats for messages which have the "c-format" flag set. Tue Nov 27 23:57:25 GMT 2012 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Fix quote check to handle “” vs »«. Tue Nov 27 23:40:06 GMT 2012 Olly Betts <olly@survex.com> * lib/de.po,lib/po_codes,lib/survex.pot: Reorder messages so the ones in the "View" menu are together in order. Adjust menu accelerators for the German translation to avoid clashes in the View menu. Tue Nov 27 23:14:05 GMT 2012 Olly Betts <olly@survex.com> * lib/de.po: Merge more updates from launchpad. Tue Nov 27 22:30:36 GMT 2012 Olly Betts <olly@survex.com> * lib/de.po: Merge updates from launchpad. Wed Nov 14 05:50:47 GMT 2012 Olly Betts <olly@survex.com> * lib/fr.po: Merge in new translator comments. Sun Nov 04 21:26:29 GMT 2012 Olly Betts <olly@survex.com> * lib/sk.po: Merge changes from Martin Sluka. Sun Nov 04 21:26:01 GMT 2012 Olly Betts <olly@survex.com> * lib/ca.po: Merge in TRANSLATOR comments. Sun Nov 04 21:25:40 GMT 2012 Olly Betts <olly@survex.com> * lib/fr.po: Fix clashing menu accelerator. Fri Nov 02 04:02:16 GMT 2012 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Fri Nov 02 03:58:12 GMT 2012 Olly Betts <olly@survex.com> * lib/mailmsgs.pl: Remove obsolete script. * lib/Makefile.am,lib/po-to-msg.pl: Remove references to *.todo, which we no longer generate. Fri Nov 02 03:46:59 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Add another TRANSLATORS comment. Fri Nov 02 03:25:52 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot: Add TRANSLATORS comments to clarify messages which Eric asked about. Fri Nov 02 03:06:00 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge translation updates. Fri Nov 02 00:32:35 GMT 2012 Olly Betts <olly@survex.com> * src/guicontrol.cc,src/mainfrm.cc: On OS X, F11 is used by the desktop so change the menu shortcut for "Full Screen Mode" to be the OS X standard shortcut Shift-Command-F. Sun Oct 28 04:21:27 GMT 2012 Olly Betts <olly@survex.com> * lib/sk.po: Merge updates from Martin Sluka. Mon Oct 15 04:19:57 GMT 2012 Olly Betts <olly@survex.com> * Makefile.am,configure.ac: Modern automake seems to cope with files required by GNU being generated during the build, so we no longer need to use the "foreign" automake mode. Also use -Werror with automake. Mon Oct 15 02:28:46 GMT 2012 Olly Betts <olly@survex.com> * src/Makefile.am: Remove workaround for GCC 2.95 failing to compile gfxcore.cc - GCC 2.95 is obsolete now. Mon Oct 15 02:27:04 GMT 2012 Olly Betts <olly@survex.com> * src/Makefile.am: Use AM_CPPFLAGS instead of obsolete INCLUDES. Mon Oct 15 02:21:53 GMT 2012 Olly Betts <olly@survex.com> * Makefile.am,buildmacosx.sh,configure.ac,lib/mailmsgs.pl: Update configure.ac from passing version to AM_INIT_AUTOMAKE to passing it to AC_INIT, and fix places which grep out the version. Mon Oct 15 02:08:23 GMT 2012 Olly Betts <olly@survex.com> * buildmacosx.sh,configure.ac,configure.in,doc/Makefile.am, lib/mailmsgs.pl: Rename configure.in to configure.ac to make modern autotools usage. Thu Sep 27 10:41:56 GMT 2012 Olly Betts <olly@survex.com> * src/: Switch read_prefix_*() family of functions to be a single read_prefix() function which tags a bitmask of flags. Thu Sep 27 09:23:41 GMT 2012 Olly Betts <olly@survex.com> * lib/id.po: Resolve clashing menu accelerators. Thu Sep 27 05:37:18 GMT 2012 Olly Betts <olly@survex.com> * src/namecompare.cc: Fix to build with wx2.8. Thu Sep 27 05:25:49 GMT 2012 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Thu Sep 27 05:12:22 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: For determining character set on Unix, check LANG after LC_ALL and LC_CTYPE. For determining language, check LC_ALL before LC_MESSAGES and LANG. Thu Sep 27 04:48:34 GMT 2012 Olly Betts <olly@survex.com> * lib/id.po: Add more translations and fix marking of unused messages. Thu Sep 27 04:07:24 GMT 2012 Olly Betts <olly@survex.com> * lib/Indonesian-5.1.11.isl,lib/Makefile.am,lib/id.po: Add start of Indonesian translation from launchpad. Thu Sep 27 03:56:22 GMT 2012 Olly Betts <olly@survex.com> * lib/: Merge translation updates from launchpad. Thu Sep 27 00:31:24 GMT 2012 Olly Betts <olly@survex.com> * lib/: Remove scripts and data files which are no longer used. Sat Sep 22 05:06:23 GMT 2012 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/mainfrm.h: Don't run incremental search on every key-press, as on a slow machine the short initial search(es) will take a while but not be useful. Instead set a flag, and actually run the search when MainFrm next receives an idle event. Fri Sep 21 06:24:32 GMT 2012 Olly Betts <olly@survex.com> * src/img.h: New leg flag img_FLAG_NOSURVEY. * src/netskel.c: Set img_FLAG_NOSURVEY for nosurvey legs. * src/dump3d.c: Report NOSURVEY leg flag. Fri Sep 21 06:22:29 GMT 2012 Olly Betts <olly@survex.com> * src/Makefile.am: dump3d now needs date.c. Wed Sep 19 22:12:35 GMT 2012 Olly Betts <olly@survex.com> * src/dump3d.c: Add --show-dates option. Fri Sep 07 11:39:06 GMT 2012 Olly Betts <olly@survex.com> * src/namecompare.cc,src/namecompare.h: Add two new files which were in the last release but I failed to commit. Tue Aug 14 09:42:43 GMT 2012 Olly Betts <olly@survex.com> * lib/Makefile.am: Create de_DE.po as a symlink if it doesn't exist. Mon May 28 16:56:27 GMT 2012 Olly Betts <olly@survex.com> * configure.in: -W no longer seems to cause problems with wxWidgets. Mon May 28 16:49:37 GMT 2012 Olly Betts <olly@survex.com> * src/: Remove unused parameter names. Sun May 27 12:24:17 GMT 2012 Olly Betts <olly@survex.com> * src/export.cc: Include "export.h". Fri May 25 14:20:24 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst,test/equatenosuchstn.out: Drop line reporting time taken when comparing output, as that can vary. * src/listpos.c,tests/equatenosuchstn.out: Move "Station X referred to just once" warning after non-existent survey check. * src/,tests/: If survey isn't all connected, still run survey tree checks and report errors and/or warnings which might suggest typo locations. Tue Feb 28 00:41:15 GMT 2012 Olly Betts <olly@survex.com> * tests/diffpos.tst: Force English messages for diffpos tests too. Tue Feb 28 00:39:45 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst: Force English messages so comparing expected output works whatever the current language setting. Fri Feb 24 00:43:04 GMT 2012 Olly Betts <olly@survex.com> * tests/cavern.tst,tests/equatenosuchstn.out: Fix test failure due to Survex version number appearing in expected output. Thu Feb 23 22:34:52 GMT 2012 Olly Betts <olly@survex.com> * make_release: Link mingw build statically to avoid needing libgcc DLL. Wed Feb 22 23:39:25 GMT 2012 Olly Betts <olly@survex.com> * configure.in,src/gla-gl.cc: The Debian mingw-w64 packages lack GL/glext.h so test for it in configure. Wed Feb 22 23:29:29 GMT 2012 Olly Betts <olly@survex.com> * src/cavernlog.cc: Remove variable which is only assigned to and never read. Wed Feb 22 22:09:02 GMT 2012 Olly Betts <olly@survex.com> * NEWS,src/Makefile.am: Disable building findentrances by default so I can get 1.2.6 out without further delays as it fixes processing .svx files from aven under Mac OS X. Wed Feb 22 11:35:40 GMT 2012 Olly Betts <olly@survex.com> * src/datain.c: Remove return type from data_normal() etc as we never use it. Wed Feb 22 05:11:53 GMT 2012 Olly Betts <olly@survex.com> * make_release: Update to work with Debian mingw-w64 packages. Mon Feb 20 05:08:26 GMT 2012 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.6. Sun Feb 19 10:48:37 GMT 2012 Olly Betts <olly@survex.com> * doc/3dformat.htm: Merge in some improvements from Mike McCombe. Fri Feb 17 03:49:59 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: Fix so that cavern run by aven finds its messages. Thu Feb 16 01:36:54 GMT 2012 Olly Betts <olly@survex.com> * Makefile.am,survex.iss.in: Include JPG images in Innosetup installer. (ticket#35) Fri Jan 27 13:30:54 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes,lib/survex.pot,src/Makefile.am,src/findentrances.cc: Make all messages in findentrances translatable. Fri Jan 27 11:03:28 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes,lib/survex.pot,src/listpos.c,tests/: If we have a reference to a station in a non-existent survey, give a helpful error rather than saying the station hasn't been exported from the survey. Tue Jan 24 23:03:10 GMT 2012 Olly Betts <olly@survex.com> * src/cavern.c: Remove TRANSLATE comment which has already been addressed. Tue Jan 24 10:56:14 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Add commenting noting precision of lat and lon. Tue Jan 24 10:55:19 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Don't include carriage returns in .gpx output. Tue Jan 24 10:42:41 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Add GPL licence boilerplate (Olaf OKed this in <20120111115239.1b162450@ghost>). Tue Jan 24 04:53:30 GMT 2012 Olly Betts <olly@survex.com> * src/Makefile.am,src/findentrances.cc: Build findentrances in the buildsystem. Tue Jan 24 04:41:03 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Update examples of usage to reflect "-s" change. Tue Jan 24 04:38:11 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Use string::assign() rather than constructing a temporary string object and assigning that. Tue Jan 24 04:35:25 GMT 2012 Olly Betts <olly@survex.com> * src/cmdline.c: Allow help argument to cmdline_init() to be NULL. Tue Jan 24 04:35:04 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Support --help and --version options. Tue Jan 24 04:27:15 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: "using namespace std;" Tue Jan 24 04:25:09 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Give error if required -d option is not specified. Tue Jan 24 04:19:29 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Other survex tools use -s for "limit operation to this survey prefix" and just take the .3d file to operate on as a command line argument, so for consistency just take the .3d file as a command line argument here too. Tue Jan 24 04:18:41 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Reindent with 4 space indent, tab width 8. Tue Jan 24 04:12:19 GMT 2012 Olly Betts <olly@survex.com> * src/findentrances.cc: Add findentrances utility from Olaf. Tue Jan 10 12:57:08 GMT 2012 Olly Betts <olly@survex.com> * lib/survex.pot,lib/zh_CN.po: Update. Tue Jan 10 12:56:33 GMT 2012 Olly Betts <olly@survex.com> * lib/po_codes: Update locations. Tue Jan 10 12:55:25 GMT 2012 Olly Betts <olly@survex.com> * lib/Makefile.am: When generating survex.pot from po_codes, drop the codes from commented out messages too. Mon Jan 09 12:21:28 GMT 2012 Olly Betts <olly@survex.com> * src/aven.cc: Fix to build with a non-Unicode wxWidgets library. Patch from Olaf Kahler. Fri Jan 06 11:47:59 GMT 2012 Olly Betts <olly@survex.com> * lib/: Touch all the .po files. Fri Jan 06 11:47:10 GMT 2012 Olly Betts <olly@survex.com> * lib/touch-po.pl: New script to "touch" a .po file by updating "PO-Revision-Date:". Fri Jan 06 11:34:16 GMT 2012 Olly Betts <olly@survex.com> * lib/,src/Makefile.am,src/gettexttomsg.pl: Rename codes.po to po_codes so it doesn't get picked up by tools looking for .po files. Add survex.pot to the repo so launchpad's auto translation syncing can work. Fri Jan 06 11:25:23 GMT 2012 Olly Betts <olly@survex.com> * make_release: Update to use git rather than SVN. Fri Jan 06 11:19:37 GMT 2012 Olly Betts <olly@survex.com> * doc/HACKING.htm: Update mention of "SVN tree" to "source tree" as the files mentioned are shipped in releases too. Wed Jan 04 05:22:32 GMT 2012 Olly Betts <olly@survex.com> * lib/Makefile.am: Make the containing directory in the launchpad tarball “survex-trans”. Wed Jan 04 03:41:40 GMT 2012 Olly Betts <olly@survex.com> * src/dump3d.c: Add support for showing img_ERROR_INFO items. Tue Jan 03 23:54:26 GMT 2012 Olly Betts <olly@survex.com> * lib/fr.po: Incorporate a translation from launchpad I'd previously copied the English version of by mistake. Attempt to correct mistranslation of "survey file". Tue Jan 03 13:21:09 GMT 2012 Olly Betts <olly@survex.com> * make_release: Need to set VERSION before we first use it! Tue Jan 03 12:39:38 GMT 2012 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.5. Tue Jan 03 12:11:14 GMT 2012 Olly Betts <olly@survex.com> * doc/survex.7.in: Make a few minor improvements to the text. Tue Jan 03 12:07:31 GMT 2012 Olly Betts <olly@survex.com> * doc/survex.7.in: Update section in .TH macro to 7 too. Tue Jan 03 12:04:54 GMT 2012 Olly Betts <olly@survex.com> * src/moviemaker.cc: Further fix. Tue Jan 03 11:05:11 GMT 2012 Olly Betts <olly@survex.com> * configure.in,src/moviemaker.cc: Fix to work with newer ffmpeg. Mon Jan 02 13:10:42 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc: Draw measuring line above indicators rather than underneath them. Mon Jan 02 12:52:47 GMT 2012 Olly Betts <olly@survex.com> * src/message.c: Improve handling of messages before the message subsystem is fully initialised. Mon Jan 02 12:37:18 GMT 2012 Olly Betts <olly@survex.com> * src/Makefile.am,src/mainfrm.cc,src/namecmp.h: Add a version of the station name comparing algorithm which works with the Unicode strings directly, which fixes the issue with random ordering of the prefix tree control in aven due to the converted strings we were comparing getting invalidated before we actually compared them. Mon Jan 02 12:12:35 GMT 2012 Olly Betts <olly@survex.com> * src/gla-gl.cc: If glGenLists() fails, flag the list as NEVER_CACHE as there's unlikely to be much point calling glGenLists() again. * src/gla-gl.cc,src/gla.h: Replace GLAList methods test_flag() and InvalidateList() with an invalidate_if() method. Mon Jan 02 11:54:38 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc: No need to invalidate the display lists for the compass and clino when a new survey is loaded as they don't depend on the survey data. Mon Jan 02 11:17:51 GMT 2012 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/gla.h: Rework list caching code to not call glDeleteLists() and glGenLists() when a list is invalidated, as that results in a fresh list number being allocated (at least with the OpenGL implementation I'm using) which would eventually result in aven hitting an assertion which is there to catch if we leak lists. Sun Jan 01 13:29:03 GMT 2012 Olly Betts <olly@survex.com> * lib/Makefile.am: Put translation files in a sub-directory in the tarball, and print the path to it so it can be cut-and-pasted to upload to launchpad. Sun Jan 01 10:48:01 GMT 2012 Olly Betts <olly@survex.com> * lib/it.po: Add "translation" for degree symbol. Sun Jan 01 10:33:55 GMT 2012 Olly Betts <olly@survex.com> * lib/en_US.po: Merge template changes into en_US.po (no user-visible changes). Sun Jan 01 04:45:03 GMT 2012 Olly Betts <olly@survex.com> * make_release: Fix typo in filename to copy to webserver. Show the SHA1 checksums for the uploaded files. Sun Jan 01 02:56:04 GMT 2012 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.4. Sun Jan 01 02:53:03 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Update copyright years. Sun Jan 01 02:32:59 GMT 2012 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Improve labelling of depth colour key to avoid sub-picometre precision on near-zero values (ticket#30). We now always use metres or feet for the depth with a consistent precision chosen from the depth range, and show the units below the colour bar rather than after every value. * src/gfxcore.cc,src/gfxcore.h: When zooming way in, stay in metres rather than switching to cm. Say “1 mile” rather than “1 miles”. Sat Dec 31 22:40:07 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix not to make OpenGL calls before we've initialised OpenGL, as this can cause segmentation faults (e.g. on Fedora 16). Extend CHECK_GL_ERROR() to check that we don't make such calls in future. Sat Dec 31 22:37:47 GMT 2011 Olly Betts <olly@survex.com> * lib/es.po: Fix "Last-Translator:" header and merge in translation of a message which is not currently used. Sat Dec 31 15:04:23 GMT 2011 Olly Betts <olly@survex.com> * lib/: Merge remaining .po files. Sat Dec 31 14:46:20 GMT 2011 Olly Betts <olly@survex.com> * lib/: Merge more .po files. Sat Dec 31 14:24:25 GMT 2011 Olly Betts <olly@survex.com> * lib/ca.po,lib/de_CH.po,lib/en_US.po: Merge template changes into .po files. Sat Dec 31 13:13:55 GMT 2011 Olly Betts <olly@survex.com> * lib/fr.po: More translation updates from launchpad. Sat Dec 31 12:51:53 GMT 2011 Olly Betts <olly@survex.com> * lib/ca.po,lib/sk.po: Fix unattached acute accents. Sat Dec 31 12:45:36 GMT 2011 Olly Betts <olly@survex.com> * lib/: Update Project-Id-Version in .po files to match that in survex.pot. Sat Dec 31 12:43:52 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Add launchpad-tarball target to make a tarball of the translations suitable for uploading to launchpad. Sat Dec 31 12:23:39 GMT 2011 Olly Betts <olly@survex.com> * make_release: Echo the commands to copy the new release to the web server at the end. * copy-prerelease,copy-release: Remove old scripts which are no longer useful. Sat Dec 31 11:13:11 GMT 2011 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.3. Sat Dec 31 10:58:34 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: As we build the data structure, eliminate tubes consisting of zero XSECTs as well as those consisting of just one. Sat Dec 31 10:36:24 GMT 2011 Olly Betts <olly@survex.com> * src/img.h: Fix incorrect comment which claimed that img_XFLAG_END was no longer used. * src/img.c: Use img_XFLAG_END constant rather than assuming it is 1. Sat Dec 31 10:32:44 GMT 2011 Olly Betts <olly@survex.com> * src/extend.c: Copy the end markers for passage tubes, and preserve left and right data for tubes (previously they were set to -1.0 which means "no info"). Sat Dec 31 08:17:08 GMT 2011 Olly Betts <olly@survex.com> * lib/extract-msgs.pl: New script to allow developers to update codes.po from source code. * lib/Makefile.am: Ship it. * src/Makefile.am: Add rule to run it on all used sources and generate newcodes.po which can then be compared with current version. Sat Dec 31 08:14:06 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po: Update source locations, add a missing c-format marker. Sat Dec 31 08:13:26 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix a message in the source code which I missed in the previous batch. Sat Dec 31 08:12:23 GMT 2011 Olly Betts <olly@survex.com> * lib/po-to-msg.pl: Removed unused remains of check that messages are in numerically ascending order, which we no longer want to enforce. Sat Dec 31 07:48:20 GMT 2011 Olly Betts <olly@survex.com> * src/sorterr.c: Fix a message in the source code which I missed in the previous batch. Sat Dec 31 05:54:45 GMT 2011 Olly Betts <olly@survex.com> * src/message.c: Transliterate curly right single quote to ASCII apostrophe if we can't represent it in the current character set. Sat Dec 31 05:44:47 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/: Use curly apostrophe instead of "'" in messages. Correct messages in source code which didn't match those in the message file (no visible effects to end-users). * lib/codes.po: Update file:lineno locations where messages are used. * lib/po-to-msg.pl: Warn about different numbers of opening or closing curly double quotes in message vs translation. * lib/ca.po,lib/es.po: Fix minor typo in one message caught by this new warning. Sat Dec 31 05:23:46 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Thu Dec 29 03:37:04 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/: Use curly double quotes instead of "`" and "'" to quote literals and filenames in messages. Thu Dec 29 03:21:49 GMT 2011 Olly Betts <olly@survex.com> * src/message.c: Transliterate curly double quotes to ASCII straight double quotes if we can't represent them in the current character set. Thu Dec 29 03:14:52 GMT 2011 Olly Betts <olly@survex.com> * src/message.c: Convert source code to UTF-8. Thu Dec 29 00:52:44 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix typo in CHECK_GL_ERROR() change in previous commit. Thu Dec 29 00:49:31 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: We already keep track of the GL canvas size in x_size and y_size so use those rather than re-requesting them. Wed Dec 28 11:45:40 GMT 2011 Olly Betts <olly@survex.com> * lib/fr.po: Merge in updated translations from launchpad. Sun Nov 27 12:30:31 GMT 2011 Olly Betts <olly@survex.com> * src/tr.c,src/tr.h: Committing original versions of tr tiled rendering code. Thu Nov 24 12:59:24 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Remove GLACanvas::SetBackgroundColour() since we only ever set it to black and opaque. Thu Nov 24 12:28:07 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Add note to pick the fastest method for crosses/blobs if multiple ones pass the visual fidelity check. Thu Nov 24 12:27:33 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Add disabled code to show the visual fidelity check on stdout. Thu Nov 24 12:24:49 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix screenshot and movie generation to read from the front buffer in the usual case of being double buffered. Thu Nov 24 12:02:22 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Add CHECK_GL_ERROR for glReadPixels calls. Thu Nov 24 11:59:23 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Undefine o and I after we're done with them. Thu Nov 24 11:56:57 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix expected cross shape so don't always reject using texture mapping to draw crosses. Wed Nov 02 15:40:45 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Don't create the help menu at all on OS X. Wed Nov 02 15:38:54 GMT 2011 Olly Betts <olly@survex.com> * lib/INSTALL.OSX: Update to reflect current status. Wed Nov 02 15:37:58 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Remove duplicate call to PopupMenu(). Tue Nov 01 23:24:23 GMT 2011 Olly Betts <olly@survex.com> * src/namecmp.h: Fix to build with wx 2.9.2. Tue Nov 01 23:17:52 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Remove assertion which uses deprecated wx method. Tue Nov 01 23:14:09 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/mainfrm.h: Make separator wxChar not int. Tue Nov 01 18:54:32 GMT 2011 Olly Betts <olly@survex.com> * lib/sk.po: Update a translation from launchpad. Tue Nov 01 18:32:24 GMT 2011 Olly Betts <olly@survex.com> * src/log.cc,src/log.h: Fix to build with wx 2.9.2. Tue Nov 01 18:15:20 GMT 2011 Olly Betts <olly@survex.com> * src/export.cc: Fix to build with wx 2.9.2. Tue Nov 01 18:14:13 GMT 2011 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Fix code conditionally used on 2.9.2 and later to actually compile. Tue Nov 01 18:12:42 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Fix how we pass on events from right-click menus of indicators. The previous code seemed to work, but wasn't correct as highlighted by trying to build it with 2.9.2 which now refuses to build to avoid people getting this wrong. Tue Nov 01 18:11:55 GMT 2011 Olly Betts <olly@survex.com> * src/aven.h: Need to forward declare class wxPageSetupDialogData for wx 2.9.2. Tue Nov 01 18:11:22 GMT 2011 Olly Betts <olly@survex.com> * src/glbitmapfont.h: Fix to build with wx 2.9.2. Tue Nov 01 18:10:51 GMT 2011 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix to build with wx 2.9.2. Tue Nov 01 18:06:12 GMT 2011 Olly Betts <olly@survex.com> * lib/INSTALL.OSX,src/mainfrm.cc: Make the green colour used for entrances in the survey tree the same (slightly darker than before) green used for the entrance blobs. Tue Nov 01 18:04:47 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix warning when building with wx2.9.2. Tue Nov 01 12:32:30 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Fix Y coordinates of surface surveys on printouts. (Closes #32) Sun Oct 23 06:20:14 GMT 2011 Olly Betts <olly@survex.com> * lib/Info.plist.in: Remove spurious blank lines from licence text in OS X "Get Info". Sat Oct 22 17:39:07 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Opening dialogs while in full screen mode now works better in wxGTK. Sat Oct 22 17:36:01 GMT 2011 Olly Betts <olly@survex.com> * lib/INSTALL.OSX: Processing .svx files from aven now works. Sat Oct 22 07:27:43 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.h: Update comment - Mac OS X does indeed provide its own preview menu. Fri Oct 21 23:47:16 GMT 2011 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix openiof .svx file when user clicks on cavern warning or error. Fri Oct 21 23:43:21 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Include a hardlinked cavern alongside aven in the app so that processing .svx files in aven works. Wed Oct 19 22:51:18 GMT 2011 Olly Betts <olly@survex.com> * tests/diving.pos,tests/diving.svx: Add test coverage for interleaved diving data. Wed Oct 19 13:04:25 GMT 2011 Olly Betts <olly@survex.com> * tests/diving.pos,tests/diving.svx: Add testcase for diving data with topofil-style distance. Wed Oct 12 03:45:13 GMT 2011 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Report the version of the library we're actually running with if built against wx >= 2.9.2. Make it clear that the the version reported is the version built with for wx < 2.9.2. Wed Oct 12 03:06:05 GMT 2011 Olly Betts <olly@survex.com> * lib/make-pixel-font,src/glbitmapfont.cc,src/glbitmapfont.h: Space the glyphs to leave a one pixel gap either side of each one (so two between adjacent glyphs). Mostly this reduces the horizontal width, but it adds a pixel for characters like "m" and two in a few cases. Fri Oct 07 07:20:55 GMT 2011 Olly Betts <olly@survex.com> * src/glbitmapfont.cc,src/glbitmapfont.h: Support plotting Unicode character points > 256 on the survey pane by lazily loading the data for them from the font file and plotting them with a direct call to glBitmap() rather than using a display list. Fri Oct 07 04:09:58 GMT 2011 Olly Betts <olly@survex.com> * lib/make-pixel-font: Fix .pixelfont file to correctly handle characters wider than 8 pixels when run on a little-endian platform. Thu Oct 06 13:23:05 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Another update for 1.2.2. Thu Oct 06 13:21:20 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Fix grid not to disappear when blobs are turned on if blobs are drawn using lines. Thu Oct 06 13:17:19 GMT 2011 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.2. Thu Oct 06 12:11:20 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Fix to calculate the scale required for "One page" right before we calculate how many pages are required, so we don't end up something other than 1x1 being shown when the user changes settings. Thu Oct 06 12:07:10 GMT 2011 Olly Betts <olly@survex.com> * src/avenprcore.cc: The info box is now always 30mm high (if present) so update the code which picks a scale and which decides how many pages are required to use this height. Thu Oct 06 11:34:51 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.h: SomethingChanged() method doesn't need to be public, so make it private. Thu Oct 06 04:13:24 GMT 2011 Olly Betts <olly@survex.com> * src/gettexttomsg.pl: Update for the message.txt -> codes.po change. Thu Oct 06 03:01:45 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Passage tubes can stick out above the highest survey station or below the lowest, so clamp the value used to calculate the colour in these cases, like we already do elsewhere. Thu Oct 06 02:52:13 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Avoid a different assertion failure due to rounding differences. Thu Oct 06 02:49:03 GMT 2011 Olly Betts <olly@survex.com> * src/glbitmapfont.cc,src/glbitmapfont.h: Actually add the new glBitmap-based font code. Thu Oct 06 02:36:47 GMT 2011 Olly Betts <olly@survex.com> * survex.iss.in: Update for font changes. Thu Oct 06 02:35:41 GMT 2011 Olly Betts <olly@survex.com> * Makefile.am,buildmacosx.sh,lib/Makefile.am,lib/afm2txf.pl, lib/make-pixel-font,src/: Replace the textured-mapped font drawing with an approach based on glBitmap. This doesn't suffer from the character alignment issues which the textured-mapped fonts had, and is actually significantly faster on some machines. The current font used is (mostly) fixed-width, but this isn't an inherent limitation - it was just the easiest font data to convert to a usable format. Wed Oct 05 13:49:15 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Avoid assertion failure due to rounding differences. Wed Oct 05 08:19:46 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Fix not to pass wxString through varargs (issue introduced in the previous commit). Tue Oct 04 04:49:19 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Use degree sign from message file rather than a literal one. Tue Oct 04 04:08:57 GMT 2011 Olly Betts <olly@survex.com> * src/message.c: If degree sign isn't available, transliterate it to 'dg' rather than skipping it. Tue Oct 04 03:59:29 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/gfxcore.cc,src/mainfrm.cc: Fix message code 344 which should have been a degree sign but got lost in the format change for 1.2.0 and then got reassigned in 1.2.1. Externally, this means that bearing in the status bar now have a degree sign after them if they are in degrees rather than nothing (1.2.0) or "&Hide Compass" (1.2.1). Tue Oct 04 02:55:11 GMT 2011 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.1. Tue Oct 04 02:45:47 GMT 2011 Olly Betts <olly@survex.com> * src/Makefile.am: Don't ship the removed hand_mask.xpm. Tue Oct 04 02:44:37 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Sort out inverted cursor mask on __WXMSW__. * src/hand.xbm: Invert the dragging hand cursor black vs white so it better matches the other cursors. Mon Oct 03 23:42:00 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Add back svxPrintout methods GetPageInfo() and HasPage() which are actually virtual methods called by the parent class. Mon Oct 03 02:40:56 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Fix check of .po files not to create messages.mo. Mon Oct 03 02:22:55 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Fix new translation checking rules to work in a VPATH build. Mon Oct 03 02:12:23 GMT 2011 Olly Betts <olly@survex.com> * lib/de.po,lib/de_CH.po,lib/sk.po: Fix classes menu accelerators. Mon Oct 03 02:00:38 GMT 2011 Olly Betts <olly@survex.com> * lib/en_US.po: Fix problem with translation of new message. Mon Oct 03 00:50:52 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Sun Oct 02 20:25:01 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/printwx.cc: Add mnemonics to the "Plan" and "Elevation" buttons in the print dialog. Sun Oct 02 12:17:34 GMT 2011 Olly Betts <olly@survex.com> * src/guicontrol.cc: Try processing F11 explicitly for __WXMAC__ to avoiding getting stuck in full screen mode forever. Sun Oct 02 12:01:25 GMT 2011 Olly Betts <olly@survex.com> * src/: Make the sign of the tilt angle for printouts consistent with the sign in the UI. Sun Oct 02 10:00:08 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,lib/en_US.po,src/printwx.cc: On printouts, combine the "Plan View"/"Elevation" info box field with the field which gives the bearing and reduce the height on the info box by the removed field, so it's now 3cm for plans and elevations, as for extended elevations. Report the tilt angle for tilted elevations which it seems has been missing for ages (it's not in recent 1.0.x either). Sat Oct 01 12:28:35 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Fix commented message in source. Sat Oct 01 12:11:37 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.h: svxPrintDlg members don't need to be protected, so make the private. Sat Oct 01 11:28:34 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc,src/printwx.h: When in plan view disable the "Plan" button, and similarly for the "Elevation" button. Sat Oct 01 11:20:03 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Remove more unused methods and members. Sat Oct 01 10:48:24 GMT 2011 Olly Betts <olly@survex.com> * src/avenprcore.cc,src/printwx.cc,src/printwx.h: Eliminate some unused methods and member variables. Sat Oct 01 00:33:24 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Move the footer to start at the left side of the page. Fri Sep 30 23:49:24 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc:svxPrintout::ShowPage() is an empty method, so just remove it and all the code to calculate values to pass to it and then call it. This is just a left-over from the 1.0 printing code. Fri Sep 30 13:40:29 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc,src/gfxcore.cc,src/mainfrm.cc: Use standard C++ true and false instead of wx aliases TRUE and FALSE (which even wx seems to have shifted away from using now). Fri Sep 30 13:33:37 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: Tweak exact positioning of text to look nicer. Fri Sep 30 03:49:16 GMT 2011 Olly Betts <olly@survex.com> * INSTALL: Mention building wxWidgets with --enable-unicode. Mention using sudo for the install. Capitalise Survex when talking about the package. + doc/manual.sgml: Replace building from source instructions with a pointer to the clearer instructions in INSTALL. Make it clear that installing with administrator rights applies to NT, 2000, XP *or newer*. Fri Sep 30 03:31:00 GMT 2011 Olly Betts <olly@survex.com> * src/guicontrol.cc: Don't disable a colour by option unless there's no survey loaded. It feels inconsistent now we are showing a key even when there's no "interesting" data. Fri Sep 30 03:28:59 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: The different colour keys get cached so switching back to one that's already been shown for the current survey doesn't redraw it and key_lowerleft wasn't getting updated. We now track key_lowerleft for each key type separately. Fri Sep 30 02:48:00 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: If "Colour by X" is selected, always show the colour key, even if it only contains one colour, or just the entry for white. Thu Sep 29 22:33:06 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Don't segfault on a flat survey. Fix incorrect addition and corresponding subtraction of GetDepthExtent() when calculating splits over depth band boundaries. Thu Sep 29 21:56:19 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla.h: Fix zoom in limit to be the same distance regardless of the extent of the survey. Thu Sep 29 20:57:41 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Now that we don't have the key background, just remove KEY_MARGIN entirely. Thu Sep 29 20:37:09 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Remove the dark grey background from the colour key and just put a single pixel black border around the colours. This is more in keeping with the other controls, and means the colours are now on a black background so more visually similar to the survey legs. Thu Sep 29 13:02:22 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fall back to ISO8859-1 if CP1252 fails to convert the string. Thu Sep 29 12:22:34 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Upon loading a survey which lacks the information for the current "Colour by" mode, don't change to "Colour by none" - we already do no colouring and hide the key when there's nothing to colour by, and it's annoying to have the actual mode changed if you then load a survey which does have the information to colour by. Thu Sep 29 12:20:07 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Rename COLOUR_KEY_* constants to KEY_*. Thu Sep 29 10:16:30 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Make COLOUR_KEY_OFFSET_X and COLOUR_KEY_OFFSET_Y the actual offsets, rather than taking COLOUR_KEY_MARGIN off them. Thu Sep 29 05:08:20 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix tooltip for open to say "survey file" not "3D file". Thu Sep 29 05:03:37 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h,src/mainfrm.cc: Add right click menu to the colour key too. Wed Sep 28 14:47:15 GMT 2011 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Add a kludge to prefer to round values up when generating the .txf file which empirically results in better horizontal spacing (this should be fixed properly, but this is at least an easy improvement for now). Wed Sep 28 14:00:14 GMT 2011 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Rather than special-casing the character with PostScript name 'space', just omit characters with zero width and height from the texture. Wed Sep 28 12:41:42 GMT 2011 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Put the digits first in the font texture to help ensure they are all on the same line and will exactly align vertically when rendered - a slight discrepancy here is particularly visible in the colour key legends and compass bearing. Wed Sep 28 12:30:03 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Regenerate aven.txf if the script which generates it has been modified. Wed Sep 28 11:15:08 GMT 2011 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Fix handling of PostScript character names which are used by more than one Unicode value ("space" and "hyphen" are the current examples). This fixes the colour key for date to have dashes in the dates. Fix not to bother writing empty space into the texture map for spaces - just set width and height to 0 and skip to the width. * src/fnt.cc: Remove special case kludge for if space isn't defined, which is no longer needed thanks to the above fix. Wed Sep 28 10:19:07 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/printwx.cc: Fix mixed up messages - the print dialog now says "View" on the left subgroup of controls. Improve the display of the bearing on printouts. Add message for "Colour &Key" to translations. Wed Sep 28 02:02:09 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc: Fix #ifdef to #if in previous change. Wed Sep 28 01:09:09 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc: Fix for non-Unicode build. Mon Sep 26 12:25:59 GMT 2011 Olly Betts <olly@survex.com> * src/export.cc: PLT file output now handles spaces and control characters in station names by escaping them with '%' as in URLs. Mon Sep 26 11:58:05 GMT 2011 Olly Betts <olly@survex.com> * src/aventreectrl.cc: Improve comment about WXK_PRIOR and WXK_NEXT. Mon Sep 26 11:51:01 GMT 2011 Olly Betts <olly@survex.com> * src/aventreectrl.cc: Pressing "Enter" on a station in the tree control now centres the view on that station. Mon Sep 26 11:42:17 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.h,src/guicontrol.cc: Pressing "F5" forces all GLAList objects to be invalidated and then forces a refresh of the display. This is intended as a debugging aid - if pressing F5 changes the display at all then there's a missing case where a list should have been invalidated. Mon Sep 26 11:35:29 GMT 2011 Olly Betts <olly@survex.com> * src/: Push survey pane size tracking down into GLACanvas, and automatically track which lists should be invalidated on a changes in the width or the height of the pane. Mon Sep 26 10:44:22 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/gla.h: Move GLAList flags out of the header as they are internal details. Mon Sep 26 10:42:50 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Cache the scale bar in a GLAList since it often gets redrawn exactly the same - for example, when rotating, panning, etc. Mon Sep 26 09:40:32 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: More "colour key" related internal nomenclature changes. Mon Sep 26 09:34:01 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Factor out the code to draw the colour key into DrawColourKey(). Mon Sep 26 04:23:10 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Apply COLOUR_KEY_OFFSET_Y by moving the point where we plot the key rather than including it in the calculations of the key's coordinates. Mon Sep 26 04:17:16 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Apply COLOUR_KEY_OFFSET_X by moving the point where we plot the key rather than including it in the calculations of the key's coordinates. Sat Sep 24 13:15:22 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Increase scale bar maximum width from 65% of the window width to 75% as it was in 1.0.x, but if that would overlap the clino then reduce it down until it reaches 50%. Allow zooming in a little further to match what was possible in 1.0.x. (ticket#23) Sat Sep 24 12:45:04 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Update (--help messages can now be translated). Sat Sep 24 12:21:45 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Note oddity with FullScreen and side panel. Sat Sep 24 12:14:52 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.h: We don't need the "un-fullscreen to show dialog" hack with recent wxGTK. Also, there's no reason to think we need it for other platforms (it was enabled everywhere except Microsoft Windows before). Sat Sep 24 10:42:29 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.cc: "delete foo;" not "delete(foo);" Sat Sep 24 10:41:00 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc,src/gfxcore.cc: No point checking for NULL before calling delete. Sat Sep 24 10:18:22 GMT 2011 Olly Betts <olly@survex.com> * src/: Remove empty destructors. Sat Sep 24 06:43:33 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm,src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Eliminate the last few OpenGL calls from gfxcore.cc. Sat Sep 24 06:32:02 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: New type GLATexCoord to avoid using GLint outside of the OpenGL-specific code. Sat Sep 24 06:08:13 GMT 2011 Olly Betts <olly@survex.com> * src/: Move glTexCoord2i() calls out of gfxcore.cc and into gla-gl.cc. Use BeginQuadrilaterals() rather than BeginPolygon() when the shape will definitely have 4 sides. Sat Sep 24 02:09:48 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.h,src/guicontrol.cc: Disable "View North" when we're already viewing North, and similarly for other compass points. Sat Sep 24 01:57:06 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Update. Fri Sep 23 15:38:36 GMT 2011 Olly Betts <olly@survex.com> * doc/aven.sgml,lib/codes.po,src/: Rename the "depth bar" to "colour key", which better describes it now that it might show dates or errors. Fri Sep 23 15:19:33 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h,src/guicontrol.cc: Fix the conditions under which colour by date can be enabled to fully match what we now intend. Fri Sep 23 15:04:35 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/mainfrm.cc: Enable "colour by date" if there are any surveys with date information. Move the "Undated" / "Not in loop" entry down a little to improve the appearance. Make each entry in the colour keys a pixel taller so it's an even number of pixels and will divide by two exactly. Fri Sep 23 14:59:33 GMT 2011 Olly Betts <olly@survex.com> * src/fnt.cc: Remove "*1.25" fudge factor from font size for texture mapped fonts. Fri Sep 23 12:44:18 GMT 2011 Olly Betts <olly@survex.com> * lib/en_US.po: Update for new messages. Fri Sep 23 12:41:16 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Expand context menu for compass to include "View North", etc; Similarly add "Plan" and "Elevation" to clino context menu. Fri Sep 23 12:25:10 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Use += to make code clearer. Fri Sep 23 12:16:36 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/gfxcore.cc,src/gfxcore.h,src/guicontrol.cc: Add pop-up menus for right clicks on scale bar, compass, and clino. Fri Sep 23 11:17:31 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Use HasRangeOfDates() consistently. Thu Sep 22 23:56:06 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Add missing newline to OpenGL info when GLX info isn't reported. Thu Sep 22 13:51:55 GMT 2011 Olly Betts <olly@survex.com> * survex.spec.in: Man pages are no longer installed in /usr/man so no need to move them from there. Package aven.svg. Package files for vim support. (Fixes from James Begley) Thu Sep 22 12:45:58 GMT 2011 Olly Betts <olly@survex.com> * lib/: Updates from launchpad. Thu Sep 22 07:12:22 GMT 2011 Olly Betts <olly@survex.com> * lib/: Update .po files from template. Thu Sep 22 07:12:01 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po: Improvements to "TRANSLATORS" comments. Thu Sep 22 02:47:33 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Add check that numeric codes haven't escaped into the translated .po files. Wed Sep 21 14:38:16 GMT 2011 Olly Betts <olly@survex.com> * lib/es.po: Update with new msgids. Wed Sep 21 14:37:53 GMT 2011 Olly Betts <olly@survex.com> * lib/en_US.po: Fix typo (doubled "). Wed Sep 21 14:37:14 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Check format of .po files with msgfmt -c --check-accelerators. Wed Sep 21 13:49:05 GMT 2011 Olly Betts <olly@survex.com> * lib/en_US.po: Update en_US translation. Wed Sep 21 13:47:36 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/cad3d.c: Tweak wording of a message. Remove "unused" messages which have actually just been adapted slightly, add back a removed unused message, and mark an unused message as unused. ` Wed Sep 21 13:20:58 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/mainfrm.cc: Make more messages translatable. Wed Sep 21 12:53:02 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/: cmdline_set_syntax_message() now takes message numbers, plus an optional string argument. Wed Sep 21 12:17:19 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix to set the correct filename on the root of the survey tree. Wed Sep 21 11:25:53 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/log.cc,src/mainfrm.cc,src/printwx.cc: Make more messages translatable. Wed Sep 21 07:30:28 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/dump3d.c,src/gfxcore.cc,src/mainfrm.cc: Make more messages translatable. In the colour key for "colour by date", change "No info" to "Undated". Wed Sep 21 04:20:52 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/cavernlog.cc: Allow the "Reprocess" button label in aven's cavern log window to be translated. Wed Sep 21 04:07:29 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/: Extract all the help strings in --help output and make them available for translation. Wed Sep 21 04:04:31 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Check there are no duplicate message codes in codes.po as part of "make check". Wed Sep 21 02:29:21 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Eliminate glReadPixels() call from src/gfxcore.cc. Wed Sep 21 02:28:21 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,lib/en_US.po,src/aboutdlg.cc: Make all strings in src/aboutdlg.cc translatable. Wed Sep 21 01:56:15 GMT 2011 Olly Betts <olly@survex.com> * doc/manual.sgml: Tweak text about Debian packages. Tue Sep 20 11:31:03 GMT 2011 Olly Betts <olly@survex.com> * tests/: Update FSF address. Tue Sep 20 11:28:50 GMT 2011 Olly Betts <olly@survex.com> * lib/print.ini: Update reference to Survex 1.1; update FSF address. Tue Sep 20 06:43:56 GMT 2011 Olly Betts <olly@survex.com> * src/img.c: Only define INT32_T if it isn't already defined (it will be for 1.0.x). Tue Sep 20 06:43:23 GMT 2011 Olly Betts <olly@survex.com> * src/cavern.c: Remove unused function left over from recent change to how coordinate ranges get reported. Tue Sep 20 06:42:31 GMT 2011 Olly Betts <olly@survex.com> * make_release: Use the URL field from svn info in the command we give to take this release rather than hard-coding the URL for trunk. Tue Sep 20 05:43:11 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Building on 10.6 should work on 10.7, so update comment to more clearly reflect that. Tue Sep 20 05:39:50 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/cavern.c: Fix reporting of ranges of survey coordinates, which was broken by the message handling changes in 1.2.0. Tue Sep 20 04:30:14 GMT 2011 Olly Betts <olly@survex.com> * configure.in,src/moviemaker.cc: Fix to build with FFmpeg library versions in Debian unstable, as well as those in Debian stable. Tue Sep 20 03:51:40 GMT 2011 Olly Betts <olly@survex.com> * src/moviemaker.cc: Updates towards compatibility with newer FFmpeg libraries without breaking build with those in Debian stable. Tue Sep 20 03:41:58 GMT 2011 Olly Betts <olly@survex.com> * src/avenprcore.h: Declare border as "struct border" rather than as a typedef to avoid a -Wshadow warning. Tue Sep 20 00:15:07 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Perhaps the final update for 1.2.0. Tue Sep 20 00:09:42 GMT 2011 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Fix to correctly handle non-ASCII glyphs by using glyphshow in the generated PostScript code rather than relying on the numeric encoding order of the font to match Unicode (which doesn't generally seem to be the case). Tweak to process files without slurping them all into memory where that's easy to do. Mon Sep 19 23:15:46 GMT 2011 Olly Betts <olly@survex.com> * src/fnt.cc: Use FNT_MAXCHAR instead of literal 256. Mon Sep 19 21:58:50 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Revert CPP=cpp change - it's not required. Revert to using wx 2.8.11 and 2.8.12 seems to fail to build. Output of hdid can contain spaces as well as tabs (man page only documents tabs) so update regexps to take this into account. Mon Sep 19 11:52:50 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Add comment noting that Xcode is probably required. Since wxWidgets only supports building for a single arch at a time, build for i386 by default, which should also work on x86_64. Pass CPP=cpp to wxWidgets configure (not certain if this is actually needed, or was something tried on the way to discovering that only one -arch option can be passed). Sun Sep 18 12:24:41 GMT 2011 Olly Betts <olly@survex.com> * make_release: No need to force disabling of libavcodec for mingw - it gets automatically disable if not present. Sun Sep 18 12:23:39 GMT 2011 Olly Betts <olly@survex.com> * src/moviemaker.cc: Fix disabling of libavcodec-using code when libavcodec isn't present. Sun Sep 18 11:50:06 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Update 1.2.0 release date. Sun Sep 18 11:49:46 GMT 2011 Olly Betts <olly@survex.com> * make_release: Disable use of libavcodec for mingw for now. Sun Sep 18 02:51:52 GMT 2011 Olly Betts <olly@survex.com> * make_release: Fix comment typo. Sun Sep 18 02:50:30 GMT 2011 Olly Betts <olly@survex.com> * doc/TODO.htm: Update in preparation for releasing 1.2. Sun Sep 18 02:49:53 GMT 2011 Olly Betts <olly@survex.com> * src/gla-gl.cc: Only try to read the GLX version on platforms which use GLX. Sun Sep 18 02:03:13 GMT 2011 Olly Betts <olly@survex.com> * Makefile.am,doc/Makefile.am: Don't list other .in files explicitly in EXTRA_DIST. Sun Sep 18 01:59:49 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: survex.keys.in will get shipped because it is used by AC_CONFIG_FILES so there's no need to list it explicitly in EXTRA_DIST. Sun Sep 18 01:56:18 GMT 2011 Olly Betts <olly@survex.com> * configure.in,lib/Makefile.am,lib/po-to-msg.pl: Fix .msg file generation to work when srcdir != builddir. Drop the "dontextract" mechanism which automatically generates headers to allows building a version with translations for the messages for errors in loading the messages file, as it doesn't seem worth the effort to get it working again. It's easy to write such a header by hand if you really want to do this. Fri Sep 16 14:26:43 GMT 2011 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.2.0. Fri Sep 16 14:22:20 GMT 2011 Olly Betts <olly@survex.com> * lib/icons/Makefile.am,lib/icons/aven.png,lib/icons/aven.svg: Add new version of aven icon, redrawn in SVG so it displays nicely at larger sizes. Fri Sep 16 12:55:05 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/cavern.c: Add --3d-version option to allow the user to specify the version of the 3d format to output. (ticket#21) Fri Sep 16 12:52:55 GMT 2011 Olly Betts <olly@survex.com> * src/img.c,src/img.h: Make the highest and lowest valid values for img_output_version available in img.h as IMG_VERSION_MIN and IMG_VERSION_MAX. Fri Sep 16 05:49:12 GMT 2011 Olly Betts <olly@survex.com> * src/aventreectrl.cc,src/guicontrol.cc,src/mainfrm.cc: Don't use deprecated members or methods of wxKeyEvent. Fri Sep 16 03:36:54 GMT 2011 Olly Betts <olly@survex.com> * lib/map.png: Remove scan of map which isn't used and we probably don't have rights to redistribute. Fri Sep 16 03:16:01 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: If a label isn't valid UTF-8, treat it as CP1252 (the Microsoft superset of ISO8859-1). Fri Sep 16 03:00:51 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Remove special handling for toggling "full screen" on wxGTK as it's no longer required with modern versions. Fri Sep 16 02:05:12 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h,src/mainfrm.cc: Don't redraw the survey on every mouse movement in the survey pane unless the measuring line is (or just was) active. (ticket #17) Thu Sep 15 03:58:59 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc: Comment improvements. Thu Sep 15 03:51:27 GMT 2011 Olly Betts <olly@survex.com> * tests/smoke.tst: aven no longer requires an X display for --help or --version, so replace skip of this check with a check that this remains the case. Thu Sep 15 02:27:57 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Thu Sep 15 02:11:28 GMT 2011 Olly Betts <olly@survex.com> * lib/Makefile.am: Distribute codes.po. Thu Sep 15 02:08:35 GMT 2011 Olly Betts <olly@survex.com> * configure.in,survex.spec.in: Default to installing docs into /usr/share/doc/survex rather than /usr/doc/survex. Wed Sep 14 01:57:45 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix another potential read beyond the end of a string. Wed Sep 14 01:35:20 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix potential reading off end of string - fix from Stuart Bennett. Wed Sep 14 00:33:16 GMT 2011 Olly Betts <olly@survex.com> * lib/es.po: Update from launchpad. Tue Sep 13 22:05:59 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Use wx 2.8.12. Tue Sep 13 11:32:18 GMT 2011 Olly Betts <olly@survex.com> * src/aven.cc,src/aven.h,src/gla-gl.cc: Explicitly request double-buffering, which seems to be needed for systems with GLX >= 1.3. Report GLX version and whether double-buffering is in use in the about dialog. Sun Jun 19 11:19:51 GMT 2011 Olly Betts <olly@survex.com> * src/: Try to report errors from generating movie more helpfully. Fri Jun 17 06:33:38 GMT 2011 Olly Betts <olly@survex.com> * src/moviemaker.cc: Eliminate use of deprecated function av_alloc_format_context(). Fri Jun 17 06:32:50 GMT 2011 Olly Betts <olly@survex.com> * src/moviemaker.cc: Simplify the loop to flip the image vertically. Fri Jun 17 06:17:20 GMT 2011 Olly Betts <olly@survex.com> * configure.in,src/moviemaker.cc,src/moviemaker.h: Use libswscale to convert images to add to the video. Movie export now working again! Fri Jun 17 06:16:46 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: No need to specify true to PlayPres - that's the default. Fri Jun 17 06:15:34 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc: Set the play speed to "x1" during video recording. Fri Jun 17 05:43:12 GMT 2011 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gfxcore.h: Rename 'mpeg' member to 'movie'. Fri Jun 17 04:30:12 GMT 2011 Olly Betts <olly@survex.com> * configure.in,src/moviemaker.cc,src/moviemaker.h: Mostly update movie making code to work with current FFmpeg. Still TODO: convert call to img_convert() to use sws_scale() - currently you just get an all green movie! Mon May 30 07:40:12 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Fix URL for downloading wxWidgets tarball. Sat May 28 12:39:11 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Build for x86_64 as well as i386. Sat May 28 06:14:09 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Fix comment typo. Sat May 28 06:08:10 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Don't assume the volume gets mounted on /Volumes/Survex as it won't be if that mount point is already in use. Thu May 26 16:09:05 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po,src/aven.cc,src/mainfrm.cc,src/mainfrm.h: Use more stock IDs. Thu May 26 14:52:00 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/printwx.cc: Use stock wx button IDs wxID_PRINT and wxID_PREVIEW where appropriate. Thu May 26 14:47:52 GMT 2011 Olly Betts <olly@survex.com> * lib/codes.po: Mark unused messages by commenting out with '#~'. Thu May 26 14:34:29 GMT 2011 Olly Betts <olly@survex.com> * src/printwx.h: Fix comment typo. Thu May 26 12:47:44 GMT 2011 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/printwx.cc: When using a standard wxID_xxx id with wxButton, use the implicit default label, as the wx documentation recommends. Thu May 26 12:28:11 GMT 2011 Olly Betts <olly@survex.com> * src/: Remove the unused preferences dialog code - we can easily fish it back out of SVN should we want it later, so no point having it sitting there making every checkout bigger. Tue May 24 05:21:52 GMT 2011 Olly Betts <olly@survex.com> * configure.in,doc/Makefile.am,doc/survex.1.in: Move survex man page to section 7 (since it isn't documenting an actual command). Tue May 24 05:17:53 GMT 2011 Olly Betts <olly@survex.com> * doc/Makefile.am: Write generated man page to a temporary file, then atomically rename, to avoid leaving an empty or partial man page behind if docbook-to-man dies (I managed to ship an empty cad3d.1 in 1.1.16). Sat May 21 22:05:04 GMT 2011 Olly Betts <olly@survex.com> * lib/fr.po: Fold in addition of accent from launchpad. Sat May 21 22:04:31 GMT 2011 Olly Betts <olly@survex.com> * lib/: Remove comments which are only relevant for other languages from .po files. Add more clarifying comments. Thu May 19 05:23:03 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Remove as no longer used. Wed May 18 09:06:19 GMT 2011 Olly Betts <olly@survex.com> * lib/,src/mainfrm.cc,src/mainfrm.h: We now use .po and .pot files as the master format for storing translations in (rather than messages.txt), and then translate these into Survex's .msg format. Wed May 18 08:37:01 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fix variant en-us message which ought not be different. Wed May 18 05:50:07 GMT 2011 Olly Betts <olly@survex.com> * make_release: Print out the commands needed to tag the release. Tue May 17 01:24:59 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt,src/cavern.c: Drop "non-fatal" from the report of how many errors there were at the end of the run - it just confuses users - we won't even get here if there's a fatal error! * lib/messages.txt: Add missing translations of two "Export" variants for ca, sk, and ro. Tue May 17 01:03:06 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Fix typo. Mon May 16 22:18:53 GMT 2011 Olly Betts <olly@survex.com> * buildmacosx.sh: Extract tarball quietly, and just say we're doing it. Add missing quoting to variable expansions. Mon May 16 05:59:32 GMT 2011 Olly Betts <olly@survex.com> * NEWS: Another pre-1.1.16 update. Mon May 16 05:54:30 GMT 2011 Olly Betts <olly@survex.com> * Makefile.am: Include all the available wxstd.mo files into the Microsoft Windows installer, rather than trying to just include those which we have translations for. This avoids having to maintain a list of which to include, and gives users translations of wxWidgets messages even if they don't get Survex messages translated. Mon May 16 05:53:49 GMT 2011 Olly Betts <olly@survex.com> * doc/HACKING.htm: Update version of InnoSetup used. Note the packages needed on Debian to build the Microsoft Windows installer. Mon May 16 05:22:03 GMT 2011 Olly Betts <olly@survex.com> * doc/HACKING.htm: Note Debian packages to install for docs. Mon May 16 05:21:27 GMT 2011 Olly Betts <olly@survex.com> * survex.iss.in: Add comment noting that AppVerName isn't required by newer InnoSetup. Sun May 15 04:11:34 GMT 2011 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.1.16. Sun May 15 03:44:17 GMT 2011 Olly Betts <olly@survex.com> * lib/fixmsgs.pl: Update to fix UTF-8 rather than ISO8859-1. Sun May 15 03:43:46 GMT 2011 Olly Betts <olly@survex.com> * lib/named-entities.txt: Add hellip and rarr. Sun May 15 03:39:02 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fix clashing menu shortcuts from recent translation updates. Sun May 15 03:20:50 GMT 2011 Olly Betts <olly@survex.com> * src/message.c: 0x2026 (…): Handle for WINCP1252, and transliterate to '...' for charsets which don't have it. 0x2192 (→): Transliterate to '->' for charsets which don't have it. Handle Š, š, Ž, ž for WINCP1252. * lib/messages.txt: Use '→' instead of '->' and '…' instead of '...'. Sun May 15 02:59:42 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fix literal accented characters. Sun May 15 02:55:50 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fold in de updates from launchpad. Sun May 15 02:36:02 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fold in es updates from launchpad. Sun May 15 02:19:45 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fold in it updates from launchpad. Sun May 15 02:00:45 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fold in pt-br updates from launchpad. Sun May 15 01:53:22 GMT 2011 Olly Betts <olly@survex.com> * lib/messages.txt: Fold in pt updates from launchpad. Mon Mar 14 01:58:10 GMT 2011 Olly Betts <olly@survex.com> * configure.in: Link with -lGL, if it exists to support linking with gold or GNU ld --as-needed (Debian bug #615781). Thu Mar 03 13:16:19 GMT 2011 Olly Betts <olly@survex.com> * src/img.c: Fix code typo for IMG_API_VERSION == 0 case. Thu Mar 03 12:32:57 GMT 2011 Olly Betts <olly@survex.com> * src/img.c: Fix typo in code used when IMG_HOSTED isn't defined. Wed Oct 20 09:53:56 GMT 2010 Olly Betts <olly@survex.com> * lib/messages.txt: "Colour" -> "Color" in en-us. Sun Oct 17 14:10:21 GMT 2010 Olly Betts <olly@survex.com> * lib/messages.txt: Assorted comment improvements and tweaks. Sat Oct 16 11:12:42 GMT 2010 Olly Betts <olly@survex.com> * src/moviemaker.h: Remove unused <stdio.h>. Shouldn't include <config.h> in headers, only sources. Sat Oct 16 10:13:10 GMT 2010 Olly Betts <olly@survex.com> * doc/TODO.htm: Remove entries which have now been done. Fri Oct 15 06:57:46 GMT 2010 Olly Betts <olly@survex.com> * tests/extend.tst: Fix to file .espec files when srcdir != builddir. Fri Oct 15 05:48:09 GMT 2010 Olly Betts <olly@survex.com> * NEWS: Final update fro 1.1.15. Fri Oct 15 05:20:40 GMT 2010 Olly Betts <olly@survex.com> * src/editwrap.c: Convert to use wide-character Unicode. Fri Oct 15 05:20:04 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix to work on Microsoft Windows. Thu Oct 14 22:50:09 GMT 2010 Olly Betts <olly@survex.com> * tests/extend.tst: Enable eswap-break testcase now that diffpos is fixed. Thu Oct 14 22:48:06 GMT 2010 Olly Betts <olly@survex.com> * src/diffpos.c: Handle files with duplicate labels in better - extend generates duplicate labels when it breaks a loop. Wed Oct 13 15:39:04 GMT 2010 Olly Betts <olly@survex.com> * make_release: -Dunix when running make distcheck with the preprocessor in C89 mode. Wed Oct 13 15:33:23 GMT 2010 Olly Betts <olly@survex.com> * src/cavern.c: Fix C++ comment. Wed Oct 13 15:07:31 GMT 2010 Olly Betts <olly@survex.com> * NEWS,configure.in: 1.1.15. Wed Oct 13 15:00:51 GMT 2010 Olly Betts <olly@survex.com> * configure.in,src/: Define GETC() in config.h and use it everywhere. Similarly define PUTC() to use putc_unlocked() where available and use that everywhere too. Wed Oct 13 13:41:17 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Remove superfluous nested declaration. Wed Oct 13 11:19:29 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: mingw doesn't have _get_wpgmptr() so use the deprecated _wpgmptr instead. mingw doesn't have errno_t so use int instead. Wed Oct 13 10:49:18 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: (Microsoft Windows) Quote for any meta characters, not just space. Wed Oct 13 10:27:38 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: (Microsoft Windows) Use _get_wpgmptr() to get wide path to aven rather for running cavern. Thu Oct 07 22:38:43 GMT 2010 Olly Betts <olly@survex.com> * src/datain.h,src/useful.c: Use getc_unlocked() if available. Thu Oct 07 14:25:13 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Use _wfopen() on Microsoft Windows when loading and saving presentations so that paths with non-Latin1 characters in can be processed. Thu Oct 07 12:52:22 GMT 2010 Olly Betts <olly@survex.com> * configure.in,src/cavernlog.cc: Use getc_unlocked() if available. Thu Oct 07 12:42:21 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Don't call Update() after every line, but only when we don't have data from cavern pending. Hopefully addresses ticket#12. Wed Oct 06 02:25:31 GMT 2010 Olly Betts <olly@survex.com> * make_release: Never set CFLAGS or CXXFLAGS in the environment. Build mingw version in an unpacked source tree from the release tarball. Wed Oct 06 02:09:33 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix code indentation. Wed Oct 06 02:08:38 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Revert to using mb_str() for popen() and system() on Unix. Wed Oct 06 02:02:54 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Use _wpopen() and _wsystem() on Microsoft Windows so that paths with non-Latin1 characters in can be processed. Wed Oct 06 01:16:03 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Need to quote filenames with spaces in for Microsoft Windows. Wed Oct 06 00:54:44 GMT 2010 Olly Betts <olly@survex.com> * lib/Makefile.am: Ship the extra .isl translation files for Innosetup. Wed Oct 06 00:49:18 GMT 2010 Olly Betts <olly@survex.com> * src/datain.c: Add missing include of date.h. Wed Oct 06 00:48:28 GMT 2010 Olly Betts <olly@survex.com> * src/date.c,src/date.h: Add files for date handling. Tue Oct 05 12:48:19 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/gla.h: Check whether blobs and crosses actually render correctly as points/point sprites, and if they don't, fall back to drawing them with lines. Tue Oct 05 10:53:56 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc,src/gla.h: Cache the best method for drawing blobs and crosses, and recheck automatically if the graphics hardware or drivers are changed or upgraded. Mon Oct 04 11:18:22 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Add \n to commented out debug message. Mon Oct 04 09:58:17 GMT 2010 Olly Betts <olly@survex.com> * doc/index.htm.in,doc/manual.sgml,doc/survex.ent,lib/print.ini, src/printwx.cc,survex.iss.in: Use http://survex.com/ rather than http://www.survex.com/ - the former is the canonical name and www.survex.com just redirects. Mon Oct 04 09:46:24 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Don't offer "All files" wildcard in presentation save dialog. Mon Oct 04 08:19:40 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Pass GL_TRUE to OpenGL functions, rather than true. Sun Oct 03 06:46:03 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.cc,src/gla-gl.cc,src/gla.h: Use double instead of Double in cases where the value isn't being passed to OpenGL. Sun Aug 22 13:30:54 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: If we aren't using GL_POINTS for blobs, draw them using a series of abutting lines rather than with gluDisk which is faster and gives a consistent shape. Sat Aug 21 14:33:54 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix another use of GL_POINT_SIZE_RANGE to GL_SMOOTH_POINT_SIZE_RANGE. Sat Aug 21 14:30:56 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Fix non-USE_FNT case to work again (it's limited to ISO-8859-1 characters though). Sat Aug 21 13:31:17 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Use GL_SMOOTH_POINT_SIZE_RANGE and GL_SMOOTH_POINT_SIZE_GRANULARITY instead of GL_POINT_SIZE_RANGE and GL_POINT_SIZE_GRANULARITY (unless they aren't defined) as the latter two are deprecated in OpenGL >= 1.2. If GL_ALIASED_POINT_SIZE_RANGE is available (OpenGL >= 1.2 again) then report its value in the about box. Fri Aug 20 12:26:40 GMT 2010 Olly Betts <olly@survex.com> * doc/3dformat.htm,lib/messages.txt,src/,tests/: New v7 of .3d format which stores survey dates as number of days since Jan 1st 1900, so we now support dates from 1900-2078 (rather than 1970-2037) with a smaller file size. The img API is now versioned - you can select the new "version 1" by compiling with -DIMG_API_VERSION=1, which gives the survey dates in days in days1 and days2 instead of as time_t values in date1 and date2. Fixes ticket#14. Fri Aug 20 12:12:54 GMT 2010 Olly Betts <olly@survex.com> * src/printwx.cc: Remove unused '#include <time.h>'. Fri Aug 20 12:10:55 GMT 2010 Olly Betts <olly@survex.com> * src/avenprcore.cc: Remove unused '#include <time.h>'. Fri Aug 20 10:10:05 GMT 2010 Olly Betts <olly@survex.com> * src/export.cc: Explicit #include <time.h> for strftime(). Wed Aug 18 13:59:30 GMT 2010 Olly Betts <olly@survex.com> * src/osdepend.h: Remove workaround for DOS Turbo C compiler. Wed Aug 18 02:03:39 GMT 2010 Olly Betts <olly@survex.com> * buildmacosx.sh,configure.in,lib/Info.plist.in: Make buildmacosx.sh work. Tue Aug 17 01:43:24 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.h: "using svx::Point;" gives an error, so use a macro instead. Wed Aug 04 03:27:22 GMT 2010 Olly Betts <olly@survex.com> * src/img.c: Fix cast in get16() to be to short not long. Wed Aug 04 02:32:16 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc,src/cavernlog.h: "Rerun" -> "Reprocess" to follow terminology in manual, etc. Fixes ticket#15. Wed Jul 28 17:06:49 GMT 2010 Olly Betts <olly@survex.com> * tests/: Most tests weren't actually running and testcases (looks like a sh portability issue). Fixed, and fortunately all tests still pass. Mon Jul 26 12:30:43 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: Fix typo "of" -> "on". Mon Jul 26 11:59:59 GMT 2010 Olly Betts <olly@survex.com> * NEWS,configure.in: Update for 1.1.14. Mon Jul 26 11:53:01 GMT 2010 Olly Betts <olly@survex.com> * lib/messages.txt,src/: Remove things we no longer need now we've dropped support for RISC OS and DOS. Mon Jul 26 11:19:40 GMT 2010 Olly Betts <olly@survex.com> * src/cmdline.c: Remove reference to MSDOS. Mon Jul 26 10:23:07 GMT 2010 Olly Betts <olly@survex.com> * src/: Strip out "Far" and "Huge" which we no longer need now that DOS memory models are no longer relevant. Mon Jul 26 09:57:37 GMT 2010 Olly Betts <olly@survex.com> * configure.in: No need for AC_PROG_MAKE_SET when using automake. Mon Jul 26 09:48:10 GMT 2010 Olly Betts <olly@survex.com> * configure.in,src/useful.h: On little-endian architectures, make get16() and get32() inline functions, rather than macros which use a global variable. Mon Jul 26 09:31:14 GMT 2010 Olly Betts <olly@survex.com> * src/useful.c: Remove commented out code. Mon Jul 26 09:19:19 GMT 2010 Olly Betts <olly@survex.com> * configure.in,src/img.c,src/useful.c,src/useful.h: Use AC_TYPE_INT16_T and AC_TYPE_INT32_T instead of home-brew equivalents. Mon Jul 26 08:40:43 GMT 2010 Olly Betts <olly@survex.com> * src/listpos.c: In "Station X referred to just once, with an explicit prefix - typo?" warning, give file and linenumber where the *equate occurred. Mon Jul 26 08:37:46 GMT 2010 Olly Betts <olly@survex.com> * src/readval.c: Fix comment typo. Mon Jul 26 08:29:41 GMT 2010 Olly Betts <olly@survex.com> * src/listpos.c: In "Station X referred to by *entrance or *export but never used" warning, give file and linenumber where the *entrance or *export occurred. Mon Jul 26 07:44:26 GMT 2010 Olly Betts <olly@survex.com> * src/aventreectrl.cc: Fix double-click handling for survey tree on wxMSW >= 2.8.11. Mon Jul 26 07:25:59 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Stop passing wxNO_FULL_REPAINT_ON_RESIZE as it is 0 on all versions of wxWidgets we support (i.e. 2.6 and later). Mon Jul 26 07:21:35 GMT 2010 Olly Betts <olly@survex.com> * INSTALL,src/: Restore compatibility with wxWidgets 2.6. Mon Jul 26 06:29:03 GMT 2010 Olly Betts <olly@survex.com> * src/netskel.c: In "Unused fixed point" warning, give file and linenumber where the "*fix" occurred. Mon Jul 26 06:24:35 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix highlighting of links in CavernLog window to highlight just <file>:<line> (and not the ': ' after), and to make the title for the terminal the warning/error message. Make the checking stricter by checking that the linenumber is a number, to avoid false positives. Mon Jul 26 04:48:12 GMT 2010 Olly Betts <olly@survex.com> * Revert this change, as it appears wxMotif does support wxGLCanvas: * doc/manual.sgml: wxMotif apparently doesn't support wxGLCanvas, which is required by Aven in 1.1.x, so remove mention of Motif from manual. Mon Jul 26 03:24:38 GMT 2010 Olly Betts <olly@survex.com> * src/: Add "Rerun" and "OK" buttons to the CavernLog window (as appropriate). (Addition of "OK" button fixes ticket#13). Fix up handling of splitter window to fix poor handling of various cases. Sun Jul 25 15:32:42 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/mainfrm.h: Clean up code which sorts out loading a file (and processing it first if necessary). Sun Jul 25 07:20:05 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.h: Fix filename in comment at top. Sun Jul 25 07:17:20 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Don't double escape the contents of href and target in links in the log. Sun Jul 25 06:32:24 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Remove commented out calls to set the input encoding of the HTML parser - we now always escape non-ASCII characters as HTML entities. Fri Jul 23 14:15:25 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.h: Improve doc comment for process() method. Fri Jul 23 12:38:43 GMT 2010 Olly Betts <olly@survex.com> * src/printwx.cc,src/printwx.h: Don't compile in the preview code when we disable the preview feature. Fri Jul 23 12:15:31 GMT 2010 Olly Betts <olly@survex.com> * src/printwx.cc: The Gnome print dialog has its own preview window so suppress ours if using the Gnome one. Fri Jul 23 11:21:52 GMT 2010 Olly Betts <olly@survex.com> * configure.in: Update the wx-config probing code - wxmac-config etc aren't present with newer wxWidgets versions. Fri Jul 23 05:55:37 GMT 2010 Olly Betts <olly@survex.com> * buildmacosx.sh: Update to use WX_CONFIG not WXCONFIG. Update to use a Unicode build. If building a private wx, use wx 2.8.11 not 2.7.0-1 (and don't replace carbon-glcanvas.cpp with our own version). Sat Jul 10 12:15:23 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Set the select timeout before calling wxYield() when waiting for output from cavern to 0.1s instead of 0.00001s to avoid yielding excessively on slower machines where this is likely to really slow things down. Call Scroll() only once per line in the case where we are updating the scrollbar position. Call Update() instead of wxYield() after each line, since that's enough to get the window updated. Remove unused assignment "ch = left;" at end of loop. Fri Jul 09 14:42:47 GMT 2010 Olly Betts <olly@survex.com> * configure.in: Link aven with -lGLU which SuSE Linux needs. Fri Jul 09 14:31:39 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Highlight stations matching any current search when a file is loaded. (ticket#9) Thu Jul 01 12:20:58 GMT 2010 Olly Betts <olly@survex.com> * survex.iss.in: Clean up comments from over-enthusiastic search and replace which modified comments as well as code. Thu Jul 01 10:15:06 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.h: Work around Mac OS X polluting the global namespace with a "Point" class. Thu Jul 01 10:10:45 GMT 2010 Olly Betts <olly@survex.com> * src/Makefile.am: Remove FIXME which has already been resolved. Fri Jun 18 11:04:35 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: wxMotif apparently doesn't support wxGLCanvas, which is required by Aven in 1.1.x, so remove mention of Motif from manual. Fri Jun 18 03:03:55 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml,src/aventreectrl.cc,src/gfxcore.cc,src/mainfrm.h: Correctly capitalise "GTK". Fri Jun 18 02:58:06 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: Note that on Linux we only regularly test builds with the GTK+ version (change taken from 1.0). Wed Jun 16 04:44:26 GMT 2010 Olly Betts <olly@survex.com> * doc/Makefile.am: Use stampfile to stop unwanted rebuilds of the HTML version of the manual. Wed Jun 16 02:59:48 GMT 2010 Olly Betts <olly@survex.com> * configure.in: Only ask for core, gl, and html wx libs to avoid linking to a load of others we don't use. Tue Jun 15 17:01:41 GMT 2010 Olly Betts <olly@survex.com> * INSTALL: Update. Tue Jun 15 16:53:28 GMT 2010 Olly Betts <olly@survex.com> * src/aven.cc: Fix to work with wxWidgets 2.6 too. Tue Jun 15 15:38:49 GMT 2010 Olly Betts <olly@survex.com> * lib/survex-aven.desktop,lib/survex-svxedit.desktop: Merge in .desktop file updates from 1.0.39.1-4 Debian package. Tue Jun 15 14:40:04 GMT 2010 Olly Betts <olly@survex.com> * doc/Makefile.am: Fix lingering references to @DOCS_OTHER@. Tue Jun 15 14:32:55 GMT 2010 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog. Tue Jun 15 14:09:29 GMT 2010 Olly Betts <olly@survex.com> * Makefile.am,configure.in,doc/Makefile.am,make_release: Scrap the "alternative manual formats" zip file - people will generally just want one of them, so downloading several together isn't very useful. Replace PostScript version of manual with a PDF version (more compact and more people will have software to read PDF). Don't generate RTF format by default as PDF is more useful if you want a formatted version to print. Tue Jun 15 13:36:30 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: Merge the "Contributing" section into the "Mailing List" section. Tue Jun 15 12:57:13 GMT 2010 Olly Betts <olly@survex.com> * Makefile.am,make_release: Just produce a zip file with the alternative manual formats - a self-extracting .exe is harder to use on other platforms, and most people have a zip file extractor installed. Tue Jun 15 12:36:13 GMT 2010 Olly Betts <olly@survex.com> * survex.spec.in: Update survex.com URLs to drop "www.". Update wxGTK dependency to >= 2.6.0. Reenable "BuildRequires:" as the issue with building the package on Debian is no longer relevant. Tue Jun 15 12:35:19 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: Update (C) years. "MacOS X" -> "Mac OS X". Tue Jun 15 12:13:42 GMT 2010 Olly Betts <olly@survex.com> * doc/manual.sgml: Remove out of date postal addresses - we can probably safely assume people have email these days. Direct people to the mailing list since they are likely to get a quicker response rather than mailing individuals. Remove mention of a paper mailing list. Remove mention of sending us a floppy (!) or blank CDR to get a version as I can't recall the last time I gave someone a copy on physical media. Tue Jun 15 11:22:56 GMT 2010 Olly Betts <olly@survex.com> * Makefile.am,make_release: I can't persuade rpmbuild to work sanely, and people can just as easily build binary RPMs from the source tarball as from the srpm, so just remove the rpm target from the makefile and code which uses it from make_release - it's less to have to maintain too. Tue Jun 15 10:59:12 GMT 2010 Olly Betts <olly@survex.com> * make_release: Use "set -e" rather than checking the exit codes of commands. -t no longer disables targets - set mk to do that. Tue Jun 15 09:41:11 GMT 2010 Olly Betts <olly@survex.com> * make_release: Fix defaulting of list of things to do. Tue Jun 15 09:12:00 GMT 2010 Olly Betts <olly@survex.com> * src/gdtconvert: Add "Generated" comment to output file. Tue Jun 15 09:10:02 GMT 2010 Olly Betts <olly@survex.com> * src/gdtconvert: Add GPL license boilerplate. Tue Jun 15 08:53:28 GMT 2010 Olly Betts <olly@survex.com> * src/gettexttomsg.pl,src/wx.h: Add GPL boilerplate to files which were missing it. Tue Jun 15 08:46:28 GMT 2010 Olly Betts <olly@survex.com> * src/: Update FSF address in licence notices. Tue Jun 15 08:06:09 GMT 2010 Olly Betts <olly@survex.com> * src/guicontrol.cc: Allow "Toggle Fullscreen" to work even if no survey is loaded now that we persist the window size between invocations. Tue Jun 15 08:03:53 GMT 2010 Olly Betts <olly@survex.com> * src/gla-gl.cc: Use GL_BLEND rather than GL_ALPHA to work better with anti-aliased TXF files. Tue Jun 15 07:59:09 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Use font size from txf file rather than trying to calculate it from the texture fragment sizes. Tue Jun 15 07:48:13 GMT 2010 Olly Betts <olly@survex.com> * lib/Makefile.am,lib/TexFont.h,lib/gentexfont.c: Generate aven.txf with afm2txf.pl instead of gentexfont because gentexfont's licence doesn't allow distribution of modified versions. Tue Jun 15 07:43:48 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Add support for -o option to specify output .txf file. Tue Jun 15 07:10:16 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Sanitise $FONT to ensure it doesn't contain a '/'. Remove the temporary .ppm file at the end. Tue Jun 15 06:13:30 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Fix alignment of characters, backported from PLIB SVN. Tue Jun 15 05:05:05 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Quote $FONT when passing to external commands. Tue Jun 15 04:24:33 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Change character 96 from "grave" to "quoteleft". Tue Jun 15 04:22:59 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Extend to cover ISO-8859-1, not just ASCII. Tue Jun 15 04:08:34 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Clean up trailing whitespace. Tue Jun 15 04:02:40 GMT 2010 Olly Betts <olly@survex.com> * lib/afm2txf.pl: Add GPL script for creating txf files. Mon Jun 14 06:33:11 GMT 2010 Olly Betts <olly@survex.com> * lib/splash.png: Remove now unused graphical splash screen (it has hardcoded (C) details, which wasn't a good approach). Mon Jun 14 05:20:44 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Handle the left bearing and character width correctly. Mon Jun 14 04:44:22 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Change back to not using GL_COLOR_INDEX, but with still being able to set the font texture from a byte array. Mon Jun 14 04:23:22 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.h,src/gla-gl.cc: Pass the length of the string to fntTexFont::puts() rather than recalculating it inside the method. Sun Jun 13 12:57:08 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix switching to and from the CavernLogWindow pane to use wxSplitterWindow::ReplaceWindow() which fixes various issues with sizing and resizing of the panes. Sun Jun 13 12:23:23 GMT 2010 Olly Betts <olly@survex.com> * src/: Add wmsg_cfgpth() which caches the result of msg_cfgpth() as a wxString. Sun Jun 13 06:57:07 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc,src/gla-gl.cc,src/mainfrm.cc: wxString::fn_str() on wxmsw returns a wide string, which doesn't work with fopen(), etc, so call char_str() instead for now. Sun Jun 13 05:41:30 GMT 2010 Olly Betts <olly@survex.com> * src/printwx.cc: Use wxString::FromAscii() for the units on the scale bar which we know to be ASCII. No need to use msgPerm() for a message we assign to a wxString. Sun Jun 13 04:44:30 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc,src/printwx.cc: Use wxFileName::SplitPath() instead of baseleaf_from_fnm(). Sun Jun 13 00:57:11 GMT 2010 Olly Betts <olly@survex.com> * src/export.cc,src/gfxcore.cc: wxString::fn_str() on wxmsw returns a wide string, which doesn't work with fopen(), etc, so call char_str() instead for now. Sat Jun 12 15:07:54 GMT 2010 Olly Betts <olly@survex.com> * src/aven.cc: We can rely on our message catalog being UTF-8 so use wxString::FromUTF8() instead of wxConvUTF8. Sat Jun 12 14:26:32 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.cc: Use wxString::FromAscii() to convert date to wxString. Sun Jun 06 09:36:06 GMT 2010 Olly Betts <olly@survex.com> * src/Makefile.am: Use wx-config's --rescomp option to get the command and options needed to turn .rc files into object files. Fri Jun 04 15:32:27 GMT 2010 Olly Betts <olly@survex.com> * survex.iss.in: Specify "LZMANumFastBytes=273" which shaves a small amount of the installer size. Specify "DisableWelcomePage=yes" which is apparently in line with what other modern installers do. Fri Jun 04 14:32:04 GMT 2010 Olly Betts <olly@survex.com> * configure.in,make_release,make_release.in: We no longer need VERSION in make_release, so no need to generate it from configure. Fri Jun 04 14:00:58 GMT 2010 Olly Betts <olly@survex.com> * Makefile.am,xvfb-run: We no longer need an X display to run ISCC under Wine, so just run wine directly and removed version of Debian's xvfb-run script. * make_release.in: Pass variables to configure on the command line rather than in the enviornment. Running "make distcheck" no longer fails extend.tst, so remove comment about that. Use case rather than expr to check what we've been asked to build. Update to use unicode wx-config script for wxmsw. The wxmsw build spews warnings about aliasing issues, so turn on -fno-strict-aliasing to avoid any potential bugs from that. Enable -Werror for the wxmsw build. * Makefile.am: Update list of wxstd.mo files we package for wxmsw (add pt and sk) and where we copy them from. Copy the unofficial InnoSetup i18n files (.isl) from lib. Fri Jun 04 13:40:35 GMT 2010 Olly Betts <olly@survex.com> * doc/HACKING.htm: Update InnoSetup info. Fri Jun 04 13:07:01 GMT 2010 Olly Betts <olly@survex.com> * survex.iss.in: Update for InnoSetup 5.3.9. * lib/English_GB.isl,lib/Romanian-7-5.1.11.isl: Check in the unofficial i18n files for InnoSetup which we use. Fri Jun 04 13:05:18 GMT 2010 Olly Betts <olly@survex.com> * src/Makefile.am: Update path to wx RC file. Fri Jun 04 12:44:39 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Explicitly construct temporary wxString() which is needed to avoid overload ambiguity under __WXMSW__. Fri Jun 04 12:41:59 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Add missing wxT() to string and character constants only used in __WXMSW__ build. Fri Jun 04 12:19:18 GMT 2010 Olly Betts <olly@survex.com> * src/aven.cc: wxWidgets now has a Slovak translation, so remove the kludge to substitute Czech if Slovak isn't found. Fri Jun 04 05:08:14 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Fix character constant to be a string constant when building under WXMSW. Thu Jun 03 13:53:57 GMT 2010 Olly Betts <olly@survex.com> * NEWS: Update from ChangeLog for 1.1.13. Thu Jun 03 12:25:14 GMT 2010 Olly Betts <olly@survex.com> * Makefile.am,configure.in,debian/Makefile.am,debian/changelog: Remove .deb building machinery from upstream Makefile. Thu Jun 03 12:14:16 GMT 2010 Olly Betts <olly@survex.com> * make_release.in: Remove ancient workaround for getting wine to work. Remove .deb building machinery. Reenable distcheck to see if the problem with extend.tst has gone away. Update mingw cross-building machinery. Wed Jun 02 13:30:28 GMT 2010 Olly Betts <olly@survex.com> * configure.in,doc/GPL.htm,doc/index.htm.in: Remove HTML version of GPL - just link to the FSF's page. Wed Jun 02 13:26:55 GMT 2010 Olly Betts <olly@survex.com> * configure.in,make_release,make_release.in,update-debcl.pl: Use dch to update debian/changelog. Wed Jun 02 12:59:33 GMT 2010 Olly Betts <olly@survex.com> * configure.in,doc/Makefile.am,doc/cl2html.pl,doc/index.htm.in: Stop generating an HTML version of the ChangeLog - it's too low level to be of interest to non-developers, and developers can look at the source code. Wed Jun 02 09:38:25 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Whitespace tweaks. Wed Jun 02 09:28:37 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc,src/aboutdlg.h: Use standard button for "Copy" in About dialog. Change "OK" button to "Close" since nothing is being confirmed by clicking it. Call "Flush()" in wxTheClipboard to try to make the copied text persist after aven is closed, though this seems to currently do nothing on wxGTK at least. Tue May 18 12:59:00 GMT 2010 Olly Betts <olly@survex.com> * doc/HACKING.htm: Note jadetex needed. Note autoconf 2.64 works well. Tue May 18 02:06:00 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Remove now superfluous (). Mon May 17 14:33:00 GMT 2010 Olly Betts <olly@survex.com> * debian/Makefile.am: Update EXTRA_DIST Mon May 17 05:38:00 GMT 2010 Olly Betts <olly@survex.com> * src/cavernlog.cc: Fix small memory leak Mon May 17 05:33:00 GMT 2010 Olly Betts <olly@survex.com> * src/img.c: Don't leak filename_opened member. Mon May 17 05:13:00 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.cc: Initialise all GfxCore's member variables so we don't use them uninitialised. Mon May 17 05:11:00 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.h: Declare constants with enum rather than #define so they automatically get allocated unique values, and so they show up in the debugger. Mon May 17 02:39:00 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Make the map array static const Mon May 17 02:30:00 GMT 2010 Olly Betts <olly@survex.com> * src/fnt.cc: Set the font texture with GL_COLOR_INDEX so we can use a "byte format" font file without any translation, while a "bitmap format" font file needs a temporary array half the size. Mon May 17 00:56:00 GMT 2010 Olly Betts <olly@survex.com> * src/gfxcore.cc: Initialise 3 flags when we load a survey to avoid using them potentially uninitialised. Sun May 16 14:39:00 GMT 2010 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix cavern log window to behave if passed a .svx file on the command line. Sun May 16 14:27:00 GMT 2010 Olly Betts <olly@survex.com> * configure.in: Update copyright years. Sun May 16 14:23:00 GMT 2010 Olly Betts <olly@survex.com> * configure.in, src/aboutdlg.cc, src/aboutdlg.h, src/aven.cc, src/aven.h, src/avenprcore.cc, src/avenprcore.h, src/cavernlog.cc, src/cavernlog.h, src/export.cc, src/fnt.h, src/gfxcore.cc, src/gla-gl.cc, src/gla.h, src/guicontrol.cc, src/log.cc, src/mainfrm.cc, src/mainfrm.h, src/namecmp.h, src/printwx.cc, src/printwx.h: + Fix to build with a "unicode" build of wx. + Add "Copy" button to the About dialog to copy the system info to the clipboard. + List OpenGL extensions last, since there are usually lots of them with a modern gfx card. + When processing survey data, auto-scroll the log window until we've reported a warning or error. + Put the survey data log window in a splitter in the standard frame rather than having a separate frame for it. Sat Apr 17 12:13:00 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Add case for "GTK+ >= 2.6". Sat Apr 17 12:12:00 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Build string using preprocessor string concatenation rather than runtime appending, where possible. Sat Apr 17 12:00:00 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc: Update (C) date. Sat Apr 17 11:59:00 GMT 2010 Olly Betts <olly@survex.com> * src/aboutdlg.cc, src/aboutdlg.h: Use a wxTimer instead of idle events to avoid spinning on the CPU. Sat Apr 17 11:41:00 GMT 2010 Olly Betts <olly@survex.com> * configure.in: New preferred env var for wx-config script is WX_CONFIG. WXCONFIG still supported for compatibility. Tue Jul 28 08:16:00 GMT 2009 Olly Betts <olly@survex.com> * src/mainfrm.cc: The presentation filename now defaults to using the basename of the currently loaded dataset, but we always prompt before we first save with such a name. Tue Jul 28 04:37:00 GMT 2009 Olly Betts <olly@survex.com> * configure.in: Add comment to explain why we call wx-config twice. Tue Jul 28 04:36:00 GMT 2009 Olly Betts <olly@survex.com> * src/datain.c: Use fputs(m, f) instead of fprintf(f, m) in case m contains '%' (m comes from the messages file, so this isn't exploitable by sending someone a "bad" .svx or .3d file). Mon Jul 27 03:29:00 GMT 2009 Olly Betts <olly@survex.com> * src/mainfrm.cc: Fix to open rather than save when doing "open presentation" with wxmotif. Thu Mar 05 01:45:00 GMT 2009 Olly Betts <olly@survex.com> * doc/3dformat.htm: Document that this is version 6 and when we started to use it. Mon Dec 15 10:34:00 GMT 2008 Olly Betts <olly@survex.com> * src/gla-gl.cc: When saving a screenshot, perform the vertical flip of the image data in-place rather than using wxImage::Mirror() which creates a whole new wxImage object. Fri Dec 12 11:12:00 GMT 2008 Olly Betts <olly@survex.com> * src/cad3d.c, src/export.cc: Fix export to SVG when a label contains a '%' character. Fri Dec 12 06:30:00 GMT 2008 Olly Betts <olly@survex.com> * configure.in: Add AM_PROG_CC_C_O which newer autoreconf warns is needed. Fri Dec 12 06:28:00 GMT 2008 Olly Betts <olly@survex.com> * configure.in: Remove AC_SUBST of CRLIB and CROBJX which are no longer set or used. Fri Dec 12 06:03:00 GMT 2008 Olly Betts <olly@survex.com> * NEWS, buildmacosx.sh, configure.in, desc-aven.txt, doc/TODO.htm, doc/manual.sgml, doc/survex.ent, lib/messages.txt, src/aboutdlg.cc, src/aven.cc, src/aven.h, src/gfxcore.cc, src/mainfrm.cc, src/printwx.cc, src/printwx.h, src/wx.h: Say "wxWidgets" instead of "wxWindows" consistently. Require wxWidgets 2.6.0 or newer - 2.4 is really old now. Mon Mar 31 01:53:00 GMT 2008 Olly Betts <olly@survex.com> * doc/3dformat.htm: Update for v6 format from Mike McCombe Fri Sep 07 18:29:00 GMT 2007 Olly Betts <olly@survex.com> * src/gla-gl.cc: Calling glGetError() resets the error state, so we need to store the value in a variable rather than calling it twice! Fri Sep 07 13:54:00 GMT 2007 Olly Betts <olly@survex.com> * src/gla-gl.cc: Add missing CHECK_GL_ERROR() calls and correct some which had the wrong descriptions. Use GL_POINT_SPRITE and GL_COORD_REPLACE instead of GL_POINT_SPRITE_ARB and GL_COORD_REPLACE_ARB. They have the same numeric values, so the shorter (now official) names are better. Fri Sep 07 13:31:00 GMT 2007 Olly Betts <olly@survex.com> * src/Makefile.am, src/gfxcore.cc, src/gfxcore.h, src/gla-gl.cc, src/gla.h, src/matrix4.cc, src/matrix4.h, src/quaternion.cc, src/quaternion.h: Just set the pan and tilt directly as OpenGL rotations rather than messing around setting up and then decoding a quaternion. This fixes some glitches when tilting while looking east, and eliminates 2 source files and 2 headers! Sat Feb 10 13:56:00 GMT 2007 Olly Betts <olly@survex.com> * NEWS, configure.in, src/aven.cc, src/wx.h: (Unix version): aven: Fix display of degree symbol in status bar and messages with accented characters in. (Mac OS X version): Require at least wxWidgets 2.5.1. Sat Feb 10 13:46:00 GMT 2007 Olly Betts <olly@survex.com> * src/message.c: Test S_ISREG since that's what we use here Sat Feb 10 13:37:00 GMT 2007 Olly Betts <olly@survex.com> * src/message.c: Always use utf-8 for aven on unix ������������������������������������survex-1.4.17/desc-aven.txt�������������������������������������������������������������������������0000644�0001750�0001750�00000000206�14563510437�011235� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Advanced cave viewer for Survex, written using the wxWidgets library. Aven supersedes the xcaverot viewer in the main survex package. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/test-driver���������������������������������������������������������������������������0000755�0001750�0001750�00000012137�14766657026�011046� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2024-06-19.01; # UTC # Copyright (C) 2011-2024 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to <bug-automake@gnu.org> or send patches to # <automake-patches@gnu.org>. # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <<END Usage: test-driver --test-name NAME --log-file PATH --trs-file PATH [--expect-failure {yes|no}] [--color-tests {yes|no}] [--collect-skipped-logs {yes|no}] [--enable-hard-errors {yes|no}] [--] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] The '--test-name', '--log-file' and '--trs-file' options are mandatory. See the GNU Automake documentation for information. Report bugs to <bug-automake@gnu.org>. GNU Automake home page: <https://www.gnu.org/software/automake/>. General help using GNU software: <https://www.gnu.org/gethelp/>. END } test_name= # Used for reporting. log_file= # Where to save the output of the test script. trs_file= # Where to save the metadata of the test run. expect_failure=no color_tests=no collect_skipped_logs=yes enable_hard_errors=yes while test $# -gt 0; do case $1 in --help) print_usage; exit $?;; --version) echo "test-driver (GNU Automake) $scriptversion"; exit $?;; --test-name) test_name=$2; shift;; --log-file) log_file=$2; shift;; --trs-file) trs_file=$2; shift;; --color-tests) color_tests=$2; shift;; --collect-skipped-logs) collect_skipped_logs=$2; shift;; --expect-failure) expect_failure=$2; shift;; --enable-hard-errors) enable_hard_errors=$2; shift;; --) shift; break;; -*) usage_error "invalid option: '$1'";; *) break;; esac shift done missing_opts= test x"$test_name" = x && missing_opts="$missing_opts --test-name" test x"$log_file" = x && missing_opts="$missing_opts --log-file" test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" if test x"$missing_opts" != x; then usage_error "the following mandatory options are missing:$missing_opts" fi if test $# -eq 0; then usage_error "missing argument" fi if test $color_tests = yes; then # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. red='' # Red. grn='' # Green. lgn='' # Light green. blu='' # Blue. mgn='' # Magenta. std='' # No color. else red= grn= lgn= blu= mgn= std= fi do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' trap "st=129; $do_exit" 1 trap "st=130; $do_exit" 2 trap "st=141; $do_exit" 13 trap "st=143; $do_exit" 15 # Test script is run here. We create the file first, then append to it, # to ameliorate tests themselves also writing to the log file. Our tests # don't, but others can (automake bug#35762). : >"$log_file" "$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then tweaked_estatus=1 else tweaked_estatus=$estatus fi case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=$collect_skipped_logs;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report the test outcome and exit status in the logs, so that one can # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/��������������������������������������������������������������������������������0000775�0001750�0001750�00000000000�14766657213�010066� 5�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/depthguage.dat������������������������������������������������������������������0000664�0001750�0001750�00000002430�14756727464�012621� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: C SURVEY DATE: 2 1 1 COMMENT:Test diving data 11 char FORMAT SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDWLRUDLAD CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C1 C2 10 000 -10 1 1 1 1 Cave SURVEY NAME: C SURVEY DATE: 1 2 1 COMMENT:Test diving data 12 char FORMAT SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDWLRUDLADN CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C2 C3 20 090 -10 1 1 1 1 Cave SURVEY NAME: C SURVEY DATE: 1 1 1 COMMENT:Test diving data 13 char FORMAT SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDWLRUDLADNF CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C3 C4 30 180 -10 1 1 1 1 Cave SURVEY NAME: D SURVEY DATE: 1 1 2 COMMENT:Test diving data 15 char FORMAT SURVEY TEAM: Us, Them DECLINATION: 0 FORMAT: DDDWLRUDLADadNF CORRECTIONS: 0.00 0.00 0.00 CORRECTIONS2: 0.0 0.0 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C4 C5 40 270 -10 1 1 1 1 Cave SURVEY NAME: D SURVEY DATE: 1 1 1 COMMENT:Non-diving after diving SURVEY TEAM: Us, Them DECLINATION: 0 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C5 C6 50 000 0 1 1 1 1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/quadrant_bearing.svx������������������������������������������������������������0000664�0001750�0001750�00000000533�14756727464�014064� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *units compass quadrants *data normal from to tape compass clino a b 10.0 N 0 b c 30.0 S51W 0 c d 20.0 N12E 0 d e 40.0 E 0 e f 10.0 S17E 0 f g 13.0 N73W 0 g h 05.0 S8E 0 h i 12.0 W 0 i j 23.0 S 0 a 1 10.0 n 0 a 2 10.0 s 0 a 3 10.0 e 0 a 4 10.0 w 0 a 5 10.0 n45e 0 a 6 10.0 s45w 0 a 7 10.0 N45w 0 a 8 10.0 s45E 0 a pit 23.0 - down ���������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csfeet.svx����������������������������������������������������������������������0000644�0001750�0001750�00000001370�14647535025�012012� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *cs out custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232" *cs custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232" *fix 1 reference 36000 83000 1600 *cs custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +vunits=ft" *fix 1ft reference 36000 83000 5250 ; 1600.20 m *cs custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +vunits=us-ft" *fix 1usft reference 36000 83000 5236.21 ; 1596.00 m ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dot17.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000671�14525274540�011460� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 204.midlevel.110_bidet_b.1 ( 0.00, 1.00, 0.00 ) 204.midlevel.110_bidet_b.2 ( -1.00, 1.00, 0.00 ) 204.trunk.insignificant2.0 ( -1.87, 1.50, 0.00 ) 204.trunk.insignificant2.1 ( -1.87, 0.50, 0.00 ) 204.trunk.insignificant2.2 ( -1.00, 1.00, 0.00 ) 204.trunk.nopainnogain.1 ( 0.00, 1.00, 0.00 ) 204.trunk.nopainnogain.2 �����������������������������������������������������������������������survex-1.4.17/tests/dxffullcoords.svx���������������������������������������������������������������0000664�0001750�0001750�00000000173�14756732050�013417� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dxf survexportopt=--full-coordinates warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 bh e 100 090 -5 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/utm.dump������������������������������������������������������������������������0000664�0001750�0001750�00000001453�14756727464�011512� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "utm" DATE "?" DATE_NUMERIC -1 CS EPSG:32760 VERSION 8 SEPARATOR '.' -- LEG 1313799.91 5427953.18 30.00 1313800.39 5427954.06 30.00 [] STYLE=NORMAL 1986.10.13 LEG 1313799.91 5427953.18 30.00 1313800.90 5427953.07 30.02 [] STYLE=NORMAL LEG 1313800.90 5427953.07 30.02 1313800.79 5427952.08 30.00 [] STYLE=NORMAL LEG 1313799.91 5427953.18 30.00 1313800.39 5427954.06 30.00 [] STYLE=NORMAL 1986.10.13 LEG 1313800.39 5427954.06 30.00 1313801.45 5427954.78 30.52 [] STYLE=NORMAL 1999.12.01 NODE 1313801.45 5427954.78 30.52 [D1] UNDERGROUND NODE 1313800.39 5427954.06 30.00 [C2] UNDERGROUND NODE 1313800.79 5427952.08 30.00 [B2] UNDERGROUND NODE 1313800.90 5427953.07 30.02 [B1] UNDERGROUND NODE 1313800.39 5427954.06 30.00 [C3] UNDERGROUND NODE 1313799.91 5427953.18 30.00 [C1] UNDERGROUND ENTRANCE FIXED STOP ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/fixedlollipop.svx���������������������������������������������������������������0000664�0001750�0001750�00000000163�14765126030�013405� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix A 0 0 0 A B 3 000 0 B C 2 000 0 C B 2 180 0 *fix W 9 0 0 X W 3 180 0 X Y 2 000 0 Y X 2 180 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/3sdfixbug.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000175�14647535025�012441� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; bug fixed in 1.0.2 - if no covariances, cov(x,y) was infinity *fix 1 0 0 0 1 1 1 *fix 2 1 1 0 1 2 1 000 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian2.pos������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012547� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) a ( 0.00, -1.00, 0.00 ) b ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurveyhanging2.dump�����������������������������������������������������������0000664�0001750�0001750�00000000314�14765125512�014172� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "nosurveyhanging2" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL NODE 0.00 1.00 0.00 [3] UNDERGROUND NODE 0.00 0.00 0.00 [2] UNDERGROUND STOP ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmap.dump�����������������������������������������������������������������������0000664�0001750�0001750�00000000777�14756727464�011635� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "FAKE CAVE, NOWHERE" DATE "69/12/01 12:00" DATE_NUMERIC -2635200 VERSION -4 SEPARATOR ' ' -- NODE 0.00 0.00 0.00 [A1] UNDERGROUND NODE 1.22 3.66 -0.91 [A2.1] UNDERGROUND LEG 0.00 0.00 0.00 1.22 3.66 -0.91 [] NODE 10.36 15.85 -0.91 [A2.2] UNDERGROUND LEG 1.22 3.66 -0.91 10.36 15.85 -0.91 [] NODE 19.51 15.85 -0.91 [A3] UNDERGROUND LEG 10.36 15.85 -0.91 19.51 15.85 -0.91 [] NODE 19.51 28.04 -0.91 [A4] UNDERGROUND LEG 19.51 15.85 -0.91 19.51 28.04 -0.91 [] LEG 19.51 28.04 -0.91 10.36 15.85 -0.91 [] STOP �survex-1.4.17/tests/badunits.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000700�14765125402�012343� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=15 *fix 1 reference 0 0 0 *units length FURLONGS *units compass 0.0174532925 Radians *units compass METRES *units tape clino Degrees *units tape clino 0.1 Metres *units Anemometer Knots *units deFault *units DEFault MeterS ; comment *units DEFault 1.0 MeterS *units Tape DEFault MeterS *units Tape DEFault *units DEFault Tape *units DEFault Tape Feet *units tape feet *units left degrees *units length metres2 *units length br0ken ����������������������������������������������������������������survex-1.4.17/tests/bugdz.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000614�14647535025�011654� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *begin *data diving from to tape compass depthchange *units depth 0.01 metres *calibrate depth 100 -1 1 2a 5.00 090 400 *end *begin *data cylpolar from to tape compass depthchange *units depth 0.01 metres *calibrate depth 100 -1 1 2b 4.00 090 400 *end *begin *data cylpolar from to tape compass fromdepth todepth *units depth 0.01 metres 1 2c 4.00 090 1000 700 *end ��������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/back2.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000704�14567212227�011501� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 10.00, 0.00 ) 2a ( 0.00, 10.00, 0.00 ) 2b ( 0.00, 10.00, 0.00 ) 3a ( 0.00, 10.00, 0.00 ) 3b ( 0.00, 10.00, 0.00 ) 4a ( 0.00, 10.00, 0.00 ) 4b ( 0.00, 10.00, 0.00 ) 5a ( 0.00, 10.00, 0.00 ) 5b ( 0.00, 10.00, 0.00 ) 5c ( 0.00, 10.00, 0.00 ) 5d ( 9.00, 12.00, 36.00 ) max ������������������������������������������������������������survex-1.4.17/tests/leandroclino.pos����������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�013166� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.73, 1.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix_bad2.out����������������������������������������������������������������0000664�0001750�0001750�00000002307�14765126030�013025� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_fix_bad2.svx:4: info: Survey has no fixed points. Therefore I've fixed a at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./cmd_fix_bad2.svx:6:6: warning: Station already fixed at the same coordinates *fix a 0 0 0 ^ ./cmd_fix_bad2.svx:5: info: Previously fixed or equated here ./cmd_fix_bad2.svx:7:6: error: Station already fixed or equated to a fixed point *fix c 1 1 1 ^ ./cmd_fix_bad2.svx:3: info: Previously fixed or equated here Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 3 legs. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from b at 0.00m to b at 0.00m) North-South range = 1.00m (from b at 1.00m to a at 0.00m) East-West range = 0.00m (from b at 0.00m to b at 0.00m) There were 1 warning(s) and 1 error(s) - no output files produced. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_sd_bad.svx������������������������������������������������������������������0000644�0001750�0001750�00000000351�14647535025�012576� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=7 *fix 1 reference 0 0 0 ; so there's some survey data *sd tape metres *sd tape 0.05 furlongs *sd tape 0.05 furlongs per fortnight *sd tripe 0.9 feet *sd tape tripe 0.9 feet *sd tape compass 0.4 meters *sd 0.9 feet ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_units_factor.out������������������������������������������������������������0000664�0001750�0001750�00000002173�14765126030�014033� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./bad_units_factor.svx:3:13: error: *UNITS factor must be non-zero *units tape 0 feet ^ ./bad_units_factor.svx:4:16: error: *UNITS factor must be non-zero *units compass 000 degrees ^~~ ./bad_units_factor.svx:5:14: error: *UNITS factor must be non-zero *units clino 0.0 grads ^~~ ./bad_units_factor.svx:6:14: error: *UNITS factor must be non-zero *units depth .0 metres ^~ ./bad_units_factor.svx:7:17: error: *UNITS factor must be non-zero *units altitude 0 yards ^ ./bad_units_factor.svx:8:18: error: *UNITS factor must be non-zero *units backclino 0 percent ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 6 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bugdz.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000253�14525274540�011631� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 4.00, 0.00, -3.00 ) 2a ( 4.00, 0.00, -3.00 ) 2b ( 4.00, 0.00, -3.00 ) 2c �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dump3d.tst����������������������������������������������������������������������0000775�0001750�0001750�00000006102�14765126030�011723� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - dump3d tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 test -x "$testdir"/../src/cavern || testdir=. case `uname -a` in MINGW*) DIFF='diff --strip-trailing-cr' QUIET_DIFF='diff -q --strip-trailing-cr' ;; *) DIFF=diff # Use cmp when we can as a small optimisation. QUIET_DIFF='cmp -s' ;; esac : ${DUMP3D="$testdir"/../src/dump3d} : ${TESTS=${*:-"cmapstn.adj cmap.sht \ multisection.plt multisurvey.plt pre1970.plt \ dump3ddate.3d extendsurveyx.3d filter.plt separator.3d"}} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" DUMP3D="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DUMP3D" fi for file in $TESTS ; do echo $file case $file in *.*) input="$srcdir/$file" expect=$srcdir/`echo "$file"|sed 's/\.[^.]*$//'`.dump ;; *) input="$srcdir/$file.3d" expect="$srcdir/$file.dump" ;; esac DUMP3D_OPTS='--show-dates --legs' case $file in extendsurveyx.3d) DUMP3D_OPTS="$DUMP3D_OPTS --survey=x." ;; filter.plt) DUMP3D_OPTS="$DUMP3D_OPTS --survey=Z+" ;; separator.3d) DUMP3D_OPTS="$DUMP3D_OPTS --survey=foo" ;; dump3ddate.3d) DUMP3D_OPTS="$DUMP3D_OPTS -D" ;; esac rm -f tmp.diff tmp.dump $DUMP3D $DUMP3D_OPTS "$input" > tmp.dump exitcode=$? if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test $exitcode = 0 || exit 1 if test -n "$VERBOSE" ; then $DIFF tmp.dump "$expect" exitcode=$? else $QUIET_DIFF tmp.dump "$expect" > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test $exitcode = 0 || exit 1 rm -f tmp.diff tmp.dump done test -n "$VERBOSE" && echo "Test passed" exit 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_date.dump�������������������������������������������������������������������0000664�0001750�0001750�00000021122�14765126030�012416� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "cmd_date" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1900.01.01 LEG 0.00 0.00 0.00 0.00 2.00 0.00 [] STYLE=NORMAL 1900.01.01-1900.01.31 LEG 0.00 0.00 0.00 0.00 3.00 0.00 [] STYLE=NORMAL 1900.02.01-1900.02.28 LEG 0.00 0.00 0.00 0.00 4.00 0.00 [] STYLE=NORMAL 1900.01.01-1900.12.31 LEG 0.00 0.00 0.00 0.00 5.00 0.00 [] STYLE=NORMAL 1900.01.01-2000.12.31 LEG 0.00 0.00 0.00 0.00 6.00 0.00 [] STYLE=NORMAL 1900.01.02 LEG 0.00 0.00 0.00 0.00 7.00 0.00 [] STYLE=NORMAL 1900.03.01-1900.03.31 LEG 0.00 0.00 0.00 0.00 8.00 0.00 [] STYLE=NORMAL 1900.04.01-1900.04.30 LEG 0.00 0.00 0.00 0.00 9.00 0.00 [] STYLE=NORMAL 1900.02.28 LEG 0.00 0.00 0.00 0.00 10.00 0.00 [] STYLE=NORMAL 1901.01.01-1901.12.31 LEG 0.00 0.00 0.00 0.00 11.00 0.00 [] STYLE=NORMAL 1902.01.01 LEG 0.00 0.00 0.00 0.00 12.00 0.00 [] STYLE=NORMAL 1902.01.01-1902.01.31 LEG 0.00 0.00 0.00 0.00 13.00 0.00 [] STYLE=NORMAL 1902.02.01-1902.02.28 LEG 0.00 0.00 0.00 0.00 14.00 0.00 [] STYLE=NORMAL 1902.01.01-1902.12.31 LEG 0.00 0.00 0.00 0.00 15.00 0.00 [] STYLE=NORMAL 1902.01.01-2000.12.31 LEG 0.00 0.00 0.00 0.00 16.00 0.00 [] STYLE=NORMAL 1903.01.01 LEG 0.00 0.00 0.00 0.00 17.00 0.00 [] STYLE=NORMAL 1903.01.01-1903.01.31 LEG 0.00 0.00 0.00 0.00 18.00 0.00 [] STYLE=NORMAL 1903.02.01-1903.02.28 LEG 0.00 0.00 0.00 0.00 19.00 0.00 [] STYLE=NORMAL 1903.01.01-1903.12.31 LEG 0.00 0.00 0.00 0.00 20.00 0.00 [] STYLE=NORMAL 1902.01.01-2001.12.31 LEG 0.00 0.00 0.00 0.00 21.00 0.00 [] STYLE=NORMAL 1969.12.31 LEG 0.00 0.00 0.00 0.00 22.00 0.00 [] STYLE=NORMAL 1969.12.30 LEG 0.00 0.00 0.00 0.00 23.00 0.00 [] STYLE=NORMAL 1969.12.01-1969.12.31 LEG 0.00 0.00 0.00 0.00 24.00 0.00 [] STYLE=NORMAL 1969.01.01-1969.12.31 LEG 0.00 0.00 0.00 0.00 25.00 0.00 [] STYLE=NORMAL 1970.01.01 LEG 0.00 0.00 0.00 0.00 26.00 0.00 [] STYLE=NORMAL 1970.01.01-1970.01.31 LEG 0.00 0.00 0.00 0.00 27.00 0.00 [] STYLE=NORMAL 1970.02.01-1970.02.28 LEG 0.00 0.00 0.00 0.00 28.00 0.00 [] STYLE=NORMAL 1970.01.01-1970.12.31 LEG 0.00 0.00 0.00 0.00 29.00 0.00 [] STYLE=NORMAL 1999.12.31 LEG 0.00 0.00 0.00 0.00 30.00 0.00 [] STYLE=NORMAL 1970.01.01-2000.12.31 LEG 0.00 0.00 0.00 0.00 31.00 0.00 [] STYLE=NORMAL 1970.01.02 LEG 0.00 0.00 0.00 0.00 32.00 0.00 [] STYLE=NORMAL 1970.03.01-1970.03.31 LEG 0.00 0.00 0.00 0.00 33.00 0.00 [] STYLE=NORMAL 1970.04.01-1970.04.30 LEG 0.00 0.00 0.00 0.00 34.00 0.00 [] STYLE=NORMAL 1971.01.01-1971.12.31 LEG 0.00 0.00 0.00 0.00 35.00 0.00 [] STYLE=NORMAL 1970.01.01-2001.12.31 LEG 0.00 0.00 0.00 0.00 36.00 0.00 [] STYLE=NORMAL 1975.01.31 LEG 0.00 0.00 0.00 0.00 37.00 0.00 [] STYLE=NORMAL 1975.02.28 LEG 0.00 0.00 0.00 0.00 38.00 0.00 [] STYLE=NORMAL 1975.03.31 LEG 0.00 0.00 0.00 0.00 39.00 0.00 [] STYLE=NORMAL 1975.04.30 LEG 0.00 0.00 0.00 0.00 40.00 0.00 [] STYLE=NORMAL 1975.05.31 LEG 0.00 0.00 0.00 0.00 41.00 0.00 [] STYLE=NORMAL 1975.06.30 LEG 0.00 0.00 0.00 0.00 42.00 0.00 [] STYLE=NORMAL 1975.07.31 LEG 0.00 0.00 0.00 0.00 43.00 0.00 [] STYLE=NORMAL 1975.08.31 LEG 0.00 0.00 0.00 0.00 44.00 0.00 [] STYLE=NORMAL 1975.09.30 LEG 0.00 0.00 0.00 0.00 45.00 0.00 [] STYLE=NORMAL 1975.10.31 LEG 0.00 0.00 0.00 0.00 46.00 0.00 [] STYLE=NORMAL 1975.11.30 LEG 0.00 0.00 0.00 0.00 47.00 0.00 [] STYLE=NORMAL 1975.12.31 LEG 0.00 0.00 0.00 0.00 48.00 0.00 [] STYLE=NORMAL 1976.01.31 LEG 0.00 0.00 0.00 0.00 49.00 0.00 [] STYLE=NORMAL 1976.02.29 LEG 0.00 0.00 0.00 0.00 50.00 0.00 [] STYLE=NORMAL 1976.03.31 LEG 0.00 0.00 0.00 0.00 51.00 0.00 [] STYLE=NORMAL 1976.04.30 LEG 0.00 0.00 0.00 0.00 52.00 0.00 [] STYLE=NORMAL 1976.05.31 LEG 0.00 0.00 0.00 0.00 53.00 0.00 [] STYLE=NORMAL 1976.06.30 LEG 0.00 0.00 0.00 0.00 54.00 0.00 [] STYLE=NORMAL 1976.07.31 LEG 0.00 0.00 0.00 0.00 55.00 0.00 [] STYLE=NORMAL 1976.08.31 LEG 0.00 0.00 0.00 0.00 56.00 0.00 [] STYLE=NORMAL 1976.09.30 LEG 0.00 0.00 0.00 0.00 57.00 0.00 [] STYLE=NORMAL 1976.10.31 LEG 0.00 0.00 0.00 0.00 58.00 0.00 [] STYLE=NORMAL 1976.11.30 LEG 0.00 0.00 0.00 0.00 59.00 0.00 [] STYLE=NORMAL 1976.12.31 LEG 0.00 0.00 0.00 0.00 60.00 0.00 [] STYLE=NORMAL 2000.01.31 LEG 0.00 0.00 0.00 0.00 61.00 0.00 [] STYLE=NORMAL 2000.02.29 LEG 0.00 0.00 0.00 0.00 62.00 0.00 [] STYLE=NORMAL 2000.03.31 LEG 0.00 0.00 0.00 0.00 63.00 0.00 [] STYLE=NORMAL 2000.04.30 LEG 0.00 0.00 0.00 0.00 64.00 0.00 [] STYLE=NORMAL 2000.05.31 LEG 0.00 0.00 0.00 0.00 65.00 0.00 [] STYLE=NORMAL 2000.06.30 LEG 0.00 0.00 0.00 0.00 66.00 0.00 [] STYLE=NORMAL 2000.07.31 LEG 0.00 0.00 0.00 0.00 67.00 0.00 [] STYLE=NORMAL 2000.08.31 LEG 0.00 0.00 0.00 0.00 68.00 0.00 [] STYLE=NORMAL 2000.09.30 LEG 0.00 0.00 0.00 0.00 69.00 0.00 [] STYLE=NORMAL 2000.10.31 LEG 0.00 0.00 0.00 0.00 70.00 0.00 [] STYLE=NORMAL 2000.11.30 LEG 0.00 0.00 0.00 0.00 71.00 0.00 [] STYLE=NORMAL 2000.12.31 LEG 0.00 0.00 0.00 0.00 72.00 0.00 [] STYLE=NORMAL 1900.01.01-2078.12.31 LEG 0.00 0.00 0.00 0.00 73.00 0.00 [] STYLE=NORMAL 2078.12.31 LEG 0.00 0.00 0.00 0.00 74.00 0.00 [] STYLE=NORMAL 2078.06.01-2078.06.30 LEG 0.00 0.00 0.00 0.00 75.00 0.00 [] STYLE=NORMAL 2078.01.01-2078.12.31 LEG 0.00 0.00 0.00 0.00 76.00 0.00 [] STYLE=NORMAL 2016.08.25-2078.12.31 LEG 0.00 0.00 0.00 0.00 77.00 0.00 [] STYLE=NORMAL 2078.12.01-2078.12.31 LEG 0.00 0.00 0.00 0.00 78.00 0.00 [] STYLE=NORMAL 1911.01.01-1913.12.31 LEG 0.00 0.00 0.00 0.00 79.00 0.00 [] STYLE=NORMAL 1911.12.01-1911.12.31 NODE 0.00 79.00 0.00 [1911_12] UNDERGROUND NODE 0.00 78.00 0.00 [1911_13] UNDERGROUND NODE 0.00 77.00 0.00 [20781201_20781231] UNDERGROUND NODE 0.00 76.00 0.00 [20160825_20781231] UNDERGROUND NODE 0.00 75.00 0.00 [2078] UNDERGROUND NODE 0.00 74.00 0.00 [207806] UNDERGROUND NODE 0.00 73.00 0.00 [20781231] UNDERGROUND NODE 0.00 72.00 0.00 [1900_2078] UNDERGROUND NODE 0.00 71.00 0.00 [20001231] UNDERGROUND NODE 0.00 70.00 0.00 [20001130] UNDERGROUND NODE 0.00 69.00 0.00 [20001031] UNDERGROUND NODE 0.00 68.00 0.00 [20000930] UNDERGROUND NODE 0.00 67.00 0.00 [20000831] UNDERGROUND NODE 0.00 66.00 0.00 [20000731] UNDERGROUND NODE 0.00 65.00 0.00 [20000630] UNDERGROUND NODE 0.00 64.00 0.00 [20000531] UNDERGROUND NODE 0.00 63.00 0.00 [20000430] UNDERGROUND NODE 0.00 62.00 0.00 [20000331] UNDERGROUND NODE 0.00 61.00 0.00 [20000229] UNDERGROUND NODE 0.00 60.00 0.00 [20000131] UNDERGROUND NODE 0.00 59.00 0.00 [19761231] UNDERGROUND NODE 0.00 58.00 0.00 [19761130] UNDERGROUND NODE 0.00 57.00 0.00 [19761031] UNDERGROUND NODE 0.00 56.00 0.00 [19760930] UNDERGROUND NODE 0.00 55.00 0.00 [19760831] UNDERGROUND NODE 0.00 54.00 0.00 [19760731] UNDERGROUND NODE 0.00 53.00 0.00 [19760630] UNDERGROUND NODE 0.00 52.00 0.00 [19760531] UNDERGROUND NODE 0.00 51.00 0.00 [19760430] UNDERGROUND NODE 0.00 50.00 0.00 [19760331] UNDERGROUND NODE 0.00 49.00 0.00 [19760229] UNDERGROUND NODE 0.00 48.00 0.00 [19760131] UNDERGROUND NODE 0.00 47.00 0.00 [19751231] UNDERGROUND NODE 0.00 46.00 0.00 [19751130] UNDERGROUND NODE 0.00 45.00 0.00 [19751031] UNDERGROUND NODE 0.00 44.00 0.00 [19750930] UNDERGROUND NODE 0.00 43.00 0.00 [19750831] UNDERGROUND NODE 0.00 42.00 0.00 [19750731] UNDERGROUND NODE 0.00 41.00 0.00 [19750630] UNDERGROUND NODE 0.00 40.00 0.00 [19750531] UNDERGROUND NODE 0.00 39.00 0.00 [19750430] UNDERGROUND NODE 0.00 38.00 0.00 [19750331] UNDERGROUND NODE 0.00 37.00 0.00 [19750228] UNDERGROUND NODE 0.00 36.00 0.00 [19750131] UNDERGROUND NODE 0.00 35.00 0.00 [1970_2001] UNDERGROUND NODE 0.00 34.00 0.00 [1971] UNDERGROUND NODE 0.00 33.00 0.00 [197004] UNDERGROUND NODE 0.00 32.00 0.00 [197003] UNDERGROUND NODE 0.00 31.00 0.00 [19700102] UNDERGROUND NODE 0.00 30.00 0.00 [1970_2000] UNDERGROUND NODE 0.00 29.00 0.00 [19991231] UNDERGROUND NODE 0.00 28.00 0.00 [1970] UNDERGROUND NODE 0.00 27.00 0.00 [197002] UNDERGROUND NODE 0.00 26.00 0.00 [197001] UNDERGROUND NODE 0.00 25.00 0.00 [19700101] UNDERGROUND NODE 0.00 24.00 0.00 [1969] UNDERGROUND NODE 0.00 23.00 0.00 [196912] UNDERGROUND NODE 0.00 22.00 0.00 [19691230] UNDERGROUND NODE 0.00 21.00 0.00 [19691231] UNDERGROUND NODE 0.00 20.00 0.00 [1902_2001] UNDERGROUND NODE 0.00 19.00 0.00 [1903] UNDERGROUND NODE 0.00 18.00 0.00 [190302] UNDERGROUND NODE 0.00 17.00 0.00 [190301] UNDERGROUND NODE 0.00 16.00 0.00 [19030101] UNDERGROUND NODE 0.00 15.00 0.00 [1902_2000] UNDERGROUND NODE 0.00 14.00 0.00 [1902] UNDERGROUND NODE 0.00 13.00 0.00 [190202] UNDERGROUND NODE 0.00 12.00 0.00 [190201] UNDERGROUND NODE 0.00 11.00 0.00 [19020101] UNDERGROUND NODE 0.00 10.00 0.00 [1901] UNDERGROUND NODE 0.00 9.00 0.00 [19000228] UNDERGROUND NODE 0.00 8.00 0.00 [190004] UNDERGROUND NODE 0.00 7.00 0.00 [190003] UNDERGROUND NODE 0.00 6.00 0.00 [19000102] UNDERGROUND NODE 0.00 5.00 0.00 [1900_2000] UNDERGROUND NODE 0.00 4.00 0.00 [1900] UNDERGROUND NODE 0.00 3.00 0.00 [190002] UNDERGROUND NODE 0.00 2.00 0.00 [190001] UNDERGROUND NODE 0.00 1.00 0.00 [19000101] UNDERGROUND NODE 0.00 0.00 0.00 [_] UNDERGROUND FIXED STOP ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/back.svx������������������������������������������������������������������������0000664�0001750�0001750�00000001641�14756732050�011442� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=2 *data normal from to tape compass clino backcompass backclino *fix 1 0 0 0 1 2 1.0 000 -30 - - 1 3 1.0 - - 180 30 1 4 1.0 000 - - 30 1 5 1.0 - -30 180 - 1 A 1.0 000 -30 180 30 1 B 1.0 - -30 180 30 1 C 1.0 000 - 180 30 1 D 1.0 000 -30 - 30 1 E 1.0 000 -30 180 - *data normal from to tape compass backcompass clino backclino *units compass backcompass clino backclino grads 1 X 10 000.5 199.5 00 - 1 Y 10 000 - 02 02 1 Z 10 000 - -01.25 -01.25 ; Regression test for bug fixed in 1.2.25. In versions prior to this, this ; would incorrectly warn about the difference between COMPASS and BACKCOMPASS, ; as we were using 0 for the BACKCOMPASS s.d. which leads to a threshold of ; about 71% of what it should be: 1 R 10 001.178 198.822 -1.178 -1.178 *data cartesian from to dx dy dz ; Work around variation in which stations are picked for min and max: 1 min -1 -1 -1 1 max 9 12 36 �����������������������������������������������������������������������������������������������survex-1.4.17/tests/cylpolar.pos��������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�012337� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 1.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badmak.out����������������������������������������������������������������������0000664�0001750�0001750�00000002375�14765126030�011750� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badmak.mak:3:5: error: Expecting "F" or "M" C1 [inch,10.23,20.47,1234.56], C3 [m,10.23,20.47,1234.56], ^ ./badmak.mak:4:5: error: Expecting "F" or "M" C2 [n,10.23,20.47,1234.56], C3 [m,10.23,20.47,1234.56], ^ ./badmak.mak:4:29: warning: Station already fixed at the same coordinates C2 [n,10.23,20.47,1234.56], C3 [m,10.23,20.47,1234.56], ^~ ./badmak.mak:3: info: Previously fixed or equated here ./badmak.mak:5:1: error: Station already fixed or equated to a fixed point C3 [f,10.23,20.47,1234.56]; ^~ ./badmak.mak:3: info: Previously fixed or equated here Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 5 legs. There are 0 loops. Total length of survey legs = 5.39m ( 3.39m adjusted) Total plan length of survey legs = 5.29m Total vertical length of survey legs = 0.56m Vertical range = 0.52m (from D1 at 1235.08m to B2 at 1234.56m) North-South range = 2.15m (from D1 at 21.62m to B2 at 19.47m) East-West range = 1.00m (from B2 at 11.23m to C3 at 10.23m) There were 1 warning(s) and 3 error(s) - no output files produced. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix.out���������������������������������������������������������������������0000664�0001750�0001750�00000002061�14765126030�012132� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_fix.svx:2:8: info: FIX command with no coordinates - fixing at (0,0,0) *fix A ; generates an info diagnostic ^ ./cmd_fix.svx:12:6: warning: Station already fixed at the same coordinates *fix W 0 0 0 ^ ./cmd_fix.svx:10: info: Previously fixed or equated here ./cmd_fix.svx:13:6: warning: Station already fixed at the same coordinates *fix W1 0 0 0 ^~ ./cmd_fix.svx:11: info: Previously fixed or equated here ./cmd_fix.svx:14:6: warning: Station already fixed at the same coordinates *fix W2 0 0 0 ^~ ./cmd_fix.svx:11: info: Previously fixed or equated here Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 9 survey stations, joined by 2 legs. There are 0 loops. Survey has 7 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 3 warning(s). �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lowsd.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000207�14647535025�011667� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *sd length position 0.0013 metres *sd bearing gradient 0.00185 degrees *fix 1 0 0 0 1 2 10.00 180 -10 2 1 10.00 001 11 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multibug.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000406�14647535025�012370� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; 0.98-pre4 and earlier didn't push back the * or *begin or *end below *fix 1 0 0 0 *data normal station newline tape compass clino 1 1.00 000 0 2 ; test 1.00 090 0 ; test 3 *begin 3 1.00 180 0 ; testing 4 ; testing 1.00 270 0 5 *end ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multicylpolar.pos���������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�013412� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 1.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/pltexport.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000504�14756732050�012600� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=plt survexportopt=--surface-legs survexportopt=--splays warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 bh 1 100 090 -5 1 2 100 180 -5 *begin *flags surface 2 3 100 270 -5 2 . 90 180 -5 3 .. 90 180 -5 *end 2 5 100 090 -5 *begin *flags splay 5 6 90 180 -5 *end *flags duplicate 5 6a 89 180 -5 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsdecl.wpj�������������������������������������������������������������������0000664�0001750�0001750�00000000654�14756732050�012477� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;WALLS Project File .BOOK Test Project .NAME PROJECT .OPTIONS $macro=1 .STATUS 1092115 .REF 4113846.340 580661.570 16 0.549 219 6 37 10 3.195 86 5 29.254 19 "NAD83" .BOOK Ignored Book review units metres .NAME IGNBOOK .STATUS 10 .SURVEY Missing survey file in ignored book .NAME IGNORED .STATUS 8 .ENDBOOK .BOOK Book with review units feet .NAME BOOKFEET .STATUS 24 .SURVEY DECLTEST .NAME WALLSDECL .STATUS 24 .ENDBOOK .ENDBOOK ������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_ref_bad.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000257�14766161005�012746� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=6 *begin othermic *ref *ref " *ref No quotes *ref "No closing quote *ref "No_closing_quote *ref No opening quote" *fix 1 0 0 0 1 2 1 0 0 *end othermic �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr6b.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000257�14647535025�013026� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *equate entrance outer.mid.inner.1 *begin outer *export mid.inner.1 *begin mid *begin inner *export 1 1 2 1.23 045 -6 *end inner *end mid *end outer �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multicartesian.out��������������������������������������������������������������0000664�0001750�0001750�00000001115�14765126030�013544� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 4 legs. There are 0 loops. Total length of survey legs = 4.00m ( 4.00m adjusted) Total plan length of survey legs = 4.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 5 at 0.00m to 5 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 5 at 0.00m) East-West range = 1.00m (from 4 at 1.00m to 5 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/utf8bom.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000327�14647535025�012126� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*date 9999.1.1 ; pos=no warn=1 ; This file starts with the dumb UTF-8 "BOM". ; ; Generate a warning on the first line to make sure caret debugging skips ; over it when showing the context. *fix 1 reference 0 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/delatendb.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000000�11701006570�012413� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr3.svx������������������������������������������������������������������0000644�0001750�0001750�00000000263�14647535025�012656� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *equate entrance.a outer.inner.1 *begin outer *begin inner 1 2 1.23 045 -6 *end inner *end outer *begin entrance *export a a b 1.11 111 11 *end entrance ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/calibrate_tape.svx��������������������������������������������������������������0000644�0001750�0001750�00000000103�14647535025�013471� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *calibrate tape 5.0 *fix 1 0 0 0 1 2 10.00 000 00 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr1b.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000203�14647535025�013010� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin outer *begin inner *export 1 1 2 1.23 045 -6 *end inner *end outer *equate entrance outer.inner.1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/samename.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000254�14756727464�012344� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=5 17 42 1.0 0.0 0.0 42 42.1 1.0 90.0 0.0 42.1 42.2 1.0 180.0 0.0 *begin 17 *end 17 *fix 17 0 0 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/repeatreading.out���������������������������������������������������������������0000664�0001750�0001750�00000001116�14765126030�013333� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 10.25m ( 10.25m adjusted) Total plan length of survey legs = 10.25m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 10.25m (from 2 at 10.25m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badreadingdotplus.out�����������������������������������������������������������0000664�0001750�0001750�00000002122�14765126030�014212� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badreadingdotplus.svx:3:5: error: Expecting numeric field, found ".hello." 1 2 .hello. 100 -90 ^~~~~~~ ./badreadingdotplus.svx:4:5: error: Expecting numeric field, found "+hello+" 2 3 +hello+ 100 -45 ^~~~~~~ ./badreadingdotplus.svx:6:5: error: Expecting numeric field, found "-hello" 3 4 -hello 100 -22.5 ^~~~~~ ./badreadingdotplus.svx:7:17: error: Expecting numeric field, found "" 4 5 10.00 100 ;comment ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 3 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 4 at 0.00m to 4 at 0.00m) North-South range = 0.00m (from 4 at 0.00m to 4 at 0.00m) East-West range = 0.00m (from 4 at 0.00m to 4 at 0.00m) There were 0 warning(s) and 4 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstnrev.svx������������������������������������������������������������������0000644�0001750�0001750�00000000065�14647535025�012736� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 error=0 *fix 1 0 0 0 . 1 2.00 000 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlereffix.pos����������������������������������������������������������������0000644�0001750�0001750�00000000102�14525274540�013174� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dump3ddate.3d�������������������������������������������������������������������0000664�0001750�0001750�00000007135�14765126030�012261� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v8 cmd_date @1729487704 ����������������`����d���������������������`������������������������`����,��������������������l`������������������������`�����������������������`����X������������������;�`����������������������Z�`���� ������������������:�`����������������������m`����������������������`����L������������������`����������������������`����������������������F`����x������������������`����������������������G`����@������������������G`����������������������f`����������������������G`����l������������������`����������������������c`����4������������������c`����������������������c`����������������������rbc`����` ������������������c`���� ������������������c`����( ������������������c`���� ������������������cKe`���� ������������������`����T ������������������c`���� ������������������c`���� ������������������d`���� ������������������9d`���� ������������������Lef`����H ������������������c`���� ������������������k`����������������������;k`����t������������������Zk`����������������������xk`����<������������������k`����������������������k`����������������������k`����h������������������k`����������������������l`����0������������������0l`����������������������Nl`����������������������ml`����\������������������l`����������������������l`����$������������������l`����������������������l`����������������������m`����P������������������#m`����������������������Bm`����������������������am`����|������������������m`����������������������m`����D������������������m`����������������������m`���� ������������������ʎ`����p������������������`����������������������`����8������������������$`����������������������C`�����������������������a`����d������������������`����������������������`����,������������������`����������������������܏`����������������������`����X������������������`������������������������b`���� ������������������b`����������������������`����������������������b`����L������������������mb`����������������������D`������������20781201_20781231����������160825_20781231����������78����L������06����������$1231����������1900_2078���� ������20001231����������3130����X������3031����������D0930����������3831����,������3731����������3630����d������3531�����������3430����������3331����8������3229����������3131����p������19761231���� ������3130����������3031����D������D0930����������3831����|������3731����������3630����������3531����P������3430����������3331����������3229����$������3131����������U51231����\������3130����������3031����������D0930����0������3831����������3731����h������3630����������3531����������3430����<������3331����������3228����t������3131����������V0_2001���� ������a1����H ������004���� ������3���� ������102���� ������E_2000���� ������v991231����T ������b70���� ������02���� ������1����( ������01���� ������b69����` ������12����������30����������1����4������g02_2001����������a3����l������02����������1����������01����@������V2_2000����������P����x������02����������1����������01����L������Q1����������00228����������14���� ������3����������102����X������E_2000����������P����������02����,������1�����������01����d�������_������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/Makefile.am���������������������������������������������������������������������0000664�0001750�0001750�00000017253�14766160251�012041� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Process this file with automake to produce Makefile.in TESTS = smoke.tst diffpos.tst cavern.tst extend.tst 3dtopos.tst aven.tst imgtest.tst dump3d.tst EXTRA_DIST = compare.tst $(TESTS)\ beginroot.svx beginroot.out\ oneleg.svx oneleg.pos\ midpoint.svx midpoint.pos\ lollipop.svx lollipop.out lollipop.pos\ fixedlollipop.svx fixedlollipop.out fixedlollipop.pos\ cross.svx cross.pos\ deltastar.svx deltastar.pos\ deltastar2.svx deltastar2.pos\ deltastarhanging.svx deltastarhanging.out\ equate_bug.svx equate_bug.out\ firststn.svx firststn.pos\ break_replace_pfx.svx\ bug0.svx bug1.svx bug2.svx bug3.svx bug3.out bug3.pos bug4.svx bug5.svx\ expobug.svx\ nosurvey2.svx nosurvey2.pos nosurvey2.out\ cartesian.svx cartesian.pos cartesian.out\ cartesian2.svx cartesian2.pos cartesian2.out\ require.svx\ calibrate_tape.svx calibrate_tape.pos\ delatenda.pos delatendb.pos delatend.out\ addatenda.pos addatendb.pos addatend.out\ begin_no_end.svx end_no_begin.svx end_no_begin_nest.svx\ require_fail.out require_fail.svx\ extend.svx extendx.3d\ revcomplist.svx\ exporterr1.svx exporterr2.svx exporterr3.svx exporterr4.svx exporterr5.svx\ exporterr6.svx exporterr1b.svx exporterr1b.out exporterr2b.svx\ exporterr3b.svx exporterr6b.svx\ hanging_cpt.svx\ self_loop.svx self_eq_loop.svx\ badinc.out badinc.svx\ badinc2.out badinc2.svx\ badinc3.out badinc3.svx\ badinc4.out badinc4.svx\ badinc5.mak badinc5.out\ export.svx export2.svx\ singlefix.svx singlefix.out singlefix.pos singlereffix.svx singlereffix.pos\ singlefixerr.svx singlefixerr.pos singlereffixerr.svx singlereffixerr.pos\ includecomment.svx\ reenterwarn.svx reenterwarn.out\ angleunits.svx angleunits.pos\ lengthunits.svx lengthunits.out lengthunits.pos\ cmd_alias.svx cmd_alias.out cmd_alias.pos\ cmd_alias_bad.svx cmd_alias_bad.out\ cmd_copyright.svx\ cmd_copyright_bad.svx cmd_copyright_bad.out\ cmd_default.svx\ cmd_default_bad.svx cmd_default_bad.out\ cmd_prefix.svx cmd_truncate.svx cmd_truncate.pos\ cmd_truncate_bad.svx cmd_truncate_bad.out\ cmd_case.svx cmd_case.pos\ cmd_case_bad.svx cmd_case_bad.out\ cmd_cartesian.svx cmd_cartesian.dump cmd_cartesian.out\ cmd_cartesian_bad.svx cmd_cartesian_bad.out\ cmd_fix.svx cmd_fix.out cmd_fix.pos\ cmd_fix2.svx cmd_fix2.out\ cmd_ref.svx\ cmd_ref_bad.svx cmd_ref_bad.out\ cmd_solve.svx cmd_solve.out cmd_solve.pos\ cmd_entrance.svx\ stnsurvey1.svx stnsurvey2.svx\ tapelessthandepth.svx longname.svx\ chinabug.svx chinabug.out chinabug2.svx\ multinormal.svx multinormal.pos\ multinormignall.svx multinormignall.pos\ multidiving.svx multidiving.out multidiving.pos\ multicylpolar.svx multicylpolar.pos\ multicartesian.svx multicartesian.pos multicartesian.out\ multinosurv.svx multinosurv.dump multinosurv.out\ multinormalbad.svx multibug.svx\ cmd_team.svx\ cmd_team_bad.svx cmd_team_bad.out\ cmd_title.svx cmd_titlebad.svx\ cmd_dummy.svx cmd_infer.svx cmd_infer.pos\ cartes.svx cartes.pos cartes.out\ diving.svx diving.pos diving.out\ cylpolar.svx cylpolar.pos\ normal.svx normal.pos\ normal_bad.svx normal_bad.out\ normignall.svx normignall.pos\ nosurv.svx nosurv.pos nosurv.out\ quadrant_bearing.svx quadrant_bearing.pos\ bad_quadrant_bearing.svx bad_quadrant_bearing.out\ cmd_flags.svx bad_cmd_flags.svx bad_cmd_flags.out\ plumb.svx plumb.pos\ cmd_begin_bad.svx cmd_begin_bad.out\ cmd_equate_bad.svx cmd_equate_bad.out\ cmd_export_bad.svx cmd_export_bad.out\ cmd_fix_bad.svx cmd_fix_bad.out\ cmd_fix_bad2.svx cmd_fix_bad2.out\ cmd_sd.svx cmd_sd_bad.svx cmd_sd_bad.out\ cmd_set.svx cmd_set.pos\ cmd_set_bad.svx cmd_set_bad.out\ cmd_set_dot_in_name.svx cmd_set_dot_in_name.dump\ unusedstation.svx exportnakedbegin.svx\ oldestyle.svx\ pos.pos v0.3d v0b.3d v1.3d v2.3d v3.3d\ baddatacylpolar.svx baddatacylpolar.out\ baddatanosurv.svx baddatanosurv.out\ bugdz.svx bugdz.pos badnewline.svx\ badquantities.svx imgoffbyone.svx imgoffbyone.pos\ infereqtopofil.svx infereqtopofil.pos\ 3sdfixbug.svx 3sdfixbug.pos\ extend2names.svx extend2namesx.3d\ omitclino.svx omitclino.pos\ back.svx back.out back.pos\ back2.svx back2.out back2.pos\ bad_back.svx bad_back.out\ notentranceorexport.svx inferunknown.svx inferunknown.out inferexports.svx\ bad_units_factor.svx bad_units_factor.out\ bad_units_qlist.svx bad_units_qlist.out\ percent_gradient.svx percent_gradient.pos\ dotinsurvey.svx dotinsurvey.out\ 2fixbug.svx leandroclino.svx leandroclino.pos lowsd.svx revdir.svx revdir.pos\ gettokennullderef.svx lech.svx level.svx level.pos\ backread.dat backread.dump\ clptest.dat clptest.clp clptest.dump\ corrections.dat corrections.pos\ depthguage.dat depthguage.dump\ karstcompat.dat karstcompat.dump\ flags.dat flags.dump flags.out lrud.dat lrud.out lrud.pos\ nomeasure.dat nomeasure.out nomeasure.pos noteam.dat noteam.out noteam.pos\ badmak.mak badmak.out\ fixfeet.mak fixfeet.pos\ folder.mak subdir/cave1a.dat subdir/cave1b.dat subdir/subsubdir/cave2.dat\ utm.mak utm.out utm.dump\ walls.srv walls.out walls.dump\ wallsbaddatum.out wallsbaddatum.wpj\ wallsdecl.wpj wallsdecl.srv wallsdecl.out wallsdecl.dump\ badopts.srv badopts.out\ dot17.svx dot17.pos 3dcorner.svx 3dcorner.pos\ nosurveyhanging.svx nosurveyhanging.out\ nosurveyhanging2.svx nosurveyhanging2.dump nosurveyhanging2.out\ cmd_solve_hanging.svx passage.svx hanging_lrud.svx\ cmd_solve_nothing.svx\ cmd_solve_nothing_implicit.svx cmd_solve_nothing_implicit.out\ cmd_date.dump cmd_date.svx cmd_date.out\ cmd_datebad.svx cmd_datebad.out cmd_datebad2.svx cmd_datebad2.out\ cmd_calibrate.svx cmd_calibrate.out cmd_calibrate.pos\ cmd_declination.svx cmd_declination.out cmd_declination.pos\ cmd_declination_auto.svx cmd_declination_auto.out cmd_declination_auto.pos\ cmd_declination_auto_bad.svx cmd_declination_auto_bad.out\ cmd_declination_conv.out cmd_declination_conv.pos cmd_declination_conv.svx\ cmd_declination_conv_proj_bug.out cmd_declination_conv_proj_bug.pos cmd_declination_conv_proj_bug.svx\ unconnected-bug.svx unconnected-bug.out\ eswap.svx eswap.espec eswapx.3d\ eswap-break.svx eswap-break.espec eswap-breakx.3d\ equatenosuchstn.out equatenosuchstn.svx\ surveytypo.out surveytypo.svx\ skipafterbadomit.svx passagebad.svx\ badreadingdotplus.svx badreadingdotplus.out\ badcalibrate.svx badcalibrate.out\ calibrate_clino.svx calibrate_clino.out calibrate_clino.pos\ badunits.svx badunits.out badbegin.svx badbegin.out\ anonstn.svx anonstn.out anonstn.pos\ anonstnbad.svx anonstnbad.out\ anonstnrev.svx anonstnrev.out anonstnrev.pos\ cmd_entrance_bad.out cmd_entrance_bad.svx\ cmd_prefix.out\ cmd_prefix_bad.out cmd_prefix_bad.svx\ doubleinc.out doubleinc.svx\ reenterlots.out reenterlots.svx\ cs.out cs.pos cs.svx\ csbad.altout csbad.out csbad.svx\ csbadsdfix.altout csbadsdfix.out csbadsdfix.svx\ csfeet.out csfeet.pos csfeet.svx\ cslonglat.out cslonglat.svx\ omitfixaroundsolve.out omitfixaroundsolve.svx\ repeatreading.svx repeatreading.out repeatreading.pos\ mixedeols.out mixedeols.svx\ utf8bom.out utf8bom.svx\ nonewlineateof.out nonewlineateof.svx\ suspectreadings.out suspectreadings.svx\ cmd_data_default.svx\ cmd_data_ignore.out cmd_data_ignore.pos cmd_data_ignore.svx\ samename.svx\ tabinhighlight.out tabinhighlight.svx\ legacytokens.out legacytokens.svx\ component_count_bug.svx component_count_bug.out\ component_count_bug2.svx component_count_bug2.out\ 3dexport.dump 3dexport.svx\ dxffullcoords.dxf dxffullcoords.svx\ dxfsurfequate.svx dxfsurfequate.dxf\ gpxexport.gpx gpxexport.svx\ hpglexport.hpgl hpglexport.svx\ jsonexport.json jsonexport.svx\ kmlexport.kml kmlexport.svx\ pltexport.plt pltexport.svx\ svgexport.svg svgexport.svx EXTRA_DIST +=\ imgtest_simple.svx\ imgtest_survey.svx EXTRA_DIST +=\ cmapstn.adj cmapstn.dump\ cmap.sht cmap.dump\ dump3ddate.3d dump3ddate.dump\ extendsurveyx.3d extendsurveyx.dump\ filter.plt filter.dump\ separator.3d separator.dump\ multisection.plt multisection.dump\ multisurvey.plt multisurvey.dump\ pre1970.plt pre1970.dump �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_alias.out�������������������������������������������������������������������0000664�0001750�0001750�00000001342�14765126030�012436� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 5 legs. There are 0 loops. Total length of survey legs = 3.00m ( 3.00m adjusted) Total plan length of survey legs = 3.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 1.00m (from - at 0.00m to anonymous station at -1.00m) North-South range = 1.00m (from - at 0.00m to 3 at -1.00m) East-West range = 2.00m (from 3 at 1.00m to anonymous station at -1.00m) East-West range = 1.00m (from 3 at 1.00m to 1 at 0.00m) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_date.out��������������������������������������������������������������������0000664�0001750�0001750�00000005354�14765126030�012271� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_date.svx:5:7: warning: Assuming 2 digit year is 1900 *date 00.01.01 ^~ ./cmd_date.svx:7:7: warning: Assuming 2 digit year is 1900 *date 00.01 ^~ ./cmd_date.svx:9:7: warning: Assuming 2 digit year is 1900 *date 00.02 ^~ ./cmd_date.svx:11:7: warning: Assuming 2 digit year is 1900 *date 00 ^~ ./cmd_date.svx:25:7: warning: Assuming 2 digit year is 1902 *date 02.01.01 ^~ ./cmd_date.svx:27:7: warning: Assuming 2 digit year is 1902 *date 02.01 ^~ ./cmd_date.svx:29:7: warning: Assuming 2 digit year is 1902 *date 02.02 ^~ ./cmd_date.svx:31:7: warning: Assuming 2 digit year is 1902 *date 02 ^~ ./cmd_date.svx:45:7: warning: Assuming 2 digit year is 1969 *date 69.12.31 ^~ ./cmd_date.svx:53:7: warning: Assuming 2 digit year is 1970 *date 70.01.01 ^~ ./cmd_date.svx:55:7: warning: Assuming 2 digit year is 1970 *date 70.01 ^~ ./cmd_date.svx:57:7: warning: Assuming 2 digit year is 1970 *date 70.02 ^~ ./cmd_date.svx:59:7: warning: Assuming 2 digit year is 1970 *date 70 ^~ ./cmd_date.svx:61:7: warning: Assuming 2 digit year is 1999 *date 99.12.31 ^~ ./cmd_date.svx:148:12: warning: Date is in the future! *date 1900-2078 ^~~~ ./cmd_date.svx:150:7: warning: Date is in the future! *date 2078.12.31 ^~~~~~~~~~ ./cmd_date.svx:152:7: warning: Date is in the future! *date 2078.06 ^~~~~~~ ./cmd_date.svx:154:7: warning: Date is in the future! *date 2078 ^~~~ ./cmd_date.svx:156:18: warning: Date is in the future! *date 2016.08.25-2078.12.31 ; long survey trip! ^~~~~~~~~~ ./cmd_date.svx:159:7: warning: Date is in the future! *date 2078.12.01-2078.12.31 ^~~~~~~~~~ ./cmd_date.svx:159:18: warning: Date is in the future! *date 2078.12.01-2078.12.31 ^~~~~~~~~~ ./cmd_date.svx:162:12: warning: Assuming 2 digit year is 1913 *date 1911-13 ^~ ./cmd_date.svx:164:7: warning: Interpreting as an ISO-format date - use "*date surveyed 1911-12" to suppress this warning, or "*date 1911 1912" if you wanted a date range *date 1911-12 ^~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 80 survey stations, joined by 79 legs. There are 0 loops. Total length of survey legs = 3160.00m (3160.00m adjusted) Total plan length of survey legs = 3160.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1911_12 at 0.00m to 1911_12 at 0.00m) North-South range = 79.00m (from 1911_12 at 79.00m to _ at 0.00m) East-West range = 0.00m (from 1911_12 at 0.00m to 1911_12 at 0.00m) There were 23 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/midpoint.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000101�14647535025�012353� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *fix 2 4 0 0 1 A 3 90 0 A 2 3 90 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dump3ddate.dump�����������������������������������������������������������������0000664�0001750�0001750�00000020574�14765126030�012722� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "cmd_date" DATE "@1729487704" DATE_NUMERIC 1729487704 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1900-01-01 LEG 0.00 0.00 0.00 0.00 2.00 0.00 [] STYLE=NORMAL 1900-01-01 1900-01-31 LEG 0.00 0.00 0.00 0.00 3.00 0.00 [] STYLE=NORMAL 1900-02-01 1900-02-28 LEG 0.00 0.00 0.00 0.00 4.00 0.00 [] STYLE=NORMAL 1900-01-01 1900-12-31 LEG 0.00 0.00 0.00 0.00 5.00 0.00 [] STYLE=NORMAL 1900-01-01 2000-12-31 LEG 0.00 0.00 0.00 0.00 6.00 0.00 [] STYLE=NORMAL 1900-01-02 LEG 0.00 0.00 0.00 0.00 7.00 0.00 [] STYLE=NORMAL 1900-03-01 1900-03-31 LEG 0.00 0.00 0.00 0.00 8.00 0.00 [] STYLE=NORMAL 1900-04-01 1900-04-30 LEG 0.00 0.00 0.00 0.00 9.00 0.00 [] STYLE=NORMAL 1900-02-28 LEG 0.00 0.00 0.00 0.00 10.00 0.00 [] STYLE=NORMAL 1901-01-01 1901-12-31 LEG 0.00 0.00 0.00 0.00 11.00 0.00 [] STYLE=NORMAL 1902-01-01 LEG 0.00 0.00 0.00 0.00 12.00 0.00 [] STYLE=NORMAL 1902-01-01 1902-01-31 LEG 0.00 0.00 0.00 0.00 13.00 0.00 [] STYLE=NORMAL 1902-02-01 1902-02-28 LEG 0.00 0.00 0.00 0.00 14.00 0.00 [] STYLE=NORMAL 1902-01-01 1902-12-31 LEG 0.00 0.00 0.00 0.00 15.00 0.00 [] STYLE=NORMAL 1902-01-01 2000-12-31 LEG 0.00 0.00 0.00 0.00 16.00 0.00 [] STYLE=NORMAL 1903-01-01 LEG 0.00 0.00 0.00 0.00 17.00 0.00 [] STYLE=NORMAL 1903-01-01 1903-01-31 LEG 0.00 0.00 0.00 0.00 18.00 0.00 [] STYLE=NORMAL 1903-02-01 1903-02-28 LEG 0.00 0.00 0.00 0.00 19.00 0.00 [] STYLE=NORMAL 1903-01-01 1903-12-31 LEG 0.00 0.00 0.00 0.00 20.00 0.00 [] STYLE=NORMAL 1902-01-01 2001-12-31 LEG 0.00 0.00 0.00 0.00 21.00 0.00 [] STYLE=NORMAL 1969-12-31 LEG 0.00 0.00 0.00 0.00 22.00 0.00 [] STYLE=NORMAL 1969-12-30 LEG 0.00 0.00 0.00 0.00 23.00 0.00 [] STYLE=NORMAL 1969-12-01 1969-12-31 LEG 0.00 0.00 0.00 0.00 24.00 0.00 [] STYLE=NORMAL 1969-01-01 1969-12-31 LEG 0.00 0.00 0.00 0.00 25.00 0.00 [] STYLE=NORMAL 1970-01-01 LEG 0.00 0.00 0.00 0.00 26.00 0.00 [] STYLE=NORMAL 1970-01-01 1970-01-31 LEG 0.00 0.00 0.00 0.00 27.00 0.00 [] STYLE=NORMAL 1970-02-01 1970-02-28 LEG 0.00 0.00 0.00 0.00 28.00 0.00 [] STYLE=NORMAL 1970-01-01 1970-12-31 LEG 0.00 0.00 0.00 0.00 29.00 0.00 [] STYLE=NORMAL 1999-12-31 LEG 0.00 0.00 0.00 0.00 30.00 0.00 [] STYLE=NORMAL 1970-01-01 2000-12-31 LEG 0.00 0.00 0.00 0.00 31.00 0.00 [] STYLE=NORMAL 1970-01-02 LEG 0.00 0.00 0.00 0.00 32.00 0.00 [] STYLE=NORMAL 1970-03-01 1970-03-31 LEG 0.00 0.00 0.00 0.00 33.00 0.00 [] STYLE=NORMAL 1970-04-01 1970-04-30 LEG 0.00 0.00 0.00 0.00 34.00 0.00 [] STYLE=NORMAL 1971-01-01 1971-12-31 LEG 0.00 0.00 0.00 0.00 35.00 0.00 [] STYLE=NORMAL 1970-01-01 2001-12-31 LEG 0.00 0.00 0.00 0.00 36.00 0.00 [] STYLE=NORMAL 1975-01-31 LEG 0.00 0.00 0.00 0.00 37.00 0.00 [] STYLE=NORMAL 1975-02-28 LEG 0.00 0.00 0.00 0.00 38.00 0.00 [] STYLE=NORMAL 1975-03-31 LEG 0.00 0.00 0.00 0.00 39.00 0.00 [] STYLE=NORMAL 1975-04-30 LEG 0.00 0.00 0.00 0.00 40.00 0.00 [] STYLE=NORMAL 1975-05-31 LEG 0.00 0.00 0.00 0.00 41.00 0.00 [] STYLE=NORMAL 1975-06-30 LEG 0.00 0.00 0.00 0.00 42.00 0.00 [] STYLE=NORMAL 1975-07-31 LEG 0.00 0.00 0.00 0.00 43.00 0.00 [] STYLE=NORMAL 1975-08-31 LEG 0.00 0.00 0.00 0.00 44.00 0.00 [] STYLE=NORMAL 1975-09-30 LEG 0.00 0.00 0.00 0.00 45.00 0.00 [] STYLE=NORMAL 1975-10-31 LEG 0.00 0.00 0.00 0.00 46.00 0.00 [] STYLE=NORMAL 1975-11-30 LEG 0.00 0.00 0.00 0.00 47.00 0.00 [] STYLE=NORMAL 1975-12-31 LEG 0.00 0.00 0.00 0.00 48.00 0.00 [] STYLE=NORMAL 1976-01-31 LEG 0.00 0.00 0.00 0.00 49.00 0.00 [] STYLE=NORMAL 1976-02-29 LEG 0.00 0.00 0.00 0.00 50.00 0.00 [] STYLE=NORMAL 1976-03-31 LEG 0.00 0.00 0.00 0.00 51.00 0.00 [] STYLE=NORMAL 1976-04-30 LEG 0.00 0.00 0.00 0.00 52.00 0.00 [] STYLE=NORMAL 1976-05-31 LEG 0.00 0.00 0.00 0.00 53.00 0.00 [] STYLE=NORMAL 1976-06-30 LEG 0.00 0.00 0.00 0.00 54.00 0.00 [] STYLE=NORMAL 1976-07-31 LEG 0.00 0.00 0.00 0.00 55.00 0.00 [] STYLE=NORMAL 1976-08-31 LEG 0.00 0.00 0.00 0.00 56.00 0.00 [] STYLE=NORMAL 1976-09-30 LEG 0.00 0.00 0.00 0.00 57.00 0.00 [] STYLE=NORMAL 1976-10-31 LEG 0.00 0.00 0.00 0.00 58.00 0.00 [] STYLE=NORMAL 1976-11-30 LEG 0.00 0.00 0.00 0.00 59.00 0.00 [] STYLE=NORMAL 1976-12-31 LEG 0.00 0.00 0.00 0.00 60.00 0.00 [] STYLE=NORMAL 2000-01-31 LEG 0.00 0.00 0.00 0.00 61.00 0.00 [] STYLE=NORMAL 2000-02-29 LEG 0.00 0.00 0.00 0.00 62.00 0.00 [] STYLE=NORMAL 2000-03-31 LEG 0.00 0.00 0.00 0.00 63.00 0.00 [] STYLE=NORMAL 2000-04-30 LEG 0.00 0.00 0.00 0.00 64.00 0.00 [] STYLE=NORMAL 2000-05-31 LEG 0.00 0.00 0.00 0.00 65.00 0.00 [] STYLE=NORMAL 2000-06-30 LEG 0.00 0.00 0.00 0.00 66.00 0.00 [] STYLE=NORMAL 2000-07-31 LEG 0.00 0.00 0.00 0.00 67.00 0.00 [] STYLE=NORMAL 2000-08-31 LEG 0.00 0.00 0.00 0.00 68.00 0.00 [] STYLE=NORMAL 2000-09-30 LEG 0.00 0.00 0.00 0.00 69.00 0.00 [] STYLE=NORMAL 2000-10-31 LEG 0.00 0.00 0.00 0.00 70.00 0.00 [] STYLE=NORMAL 2000-11-30 LEG 0.00 0.00 0.00 0.00 71.00 0.00 [] STYLE=NORMAL 2000-12-31 LEG 0.00 0.00 0.00 0.00 72.00 0.00 [] STYLE=NORMAL 1900-01-01 2078-12-31 LEG 0.00 0.00 0.00 0.00 73.00 0.00 [] STYLE=NORMAL 2078-12-31 LEG 0.00 0.00 0.00 0.00 74.00 0.00 [] STYLE=NORMAL 2078-06-01 2078-06-30 LEG 0.00 0.00 0.00 0.00 75.00 0.00 [] STYLE=NORMAL 2078-01-01 2078-12-31 LEG 0.00 0.00 0.00 0.00 76.00 0.00 [] STYLE=NORMAL 2016-08-25 2078-12-31 LEG 0.00 0.00 0.00 0.00 77.00 0.00 [] STYLE=NORMAL 2078-12-01 2078-12-31 NODE 0.00 77.00 0.00 [20781201_20781231] UNDERGROUND NODE 0.00 76.00 0.00 [20160825_20781231] UNDERGROUND NODE 0.00 75.00 0.00 [2078] UNDERGROUND NODE 0.00 74.00 0.00 [207806] UNDERGROUND NODE 0.00 73.00 0.00 [20781231] UNDERGROUND NODE 0.00 72.00 0.00 [1900_2078] UNDERGROUND NODE 0.00 71.00 0.00 [20001231] UNDERGROUND NODE 0.00 70.00 0.00 [20001130] UNDERGROUND NODE 0.00 69.00 0.00 [20001031] UNDERGROUND NODE 0.00 68.00 0.00 [20000930] UNDERGROUND NODE 0.00 67.00 0.00 [20000831] UNDERGROUND NODE 0.00 66.00 0.00 [20000731] UNDERGROUND NODE 0.00 65.00 0.00 [20000630] UNDERGROUND NODE 0.00 64.00 0.00 [20000531] UNDERGROUND NODE 0.00 63.00 0.00 [20000430] UNDERGROUND NODE 0.00 62.00 0.00 [20000331] UNDERGROUND NODE 0.00 61.00 0.00 [20000229] UNDERGROUND NODE 0.00 60.00 0.00 [20000131] UNDERGROUND NODE 0.00 59.00 0.00 [19761231] UNDERGROUND NODE 0.00 58.00 0.00 [19761130] UNDERGROUND NODE 0.00 57.00 0.00 [19761031] UNDERGROUND NODE 0.00 56.00 0.00 [19760930] UNDERGROUND NODE 0.00 55.00 0.00 [19760831] UNDERGROUND NODE 0.00 54.00 0.00 [19760731] UNDERGROUND NODE 0.00 53.00 0.00 [19760630] UNDERGROUND NODE 0.00 52.00 0.00 [19760531] UNDERGROUND NODE 0.00 51.00 0.00 [19760430] UNDERGROUND NODE 0.00 50.00 0.00 [19760331] UNDERGROUND NODE 0.00 49.00 0.00 [19760229] UNDERGROUND NODE 0.00 48.00 0.00 [19760131] UNDERGROUND NODE 0.00 47.00 0.00 [19751231] UNDERGROUND NODE 0.00 46.00 0.00 [19751130] UNDERGROUND NODE 0.00 45.00 0.00 [19751031] UNDERGROUND NODE 0.00 44.00 0.00 [19750930] UNDERGROUND NODE 0.00 43.00 0.00 [19750831] UNDERGROUND NODE 0.00 42.00 0.00 [19750731] UNDERGROUND NODE 0.00 41.00 0.00 [19750630] UNDERGROUND NODE 0.00 40.00 0.00 [19750531] UNDERGROUND NODE 0.00 39.00 0.00 [19750430] UNDERGROUND NODE 0.00 38.00 0.00 [19750331] UNDERGROUND NODE 0.00 37.00 0.00 [19750228] UNDERGROUND NODE 0.00 36.00 0.00 [19750131] UNDERGROUND NODE 0.00 35.00 0.00 [1970_2001] UNDERGROUND NODE 0.00 34.00 0.00 [1971] UNDERGROUND NODE 0.00 33.00 0.00 [197004] UNDERGROUND NODE 0.00 32.00 0.00 [197003] UNDERGROUND NODE 0.00 31.00 0.00 [19700102] UNDERGROUND NODE 0.00 30.00 0.00 [1970_2000] UNDERGROUND NODE 0.00 29.00 0.00 [19991231] UNDERGROUND NODE 0.00 28.00 0.00 [1970] UNDERGROUND NODE 0.00 27.00 0.00 [197002] UNDERGROUND NODE 0.00 26.00 0.00 [197001] UNDERGROUND NODE 0.00 25.00 0.00 [19700101] UNDERGROUND NODE 0.00 24.00 0.00 [1969] UNDERGROUND NODE 0.00 23.00 0.00 [196912] UNDERGROUND NODE 0.00 22.00 0.00 [19691230] UNDERGROUND NODE 0.00 21.00 0.00 [19691231] UNDERGROUND NODE 0.00 20.00 0.00 [1902_2001] UNDERGROUND NODE 0.00 19.00 0.00 [1903] UNDERGROUND NODE 0.00 18.00 0.00 [190302] UNDERGROUND NODE 0.00 17.00 0.00 [190301] UNDERGROUND NODE 0.00 16.00 0.00 [19030101] UNDERGROUND NODE 0.00 15.00 0.00 [1902_2000] UNDERGROUND NODE 0.00 14.00 0.00 [1902] UNDERGROUND NODE 0.00 13.00 0.00 [190202] UNDERGROUND NODE 0.00 12.00 0.00 [190201] UNDERGROUND NODE 0.00 11.00 0.00 [19020101] UNDERGROUND NODE 0.00 10.00 0.00 [1901] UNDERGROUND NODE 0.00 9.00 0.00 [19000228] UNDERGROUND NODE 0.00 8.00 0.00 [190004] UNDERGROUND NODE 0.00 7.00 0.00 [190003] UNDERGROUND NODE 0.00 6.00 0.00 [19000102] UNDERGROUND NODE 0.00 5.00 0.00 [1900_2000] UNDERGROUND NODE 0.00 4.00 0.00 [1900] UNDERGROUND NODE 0.00 3.00 0.00 [190002] UNDERGROUND NODE 0.00 2.00 0.00 [190001] UNDERGROUND NODE 0.00 1.00 0.00 [19000101] UNDERGROUND NODE 0.00 0.00 0.00 [_] UNDERGROUND FIXED STOP ������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartes.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�011773� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinosurv.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000216�14765126030�013141� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=0 *fix 1 0 0 0 *fix 2 1 0 0 *fix 3 0 1 0 1 1 1 *fix 4 0 0 1 1 1 1 *fix 5 .5 .5 .5 *data nosurvey station 1 2 3 2 4 *data 2 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsdecl.out�������������������������������������������������������������������0000664�0001750�0001750�00000001520�14765126030�012472� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./wallsdecl.wpj:6: info: Declination: -1.8dg @ 1990-09-09, grid convergence: 0.5dg .REF 4113846.340 580661.570 16 0.549 219 6 37 10 3.195 86 5 29.254 19 "NAD83" Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -0.1dg at 1 to -0.1dg at 0 Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 100.00m ( 100.00m adjusted) Total plan length of survey legs = 100.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1 at 1000.00m to 1 at 1000.00m) North-South range = 99.92m (from 1 at 580099.92m to 0 at 580000.00m) East-West range = 4.10m (from 0 at 410000.00m to 1 at 409995.90m) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/hanging_lrud.svx����������������������������������������������������������������0000644�0001750�0001750�00000000312�14647535025�013175� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin test *data normal from to tape compass clino 1 2 1.00 30 -5 *data passage station left right up down foo 0 0.5 0.25 0.25 *end test ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswap-breakx.3d�����������������������������������������������������������������0000644�0001750�0001750�00000000410�14525274540�012607� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v3 eswap-break (extended) Wed,2005.02.23 14:32:13 GMT Ba������������������g��������������Bc������g% ��������������gBb% ��������������������������Bb��������������������QBd������Q����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/depthguage.dump�����������������������������������������������������������������0000664�0001750�0001750�00000001136�14756727464�013020� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "depthguage" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 3.00 -0.53 [] STYLE=DIVING 1901.02.01 LEG 0.00 3.00 -0.53 6.00 3.00 -1.59 [] STYLE=DIVING 1901.01.02 LEG 6.00 3.00 -1.59 6.00 -6.00 -3.18 [] STYLE=DIVING LEG 6.00 -6.00 -3.18 -6.00 -6.00 -5.29 [] STYLE=DIVING 1902.01.01 LEG -6.00 -6.00 -5.29 -6.00 9.24 -5.29 [] STYLE=NORMAL NODE -6.00 9.24 -5.29 [C6] UNDERGROUND NODE -6.00 -6.00 -5.29 [C5] UNDERGROUND NODE 6.00 -6.00 -3.18 [C4] UNDERGROUND NODE 6.00 3.00 -1.59 [C3] UNDERGROUND NODE 0.00 3.00 -0.53 [C2] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND STOP ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/suspectreadings.svx�������������������������������������������������������������0000664�0001750�0001750�00000000071�14756727464�013756� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=4 *fix 1 reference 0 0 0 1 2 -0.10 361 -91 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_copyright_bad.out�����������������������������������������������������������0000664�0001750�0001750�00000007715�14766172733�014211� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_copyright_bad.svx:3:11: warning: Invalid year *copyright ^ ./cmd_copyright_bad.svx:4:12: warning: Invalid year *copyright " ^ ./cmd_copyright_bad.svx:5:12: warning: Invalid year *copyright "X ^ ./cmd_copyright_bad.svx:6:12: warning: Invalid year *copyright "Just terrible ^ ./cmd_copyright_bad.svx:7:12: warning: Invalid year *copyright NoYear ^ ./cmd_copyright_bad.svx:8:12: warning: Invalid year *copyright "No year" ^ ./cmd_copyright_bad.svx:9:12: warning: Invalid year *copyright WrongOrder 2000 ^ ./cmd_copyright_bad.svx:10:12: warning: Invalid year *copyright "Wrong Order" 2000 ^ ./cmd_copyright_bad.svx:11:20: warning: End of line not blank *copyright 1999 No quotes ^~~~~~ ./cmd_copyright_bad.svx:12:12: warning: Invalid year *copyright 999 BadYear ^~~ ./cmd_copyright_bad.svx:13:12: warning: Invalid year *copyright 999 "Bad Year" ^~~ ./cmd_copyright_bad.svx:14:34: warning: Missing " *copyright 1999 "No closing quote ^ ./cmd_copyright_bad.svx:15:34: warning: Missing " *copyright 1999 "No_closing_quote ^ ./cmd_copyright_bad.svx:16:20: warning: End of line not blank *copyright 1999 No opening quote" ^~~~~~~~~~~~~~ ./cmd_copyright_bad.svx:17:12: warning: Invalid year *copyright WrongOrder 2000-2001 ^ ./cmd_copyright_bad.svx:18:12: warning: Invalid year *copyright "Wrong Order" 2000-2001 ^ ./cmd_copyright_bad.svx:19:25: warning: End of line not blank *copyright 1999-2000 No quotes ^~~~~~ ./cmd_copyright_bad.svx:20:12: warning: Invalid year *copyright 999-1000 BadYear ^~~ ./cmd_copyright_bad.svx:21:12: warning: Invalid year *copyright 998-999 "Bad Year" ^~~ ./cmd_copyright_bad.svx:21:16: warning: Invalid year *copyright 998-999 "Bad Year" ^~~ ./cmd_copyright_bad.svx:22:39: warning: Missing " *copyright 1999-2020 "No closing quote ^ ./cmd_copyright_bad.svx:23:39: warning: Missing " *copyright 1999-2012 "No_closing_quote ^ ./cmd_copyright_bad.svx:24:25: warning: End of line not blank *copyright 1999-2001 No opening quote" ^~~~~~~~~~~~~~ ./cmd_copyright_bad.svx:25:17: warning: End of date range is before the start *copyright 2000-1999 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:26:17: warning: End of date range is before the start *copyright 2000-1999 DrWho ^~~~ ./cmd_copyright_bad.svx:27:12: warning: Date is in the future! *copyright 2078 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:28:17: warning: Date is in the future! *copyright 1900-2078 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:29:12: warning: Date is in the future! *copyright 2077-2078 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:29:17: warning: Date is in the future! *copyright 2077-2078 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:30:12: warning: Date is in the future! *copyright 2078-2077 "Doctor Who" ^~~~ ./cmd_copyright_bad.svx:30:17: warning: End of date range is before the start *copyright 2078-2077 "Doctor Who" ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from survey.2 at 0.00m to survey.2 at 0.00m) North-South range = 1.00m (from survey.2 at 1.00m to survey.1 at 0.00m) East-West range = 0.00m (from survey.2 at 0.00m to survey.2 at 0.00m) There were 31 warning(s). ���������������������������������������������������survex-1.4.17/tests/stnsurvey2.svx������������������������������������������������������������������0000644�0001750�0001750�00000000060�14647535025�012700� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=2 *fix A 0 0 0 *begin A *end A ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/end_no_begin_nest.svx�����������������������������������������������������������0000644�0001750�0001750�00000000064�14647535025�014177� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=2 *begin *include end_no_begin.svx ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/svgexport.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000130�14756727464�012610� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=svg warn=0 *equate entrance svy.1 *begin svy *export 1 1 2 12.35 045 -12 *end svy ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr2b.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000211�14647535025�013010� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin outer *export inner.1 *begin inner 1 2 1.23 045 -6 *end inner *end outer *equate entrance outer.inner.1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/kmlexport.kml�������������������������������������������������������������������0000664�0001750�0001750�00000006474�14765125402�012540� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document><name>kmlexport</name> <Style id="fix"><IconStyle><Icon><href>https://maps.google.com/mapfiles/kml/paddle/red-blank.png</href></Icon><color>ff0000ff</color><hotSpot x="32" y="1" xunits="pixels" yunits="pixels"/></IconStyle></Style> <Style id="exp"><IconStyle><Icon><href>https://maps.google.com/mapfiles/kml/paddle/blu-blank.png</href></Icon><color>ffff0000</color><hotSpot x="32" y="1" xunits="pixels" yunits="pixels"/></IconStyle></Style> <Style id="ent"><IconStyle><Icon><href>https://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon><color>ff00ff00</color><hotSpot x="32" y="1" xunits="pixels" yunits="pixels"/></IconStyle></Style> <Style id="surf"><LineStyle><color>ff00ff00</color></LineStyle></Style> <Style id="splay"><LineStyle><color>40ff00ff</color></LineStyle></Style> <Placemark><MultiGeometry><LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77670004,-41.27839998,30.00 174.77788868,-41.27842294,21.28 174.77785826,-41.27931962,12.57 </coordinates></LineString> <LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77785826,-41.27931962,12.57 174.77904692,-41.27934257,3.85 </coordinates></LineString></MultiGeometry></Placemark> <Placemark><styleUrl>#surf</styleUrl><MultiGeometry><LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77785826,-41.27931962,12.57 174.77666960,-41.27929666,3.85 </coordinates></LineString></MultiGeometry></Placemark> <Placemark><MultiGeometry><LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77904692,-41.27934257,3.85 174.77901985,-41.28014060,-3.90 </coordinates></LineString></MultiGeometry></Placemark> <Placemark><styleUrl>#splay</styleUrl><MultiGeometry><LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77904692,-41.27934257,3.85 174.77901954,-41.28014960,-3.99 </coordinates></LineString></MultiGeometry></Placemark> <Placemark><styleUrl>#surf</styleUrl><MultiGeometry><LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77785826,-41.27931962,12.57 174.77783087,-41.28012665,4.72 </coordinates></LineString> <LineString><altitudeMode>absolute</altitudeMode><coordinates> 174.77666960,-41.27929666,3.85 174.77664219,-41.28010369,-3.99 </coordinates></LineString></MultiGeometry></Placemark> <Placemark><Point><coordinates>174.77901985,-41.28014060,-3.90</coordinates></Point><name>6a</name></Placemark> <Placemark><Point><coordinates>174.77901954,-41.28014960,-3.99</coordinates></Point><name>6</name></Placemark> <Placemark><Point><coordinates>174.77904692,-41.27934257,3.85</coordinates></Point><name>5</name></Placemark> <Placemark><Point><coordinates>174.77664219,-41.28010369,-3.99</coordinates></Point><name></name></Placemark> <Placemark><Point><coordinates>174.77666960,-41.27929666,3.85</coordinates></Point><name>3</name></Placemark> <Placemark><Point><coordinates>174.77783087,-41.28012665,4.72</coordinates></Point><name></name></Placemark> <Placemark><Point><coordinates>174.77785826,-41.27931962,12.57</coordinates></Point><name>2</name></Placemark> <Placemark><Point><coordinates>174.77788868,-41.27842294,21.28</coordinates></Point><name>1</name></Placemark> <Placemark><Point><coordinates>174.77670004,-41.27839998,30.00</coordinates></Point><name>bh</name><styleUrl>#ent</styleUrl></Placemark> </Document></kml> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/baddatacylpolar.out�������������������������������������������������������������0000664�0001750�0001750�00000002442�14765126030�013652� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./baddatacylpolar.svx:5:24: error: Reading "foo" not allowed in data style "cylpolar" *data cylpolar from to foo ^~~ ./baddatacylpolar.svx:12:49: error: Reading "foo" not allowed in data style "cylpolar" *data cylpolar from to tape compass depthchange foo ^~~ ./baddatacylpolar.svx:15:49: error: Reading "f0o" not allowed in data style "cylpolar" *data cylpolar from to tape compass depthchange f0o ^~~ ./baddatacylpolar.svx:18:7: error: Data style "cylp0lar" unknown *data cylp0lar from to tape compass depthchange ^~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 5.83m ( 5.83m adjusted) Total plan length of survey legs = 3.00m Total vertical length of survey legs = 5.00m Vertical range = 5.00m (from 3 at 5.00m to 1 at 0.00m) North-South range = 2.99m (from 3 at 2.99m to 1 at 0.00m) East-West range = 0.26m (from 3 at 0.26m to 1 at 0.00m) There were 0 warning(s) and 4 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_calibrate.pos���������������������������������������������������������������0000644�0001750�0001750�00000000206�14567212227�013265� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 55.00, 0.00, 0.00 ) 2 ( 60.00, 0.00, 0.00 ) 3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_team_bad.svx����������������������������������������������������������������0000664�0001750�0001750�00000000604�14765646357�013135� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=6 *begin survey *team Wookey note *team "Olly Betts" instruments tap ; We deliberately skip the line after a bad role to avoid triggering multiple ; warnings for one *team command in existing data from before this check was ; implemented. *team "Olly Betts" lefts rights ; Roles should not be quoted. *team Bob "pics" *team "Al Jobs *team *fix 1 0 0 0 1 2 1 0 0 *end survey ����������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/oldestyle.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000114�14647535025�012540� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *data normal - from to tape compass clino 1 2 10.00 123 -07 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_team_bad.out����������������������������������������������������������������0000664�0001750�0001750�00000002327�14765646357�013130� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_team_bad.svx:3:14: warning: Unknown team role "note" *team Wookey note ^~~~ ./cmd_team_bad.svx:4:32: warning: Unknown team role "tap" *team "Olly Betts" instruments tap ^~~ ./cmd_team_bad.svx:8:20: warning: Unknown team role "lefts" *team "Olly Betts" lefts rights ^~~~~ ./cmd_team_bad.svx:10:11: warning: Unknown team role "" *team Bob "pics" ^ ./cmd_team_bad.svx:11:15: warning: Missing " *team "Al Jobs ^ ./cmd_team_bad.svx:12:6: warning: Expecting string field *team ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from survey.2 at 0.00m to survey.2 at 0.00m) North-South range = 1.00m (from survey.2 at 1.00m to survey.1 at 0.00m) East-West range = 0.00m (from survey.2 at 0.00m to survey.2 at 0.00m) There were 6 warning(s). ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normignall.pos������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�012654� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_datebad.out�����������������������������������������������������������������0000664�0001750�0001750�00000010035�14765126030�012730� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_datebad.svx:4:15: warning: Invalid day of the month *date 1900.02.29 ^~ ./cmd_datebad.svx:5:15: warning: Invalid day of the month *date 1975.01.32 ^~ ./cmd_datebad.svx:6:15: warning: Invalid day of the month *date 1975.02.29 ^~ ./cmd_datebad.svx:7:15: warning: Invalid day of the month *date 1975.03.32 ^~ ./cmd_datebad.svx:8:15: warning: Invalid day of the month *date 1975.04.31 ^~ ./cmd_datebad.svx:9:15: warning: Invalid day of the month *date 1975.05.32 ^~ ./cmd_datebad.svx:10:15: warning: Invalid day of the month *date 1975.06.31 ^~ ./cmd_datebad.svx:11:15: warning: Invalid day of the month *date 1975.07.32 ^~ ./cmd_datebad.svx:12:15: warning: Invalid day of the month *date 1975.08.32 ^~ ./cmd_datebad.svx:13:15: warning: Invalid day of the month *date 1975.09.31 ^~ ./cmd_datebad.svx:14:15: warning: Invalid day of the month *date 1975.10.32 ^~ ./cmd_datebad.svx:15:15: warning: Invalid day of the month *date 1975.11.31 ^~ ./cmd_datebad.svx:16:15: warning: Invalid day of the month *date 1975.12.32 ^~ ./cmd_datebad.svx:17:15: warning: Invalid day of the month *date 1976.02.30 ^~ ./cmd_datebad.svx:18:15: warning: Invalid day of the month *date 1976.03.32 ^~ ./cmd_datebad.svx:19:15: warning: Invalid day of the month *date 1976.04.31 ^~ ./cmd_datebad.svx:20:15: warning: Invalid day of the month *date 1976.05.32 ^~ ./cmd_datebad.svx:21:15: warning: Invalid day of the month *date 1976.06.31 ^~ ./cmd_datebad.svx:22:15: warning: Invalid day of the month *date 1976.07.32 ^~ ./cmd_datebad.svx:23:15: warning: Invalid day of the month *date 1976.08.32 ^~ ./cmd_datebad.svx:24:15: warning: Invalid day of the month *date 1976.09.31 ^~ ./cmd_datebad.svx:25:15: warning: Invalid day of the month *date 1976.10.32 ^~ ./cmd_datebad.svx:26:15: warning: Invalid day of the month *date 1976.11.31 ^~ ./cmd_datebad.svx:27:15: warning: Invalid day of the month *date 1976.12.32 ^~ ./cmd_datebad.svx:28:15: warning: Invalid day of the month *date 2000.01.32 ^~ ./cmd_datebad.svx:29:15: warning: Invalid day of the month *date 2000.02.30 ^~ ./cmd_datebad.svx:30:15: warning: Invalid day of the month *date 2000.03.32 ^~ ./cmd_datebad.svx:31:15: warning: Invalid day of the month *date 2000.04.31 ^~ ./cmd_datebad.svx:32:15: warning: Invalid day of the month *date 2000.05.32 ^~ ./cmd_datebad.svx:33:15: warning: Invalid day of the month *date 2000.06.31 ^~ ./cmd_datebad.svx:34:15: warning: Invalid day of the month *date 2000.07.32 ^~ ./cmd_datebad.svx:35:15: warning: Invalid day of the month *date 2000.08.32 ^~ ./cmd_datebad.svx:36:15: warning: Invalid day of the month *date 2000.09.31 ^~ ./cmd_datebad.svx:37:15: warning: Invalid day of the month *date 2000.10.32 ^~ ./cmd_datebad.svx:38:15: warning: Invalid day of the month *date 2000.11.31 ^~ ./cmd_datebad.svx:39:15: warning: Invalid day of the month *date 2000.12.32 ^~ ./cmd_datebad.svx:40:15: warning: Invalid day of the month *date 2000.01.32 ^~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.05m Vertical range = 0.05m (from 1 at 0.00m to 2 at -0.05m) North-South range = 0.94m (from 2 at 0.94m to 1 at 0.00m) East-West range = 0.34m (from 2 at 0.34m to 1 at 0.00m) There were 37 warning(s). ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/infereqtopofil.pos��������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�013543� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/diving.out����������������������������������������������������������������������0000664�0001750�0001750�00000001344�14765126030�012004� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./diving.svx:6:14: warning: Tape reading is less than change in depth 3 3a 0.0 1.1 1.00 180 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 11 survey stations, joined by 10 legs. There are 0 loops. Total length of survey legs = 33.03m ( 33.03m adjusted) Total plan length of survey legs = 28.93m Total vertical length of survey legs = 13.03m Vertical range = 13.03m (from 3a at 1.03m to 10 at -12.00m) North-South range = 13.00m (from 10 at 13.00m to 5 at -0.00m) East-West range = 6.93m (from 10 at 3.93m to 9 at -3.00m) There were 1 warning(s). ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cavern.tst����������������������������������������������������������������������0000775�0001750�0001750�00000032126�14766160321�012014� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - cavern tests # Copyright (C) 1999-2025 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` test -x "$testdir"/../src/cavern || testdir=. # Make testdir absolute, so we can cd before running cavern to get a consistent # path in diagnostic messages. testdir=`cd "$testdir" && pwd` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 case `uname -a` in MINGW*) DIFF='diff --strip-trailing-cr' QUIET_DIFF='diff -q --strip-trailing-cr' ;; *) DIFF=diff # Use cmp when we can as a small optimisation. QUIET_DIFF='cmp -s' ;; esac : ${CAVERN="$testdir"/../src/cavern} : ${DIFFPOS="$testdir"/../src/diffpos} : ${DUMP3D="$testdir"/../src/dump3d} : ${SURVEXPORT="$testdir"/../src/survexport} : ${TESTS=${*:-"singlefix singlereffix oneleg midpoint lollipop fixedlollipop\ cross firststn\ deltastar deltastar2 deltastarhanging\ bug3 calibrate_tape nosurvey2 cartesian cartesian2\ lengthunits angleunits cmd_alias cmd_alias_bad cmd_case cmd_case_bad\ cmd_copyright cmd_copyright_bad cmd_fix cmd_fix2 cmd_fix_bad cmd_fix_bad2\ cmd_solve cmd_entrance cmd_entrance_bad cmd_ref cmd_ref_bad\ cmd_sd cmd_sd_bad cmd_set cmd_set_bad cmd_set_dot_in_name\ cmd_truncate cmd_truncate_bad\ beginroot revcomplist break_replace_pfx bug0 bug1 bug2 bug4 bug5\ equate_bug\ expobug require export export2 includecomment\ self_loop self_eq_loop reenterwarn cmd_default cmd_default_bad\ cmd_prefix cmd_prefix_bad\ cmd_begin_bad cmd_equate_bad cmd_export_bad\ singlefixerr singlereffixerr\ begin_no_end end_no_begin end_no_begin_nest require_fail\ exporterr1 exporterr2 exporterr3 exporterr4 exporterr5\ exporterr1b exporterr2b exporterr3b exporterr6 exporterr6b\ hanging_cpt badinc badinc2 badinc3 badinc4 badinc5.mak nonexistent_file ONELEG\ stnsurvey1 stnsurvey2\ tapelessthandepth longname chinabug chinabug2\ multinormal multinormignall multidiving multicylpolar multicartesian\ multinosurv multinormalbad multibug\ cmd_team cmd_team_bad\ cmd_title cmd_titlebad cmd_dummy cmd_infer cmd_date cmd_datebad cmd_datebad2\ cartes diving cylpolar normal normal_bad normignall nosurv cmd_flags\ bad_cmd_flags plumb unusedstation exportnakedbegin oldestyle bugdz\ baddatacylpolar baddatanosurv badnewline badquantities\ imgoffbyone infereqtopofil 3sdfixbug\ omitclino back back2 bad_back\ notentranceorexport inferunknown inferexports bad_units_factor\ bad_units_qlist\ percent_gradient dotinsurvey leandroclino lowsd revdir gettokennullderef\ nosurveyhanging nosurveyhanging2\ cmd_solve_nothing cmd_solve_nothing_implicit\ cmd_cartesian cmd_cartesian_bad\ cmd_calibrate cmd_declination cmd_declination_auto cmd_declination_auto_bad\ cmd_declination_conv cmd_declination_conv_proj_bug\ lech level 2fixbug dot17 3dcorner\ unconnected-bug\ backread.dat corrections.dat depthguage.dat flags.dat karstcompat.dat\ lrud.dat nomeasure.dat noteam.dat\ badmak.mak\ fixfeet.mak utm.mak\ clptest.dat clptest.clp\ walls.srv\ badopts.srv\ wallsbaddatum.wpj\ wallsdecl.wpj\ passage hanging_lrud equatenosuchstn surveytypo\ skipafterbadomit passagebad badreadingdotplus badcalibrate calibrate_clino\ badunits badbegin anonstn anonstnbad anonstnrev doubleinc reenterlots\ cs csbad csbadsdfix csfeet cslonglat omitfixaroundsolve repeatreading\ mixedeols utf8bom nonewlineateof suspectreadings cmd_data_default\ cmd_data_ignore\ quadrant_bearing bad_quadrant_bearing\ samename tabinhighlight legacytokens\ component_count_bug component_count_bug2\ 3dexport \ dxffullcoords dxfsurfequate\ gpxexport hpglexport jsonexport kmlexport pltexport svgexport\ "}} # Test file stnsurvey3.svx missing: pos=fail # We exit before the error count. LC_ALL=C export LC_ALL SURVEXLANG=en export SURVEXLANG # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS # Allow datestamps in 3d files (we normalise the expected output for GPX # etc) to allow for the datestamp not being fixed, but under SOURCE_DATE_EPOCH # the datestamp is omitted entirely which would break those testcases. unset SOURCE_DATE_EPOCH vg_error=123 vg_log=$testdir/vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" CAVERN="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $CAVERN" DIFFPOS="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DIFFPOS" DUMP3D="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DUMP3D" SURVEXPORT="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $SURVEXPORT" fi for file in $TESTS ; do case $file in nonexistent_file*|ONELEG) # ONELEG tests that we don't apply special handling to command line # arguments, only those in *include. realfile= ;; *.*) realfile=$srcdir/$file ;; *) realfile=$srcdir/$file.svx ;; esac if [ x"$file" = xONELEG ] && [ -f "ONELEG.SVX" ] ; then echo "Case insensitive filing system - skipping ONELEG testcase" continue fi if [ -n "$realfile" ] && [ ! -r "$realfile" ] ; then echo "Don't know how to run test '$file'" exit 1 fi echo "$file" # how many warnings to expect (or empty not to check) warn= # how many errors to expect (or empty not to check) error= # One of: # yes : diffpos 3D file output with <testcase_name>.pos # no : Check that a 3D file is produced, but not positions in it # fail : Check that a 3D file is NOT produced # 3d : Convert to 3D with survexport, compare dump3d to <testcase_name>.dump # dxf : Convert to DXF with survexport and compare with <testcase_name>.dxf # gpx : Convert to GPX with survexport and compare with <testcase_name>.gpx # json : Convert to JSON with survexport and compare with <testcase_name>.json # kml : Convert to KML with survexport and compare with <testcase_name>.kml # plt : Convert to PLT with survexport and compare with <testcase_name>.plt # svg : Convert to SVG with survexport and compare with <testcase_name>.svg pos= case $file in backread.dat|clptest.dat|clptest.clp|depthguage.dat|karstcompat.dat) pos=dump warn=0 ;; flags.dat) pos=dump warn=1 ;; *.dat) # .dat files can't start with a comment. All the other .dat tests # have the same settings. pos=yes warn=0 ;; nonexistent_file*|ONELEG) # These testcase files don't exist (or for ONELEG exist with a different # case). They all have the same settings. pos=fail ;; wallsbaddatum.wpj) # .wpj files can't start with a comment. pos=fail warn=0 err=1 ;; *.wpj) # .wpj files can't start with a comment. pos=dump warn=0 ;; *) survexportopts= read header < "$realfile" set dummy $header while shift && [ -n "$1" ] ; do case $1 in pos=*) pos=`expr "$1" : 'pos=\(.*\)'` ;; warn=*) warn=`expr "$1" : 'warn=\(.*\)'` ;; error=*) error=`expr "$1" : 'error=\(.*\)'` ;; survexportopt=*) survexportopts="$survexportopts "`expr "$1" : 'survexportopt=\(.*\)'` ;; esac done ;; esac basefile=$srcdir/$file case $file in *.*) input="./$file" basefile=`echo "$basefile"|sed 's/\.[^.]*$//'` ;; *) input="./$file.svx" ;; esac outfile=$basefile.out outfile2=$basefile.altout posfile=$basefile.pos rm -f tmp.* pwd=`pwd` cd "$srcdir" srcdir=. SOURCE_DATE_EPOCH=1 $CAVERN "$input" --output="$pwd/tmp" > "$pwd/tmp.out" exitcode=$? cd "$pwd" test -n "$VERBOSE" && cat tmp.out if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi if test fail = "$pos" ; then # success gives 0, signal (128 + <signal number>) test $exitcode = 1 || exit 1 else test $exitcode = 0 || exit 1 fi if test -n "$warn" ; then w=`sed '$!d;s/^There were \([0-9]*\).*/\1/p;d' tmp.out` if test x"${w:-0}" != x"$warn" ; then test -n "$VERBOSE" && echo "Got $w warnings, expected $warn" exit 1 fi fi if test -n "$error" ; then e=`sed '$!d;s/^There were .* and \([0-9][0-9]*\).*/\1/p;d' tmp.out` if test x"${e:-0}" != x"$error" ; then test -n "$VERBOSE" && echo "Got $e errors, expected $error" exit 1 fi fi # Fail if nan, NaN, etc in output (which might be followed by m for metres or # s for seconds). if egrep -q '(^|[^A-Za-z0-9])nan[ms]?($|[^A-Za-z0-9])' tmp.out ; then echo "Not-a-number appears in output" exit 1 fi case $pos in yes) if test -n "$VERBOSE" ; then $DIFFPOS "$posfile" tmp.3d exitcode=$? else $DIFFPOS "$posfile" tmp.3d > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 ;; dump) expectedfile=$basefile.dump tmpfile=tmp.dump $DUMP3D --show-dates --legs tmp.3d > "$tmpfile" exitcode=$? if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 if test -n "$VERBOSE" ; then $DIFF "$expectedfile" "$tmpfile" || exit 1 else $QUIET_DIFF "$expectedfile" "$tmpfile" || exit 1 fi ;; dxf|gpx|hpgl|json|kml|plt|svg) # $pos gives us the file extension here. expectedfile=$basefile.$pos tmpfile=tmp.$pos if test -n "$VERBOSE" ; then $SURVEXPORT --defaults$survexportopts tmp.3d "$tmpfile" exitcode=$? else $SURVEXPORT --defaults$survexportopts tmp.3d "$tmpfile" > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 # Normalise exported file if required. case $pos in dxf) # On x86 excess precision can result in -0.00 for some coordinates. sed 's/^-0\.00\>/0.00/;s/ -0\.00\>/ 0.00/g' < "$tmpfile" > tmp.tmp mv tmp.tmp "$tmpfile" ;; json) # On x86 excess precision can result in -0.00 for some coordinates. sed 's/-0\.00\>/0.00/g' < "$tmpfile" > tmp.tmp mv tmp.tmp "$tmpfile" ;; gpx) sed 's,<time>[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]Z</time>,<time>REDACTED</time>,;s,survex [0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*,survex REDACTED,' < "$tmpfile" > tmp.tmp mv tmp.tmp "$tmpfile" ;; esac if test -n "$VERBOSE" ; then $DIFF "$expectedfile" "$tmpfile" || exit 1 else $QUIET_DIFF "$expectedfile" "$tmpfile" || exit 1 fi ;; 3d) expectedfile=$basefile.dump tmpfile=tmp.dump if test -n "$VERBOSE" ; then SOURCE_DATE_EPOCH=1 $SURVEXPORT --defaults$survexportopts tmp.3d "$tmpfile.3d" exitcode=$? else SOURCE_DATE_EPOCH=1 $SURVEXPORT --defaults$survexportopts tmp.3d "$tmpfile.3d" > /dev/null exitcode=$? fi $DUMP3D --show-dates --legs "$tmpfile.3d" > "$tmpfile" if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 if test -n "$VERBOSE" ; then $DIFF "$expectedfile" "$tmpfile" || exit 1 else $QUIET_DIFF "$expectedfile" "$tmpfile" || exit 1 fi ;; no) test -f tmp.3d || exit 1 ;; fail) test -f tmp.3d && exit 1 # Check that last line doesn't contains "Bug in program detected" case `tail -n 1 tmp.out` in *"Bug in program detected"*) exit 1 ;; esac ;; *) echo "Bad value for pos: '$pos'" ; exit 1 ;; esac if test -f "$outfile" ; then # Version and time used info from output, working around Apple's stone-age # sed. sed '1,/^Copyright/d;/^\(CPU \)*[Tt]ime used *[0-9][0-9.]*s$/d;s!.*/src/\(cavern: \)!\1!' tmp.out > tmp.out2 mv tmp.out2 tmp.out # Check output is as expected. if $QUIET_DIFF "$outfile" tmp.out ; then : # Matches. elif [ -f "$outfile2" ] && $QUIET_DIFF "$outfile2" tmp.out ; then : # Matches alternative output (e.g. due to older PROJ). else test -z "$VERBOSE" || $DIFF "$outfile" tmp.out exit 1 fi fi rm -f tmp.* done test -n "$VERBOSE" && echo "Test passed" exit 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_alias.pos�������������������������������������������������������������������0000664�0001750�0001750�00000000352�14756732050�012435� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, -1.00, 0.00 ) ( -1.00, 0.00, 0.00 ) ( 0.00, 0.00, 0.00 ) 1 ( 1.00, -1.00, 0.00 ) 2 ( 1.00, -1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) - ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_default_bad.svx�������������������������������������������������������������0000664�0001750�0001750�00000000145�14765125402�013612� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=3 error=3 *fix 1 0 0 0 1 2 1 0 0 *default calibrate data *default foo *default un1ts ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_flags.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000531�14647535025�012456� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix 1 reference 0 0 0 *flags duplicate splay surface *flags duplicate *flags splay *flags surface *flags not duplicate *flags not splay *flags not surface *flags not duplicate splay *flags surface not splay *flags not duplicate not surface not splay *flags duplicate not surface not splay *flags not duplicate surface not splay �����������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cs.out��������������������������������������������������������������������������0000664�0001750�0001750�00000001014�14765126030�011123� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: 0.4dg at 2 to 0.4dg at 2 Survey contains 2 survey stations, joined by 0 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/subdir/�������������������������������������������������������������������������0000775�0001750�0001750�00000000000�14766657213�011356� 5�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/subdir/subsubdir/���������������������������������������������������������������0000775�0001750�0001750�00000000000�14766657213�013360� 5�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/subdir/subsubdir/cave2.dat������������������������������������������������������0000664�0001750�0001750�00000000451�14756727464�014777� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave Two SURVEY NAME: TO PASSAGE SURVEY DATE: 1 1 1901 SURVEY TEAM: DECLINATION: 0.00 FORMAT: DMMDLRUDLAD FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS AA3 AA4 10.00 270.00 0.00 29.00 32.00 5.00 8.00 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/subdir/cave1b.dat���������������������������������������������������������������0000664�0001750�0001750�00000000454�14756727464�013141� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave One Bee SURVEY NAME: B PASSAGE SURVEY DATE: 1 1 1901 SURVEY TEAM: DECLINATION: 0.00 FORMAT: DMMDLRUDLAD FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS AA2 AA3 10.00 180.00 0.00 29.00 32.00 5.00 8.00 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/subdir/cave1a.dat���������������������������������������������������������������0000664�0001750�0001750�00000000454�14756727464�013140� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave One Aye SURVEY NAME: A PASSAGE SURVEY DATE: 1 1 1901 SURVEY TEAM: DECLINATION: 0.00 FORMAT: DMMDLRUDLAD FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS AA1 AA2 10.00 90.00 0.00 29.00 32.00 5.00 8.00 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cross.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�011643� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 4.00, 0.00 ) 1 ( 4.00, 0.00, 0.00 ) 2 ( 8.00, 4.00, 0.00 ) 3 ( 4.00, 8.00, 0.00 ) 4 ( 4.00, 4.00, 0.00 ) a ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/beginroot.out�������������������������������������������������������������������0000664�0001750�0001750�00000001443�14765126030�012514� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./beginroot.svx:4:2: warning: *prefix is deprecated - use *begin and *end instead *prefix \ ^~~~~~ ./beginroot.svx:4:9: warning: ROOT is deprecated *prefix \ ^ ./beginroot.svx:5:8: warning: ROOT is deprecated *begin \ ^ ./beginroot.svx:7:6: warning: ROOT is deprecated *end \ ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./beginroot.svx:6: warning: Unused fixed point "1" Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 5 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswap-break.espec���������������������������������������������������������������0000644�0001750�0001750�00000000024�14525274540�013211� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*start a *break b c ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/noteam.dat����������������������������������������������������������������������0000644�0001750�0001750�00000000544�14567212227�011753� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������MYCAVE SURVEY NAME: GX SURVEY DATE: 1 1 1988 COMMENT:TEST SURVEY TEAM: DECLINATION: 9.85 FORMAT: DDDDLRUDLADN CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS GX1 GX2 1.70 1.00 -2.00 12.00 1.50 5.00 20.00 ������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination.svx�������������������������������������������������������������0000644�0001750�0001750�00000000425�14647535025�013655� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *equate 1 a.1 *begin a *export 1 2 *declination 90 degrees 1 2 10.00 000 0 *end a *equate a.2 b.1 *begin b *export 1 2 1 2 10.00 000 0 *end b *equate b.2 c.1 *begin c *export 1 2 *declination 10800 minutes ; 180 degrees 1 2 10.00 000 0 *end c �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/gettokennullderef.svx�����������������������������������������������������������0000644�0001750�0001750�00000000107�14647535025�014257� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail *: ; the above line would cause a segfault prior to 1.0.19! ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/gpxexport.gpx�������������������������������������������������������������������0000664�0001750�0001750�00000000642�14756727464�012575� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <gpx version="1.0" creator="survex REDACTED (aven) - https://survex.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/0" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd"> <name>gpxexport</name> <wpt lon="174.77670004" lat="-41.27839998"><ele>30.00</ele><name>bh</name></wpt> </gpx> ����������������������������������������������������������������������������������������������survex-1.4.17/tests/reenterwarn.out�����������������������������������������������������������������0000664�0001750�0001750�00000001371�14765126030�013060� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./reenterwarn.svx:4:8: warning: Reentering an existing survey is deprecated *begin 1 ^ ./reenterwarn.svx:2: info: Originally entered here Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from b at 0.00m to b at 0.00m) North-South range = 1.00m (from b at 1.00m to a at 0.00m) East-West range = 0.00m (from b at 0.00m to b at 0.00m) There were 1 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug4.svx������������������������������������������������������������������������0000644�0001750�0001750�00000000512�14647535025�011377� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; the omittable data for topofil and diving styles were reversed in 0.95 *fix 1 123 456 789 *data topofil from to fromcount tocount compass 1 2 12345 67890 090 *data diving from to tape compass fromdepth todepth 2 3 2.00 090 0.0 1.2 *data diving from to tape compass fromdepth todepth clino 3 4 2.00 090 0.0 1.2 - ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbad.altout��������������������������������������������������������������������0000664�0001750�0001750�00000005762�14765125402�012313� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./csbad.svx:2: error: Station "1" fixed before CS command first used ./csbad.svx:3:5: error: Unknown coordinate system *cs EPSG:-1 ^~~~~~~ ./csbad.svx:4:5: error: Unknown coordinate system *cs ERSI:1234 ^~~~~~~~~ ./csbad.svx:5:5: error: Unknown coordinate system *cs EUR79Z31 ^~~~~~~~ ./csbad.svx:6:11: error: End of line not blank *cs IJTSK 03 ^~ ./csbad.svx:7:5: error: Unknown coordinate system *cs IJTSK04 ^~~~~~~ ./csbad.svx:8:5: error: Unknown coordinate system *cs IJTSK99 ^~~~~~~ ./csbad.svx:9:5: error: Unknown coordinate system *cs IJTSK3 ^~~~~~ ./csbad.svx:10:5: error: Unknown coordinate system *cs IJTSK032 ^~~~~~~~ ./csbad.svx:11:5: error: Unknown coordinate system *cs IJTSK03a ^~~~~~~~ ./csbad.svx:12:5: error: Unknown coordinate system *cs lat-lat ^~~~~~~ ./csbad.svx:13:5: error: Unknown coordinate system *cs Long-LONG ^~~~~~~~~ ./csbad.svx:14:5: error: Unknown coordinate system *cs OSGB:ZZ ^~~~~~~ ./csbad.svx:15:5: error: Unknown coordinate system *cs OSGB:HI ^~~~~~~ ./csbad.svx:16:5: error: Unknown coordinate system *cs S-LONG ^~~~~~ ./csbad.svx:17:5: error: Unknown coordinate system *cs UTM0 ^~~~ ./csbad.svx:18:5: error: Unknown coordinate system *cs UTM61N ^~~~~~ ./csbad.svx:19:5: error: Unknown coordinate system *cs UTM61S ^~~~~~ ./csbad.svx:20:5: error: Unknown coordinate system *cs lat-l0ng ^~~~~~~~ ./csbad.svx:21:5: error: Unknown coordinate system *cs s-m3rc ^~~~~~ ./csbad.svx:22:12: error: Invalid coordinate system: unknown projection id *cs custom "+proj=ection" ^~~~~~~~~~~~~~ ./csbad.svx:23:12: error: Invalid coordinate system: unknown projection id *cs custom "+proj=ection +with +spaces" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./csbad.svx:24:9: error: Unknown coordinate system *cs out lat-long ^~~~~~~~ ./csbad.svx:25:9: error: Coordinate system unsuitable for output *cs out long-lat ^~~~~~~~ ./csbad.svx:26:9: error: Coordinate system unsuitable for output *cs out jtsk ^~~~ ./csbad.svx:27:9: error: Coordinate system unsuitable for output *cs out jtsk03 ^~~~~~ ./csbad.svx:28:9: error: Coordinate system unsuitable for output *cs out EPSG:4326 ^~~~~~~~~ ./csbad.svx:29:9: error: Coordinate system unsuitable for output *cs out ESRI:104305 ^~~~~~~~~~~ ./csbad.svx:37: error: Failed to convert coordinates: latitude or longitude exceeded limits *fix 2 reference 179 -89 1000 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 0 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m 2 0-nodes. There were 0 warning(s) and 29 error(s) - no output files produced. ��������������survex-1.4.17/tests/chinabug.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000134�14756732050�012316� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=2 n.g.1 d.u.1 1 0 0 j.m.1 d.s.1 1 0 0 e.s.1 h.w.1 1 0 0 *fix x.1 0 0 0 1 1 1 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multicartesian.pos��������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�013536� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/equatenosuchstn.svx�������������������������������������������������������������0000644�0001750�0001750�00000000215�14647535025�013767� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=1 *fix entrance.1 0 0 0 *begin entrance *export 1 1 2 10.00 100 -10 *end entrance *equate entrance.1 nosuchsurvey.1 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/flags.out�����������������������������������������������������������������������0000664�0001750�0001750�00000001456�14765126030�011624� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./flags.dat:17: warning: Survey leg with same station ("y") at both ends - typing error? y y 3.281 0 0 0 0 0 0 ./flags.dat:10: info: Survey has no fixed points. Therefore I've fixed C1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 8 survey stations, joined by 8 legs. There is 1 loop. Total length of survey legs = 1.30m ( 1.25m adjusted) Total plan length of survey legs = 1.30m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from y at 0.00m to y at 0.00m) North-South range = 3.00m (from y at 3.00m to C1 at 0.00m) East-West range = 0.10m (from C5 at 0.10m to y at 0.00m) There were 1 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/3dtopos.tst���������������������������������������������������������������������0000775�0001750�0001750�00000004660�14756727464�012153� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - 3d to pos tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 test -x "$testdir"/../src/cavern || testdir=. : ${DIFFPOS="$testdir"/../src/diffpos} : ${SURVEXPORT="$testdir"/../src/survexport} : ${TESTS=${*:-"pos.pos v0 v0b v1 v2 v3"}} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" SURVEXPORT="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $SURVEXPORT" DIFFPOS="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DIFFPOS" fi for file in $TESTS ; do echo $file case $file in *.pos) input="$srcdir/$file" ;; *) input="$srcdir/$file.3d" ;; esac rm -f tmp.pos diffpos.tmp $SURVEXPORT "$input" tmp.pos exitcode=$? if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test $exitcode = 0 || exit 1 $DIFFPOS "$input" tmp.pos > diffpos.tmp exitcode=$? if test -n "$VERBOSE" ; then cat diffpos.tmp fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test -s diffpos.tmp && exit 1 rm -f tmp.pos diffpos.tmp done test -n "$VERBOSE" && echo "Test passed" exit 0 ��������������������������������������������������������������������������������survex-1.4.17/tests/cmd_default_bad.out�������������������������������������������������������������0000664�0001750�0001750�00000002550�14765126030�013601� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_default_bad.svx:4:2: warning: *DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead *default calibrate data ^~~~~~~ ./cmd_default_bad.svx:4:20: error: End of line not blank *default calibrate data ^~~~ ./cmd_default_bad.svx:5:2: warning: *DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead *default foo ^~~~~~~ ./cmd_default_bad.svx:5:10: error: Unknown setting "foo" *default foo ^~~ ./cmd_default_bad.svx:6:2: warning: *DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead *default un1ts ^~~~~~~ ./cmd_default_bad.svx:6:10: error: Unknown setting "un1ts" *default un1ts ^~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 1.00m (from 2 at 1.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) There were 3 warning(s) and 3 error(s) - no output files produced. ��������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000071�14647535025�012511� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 1 2 1 0 0 *solve 1 2 3 0 0 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/oneleg.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�011766� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 2.40, 2.40, -0.60 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/noteam.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000150�14567212227�011775� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) GX1 ( 0.10, 0.51, -0.02 ) GX2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/require_fail.svx����������������������������������������������������������������0000664�0001750�0001750�00000000411�14765125402�013200� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail *require 1.0abc ; test warning with suffix (added in 1.4.11) *require 1. 42 ; spaces in the version rejected in 1.4.11 and later *require 1.4. ; trailing dot is OK *require 1.5 ; require a version later than the current one SHOULD_EXIT_AND_NOT_GET_HERE �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badmak.mak����������������������������������������������������������������������0000664�0001750�0001750�00000000272�14756727464�011725� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/ pos=fail warn=1 error=3 / #backread.dat, C1 [inch,10.23,20.47,1234.56], C3 [m,10.23,20.47,1234.56], C2 [n,10.23,20.47,1234.56], C3 [m,10.23,20.47,1234.56], C3 [f,10.23,20.47,1234.56]; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/self_loop.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000076�14647535025�012525� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *fix 1 0 0 0 1 2 1 0 0 2 2 1 0 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/back2.svx�����������������������������������������������������������������������0000664�0001750�0001750�00000001377�14647616427�011542� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=6 *fix 1 0 0 0 *data normal from to tape compass backcompass clino backclino 1 2a 10.00 001.5 178.5 01 01 1 2b 10.00 358.5 181.5 01 01 *data normal from to tape backtape compass backcompass clino backclino 1 5a 10.03 9.97 000 180 01 01 1 5b 10.04 9.96 359 181 01 01 1 5c 10.00 - 000 180 01 01 1 5d - 10.00 000 180 01 01 *calibrate backcompass 10 *data normal from to tape compass backcompass clino backclino 1 3a 10.00 001.5 188.5 01 01 1 3b 10.00 358.5 191.5 01 01 *calibrate compass 10 *calibrate backcompass 0 *data normal from to tape compass backcompass clino backclino 1 4a 10.00 011.5 178.5 01 01 1 4b 10.00 008.5 181.5 01 01 *data cartesian from to dx dy dz ; Work around variation in which station is picked for the maximum: 1 max 9 12 36 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/v2.3d���������������������������������������������������������������������������0000644�0001750�0001750�00000001030�14525274540�010544� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v2 3dtopostst Sat,2001.09.15 17:14:35 BST ����������������G�����D���������)��������(���� ������Bsurvey.2_9a ������Bsurvey.2_a (��Bsurvey.2_10 ��Bsurvey.2_9 ��Bsurvey.2 )��Bsurvey.001 ��Bsurvey.0a D���Bsurvey.00 G���Bsurvey.0 ��Jsurvey.1 ��B2 ��R1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/plumb.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�011631� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 3.00, 4.00, 10.00 ) a ( 0.00, 5.00, 10.00 ) b ( 0.00, 0.00, 0.00 ) d ( 1.83, 2.44, 10.00 ) u ( 0.00, 3.05, 10.00 ) v ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv.out��������������������������������������������������������0000664�0001750�0001750�00000001537�14765126030�014671� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_declination_conv.svx:8: info: Declination: 3.1dg @ 2015-08-01, grid convergence: -1.7dg *declination auto 328000 5260000 2500 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -1.7dg at test.1 to -1.7dg at test.0 Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1000.00m (1000.00m adjusted) Total plan length of survey legs = 1000.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from test.1 at 2500.00m to test.1 at 2500.00m) North-South range = 999.56m (from test.1 at 5260999.56m to test.0 at 5260000.00m) East-West range = 29.50m (from test.1 at 328029.50m to test.0 at 328000.00m) �����������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastar2.svx������������������������������������������������������������������0000644�0001750�0001750�00000000244�14647535025�012605� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 0 0 0 0 0 B 1 000 0 0 C 1 090 0 0 A 1 270 0 y C 1 180 0 C z 1 180 0 z v 1 270 0 v w 1 270 0 w A 1 000 0 A x 1 000 0 x B 1 090 0 B y 1 090 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbad.svx�����������������������������������������������������������������������0000664�0001750�0001750�00000001652�14765125402�011615� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=29 *fix 1 reference 0 0 0 *cs EPSG:-1 *cs ERSI:1234 *cs EUR79Z31 *cs IJTSK 03 *cs IJTSK04 *cs IJTSK99 *cs IJTSK3 *cs IJTSK032 *cs IJTSK03a *cs lat-lat *cs Long-LONG *cs OSGB:ZZ *cs OSGB:HI *cs S-LONG *cs UTM0 *cs UTM61N *cs UTM61S *cs lat-l0ng *cs s-m3rc *cs custom "+proj=ection" *cs custom "+proj=ection +with +spaces" *cs out lat-long *cs out long-lat *cs out jtsk *cs out jtsk03 *cs out EPSG:4326 *cs out ESRI:104305 ; Check that an error from PROJ is usefully relayed by cavern. PROJ >= 6 uses ; a more accurate conversion for default for tmerc which works for the whole ; world, so we specify +approx to force the old conversion to be used. Older ; PROJ doesn't understand +approx but appears to just ignore unrecognised ; options. *cs out custom "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=0 +y_0=0 +ellps=airy +datum=OSGB36 +units=m +no_defs +approx" *cs long-lat *fix 2 reference 179 -89 1000 ��������������������������������������������������������������������������������������survex-1.4.17/tests/cross.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000206�14647535025�011667� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 4 0 *fix 2 4 0 0 *fix 3 8 4 0 *fix 4 4 8 0 1 a 3.00 090 00 2 a 3.00 000 00 3 a 3.00 270 00 4 a 3.00 180 00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/suspectreadings.out�������������������������������������������������������������0000664�0001750�0001750�00000001765�14765126030�013736� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./suspectreadings.svx:3:5: warning: Negative tape reading 1 2 -0.10 361 -91 ^~~~~ ./suspectreadings.svx:3:5: warning: Negative adjusted tape reading 1 2 -0.10 361 -91 ^~~~~ ./suspectreadings.svx:3:11: warning: Suspicious compass reading 1 2 -0.10 361 -91 ^~~ ./suspectreadings.svx:3:15: warning: Clino reading over 90dg (absolute value) 1 2 -0.10 361 -91 ^~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 0.10m ( 0.10m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.10m Vertical range = 0.10m (from 2 at 0.10m to 1 at 0.00m) North-South range = 0.00m (from 2 at 0.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 1 at 0.00m) There were 4 warning(s). �����������survex-1.4.17/tests/skipafterbadomit.svx������������������������������������������������������������0000644�0001750�0001750�00000000310�14647535025�014062� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 ; The '-' should give an error, but then skip the rest of the line. ; In 1.2.5 and earlier, we also reported 'End of line not blank'. *fix a - 2.0 3.0 *fix z reference 0 0 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartes.out����������������������������������������������������������������������0000664�0001750�0001750�00000001115�14765126030�012001� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 4 legs. There are 0 loops. Total length of survey legs = 4.00m ( 4.00m adjusted) Total plan length of survey legs = 4.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 5 at 0.00m to 5 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 5 at 0.00m) East-West range = 1.00m (from 4 at 1.00m to 5 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_copyright_bad.svx�����������������������������������������������������������0000664�0001750�0001750�00000001544�14766172673�014217� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=31 *begin survey *copyright *copyright " *copyright "X *copyright "Just terrible *copyright NoYear *copyright "No year" *copyright WrongOrder 2000 *copyright "Wrong Order" 2000 *copyright 1999 No quotes *copyright 999 BadYear *copyright 999 "Bad Year" *copyright 1999 "No closing quote *copyright 1999 "No_closing_quote *copyright 1999 No opening quote" *copyright WrongOrder 2000-2001 *copyright "Wrong Order" 2000-2001 *copyright 1999-2000 No quotes *copyright 999-1000 BadYear *copyright 998-999 "Bad Year" *copyright 1999-2020 "No closing quote *copyright 1999-2012 "No_closing_quote *copyright 1999-2001 No opening quote" *copyright 2000-1999 "Doctor Who" *copyright 2000-1999 DrWho *copyright 2078 "Doctor Who" *copyright 1900-2078 "Doctor Who" *copyright 2077-2078 "Doctor Who" *copyright 2078-2077 "Doctor Who" *fix 1 0 0 0 1 2 1 0 0 *end survey ������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinormalbad.svx��������������������������������������������������������������0000644�0001750�0001750�00000000327�14647535025�013554� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *fix 1 0 0 0 *data normal station newline tape compass clino 1 1.00 000 0 2 1.00 090 0 3 1.00 000 -45 *data normal station newline tape compass clino 3 1.00 180 0 4 1.00 270 0 5 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartes.svx����������������������������������������������������������������������0000644�0001750�0001750�00000000255�14647535025�012023� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data cartesian from easting northing altitude to 1 0 1 0 2 2 1 0 0 3 *data cartesian to from easting northing altitude 4 3 0 -1 0 5 4 -1 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badreadingdotplus.svx�����������������������������������������������������������0000664�0001750�0001750�00000000215�14756732050�014231� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=4 *fix 1 reference 0 0 0 1 2 .hello. 100 -90 2 3 +hello+ 100 -45 *set omit ? 3 4 -hello 100 -22.5 4 5 10.00 100 ;comment �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cs.pos��������������������������������������������������������������������������0000644�0001750�0001750�00000000144�14567212227�011122� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) (36000.00, 83000.00, 1600.00 ) 1 (36000.00, 83000.00, 1600.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv_proj_bug.out�����������������������������������������������0000664�0001750�0001750�00000001500�14765126030�016546� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_declination_conv_proj_bug.svx:16: info: Declination: -3.5dg @ 2005-12-15, grid convergence: 0.8dg *declination auto 562696.24 6000557.63 225 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: 0.8dg at 2 to 0.8dg at 1 Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 25.00m ( 25.00m adjusted) Total plan length of survey legs = 25.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 225.00m to 2 at 225.00m) North-South range = 24.93m (from 2 at 6000582.56m to 1 at 6000557.63m) East-West range = 1.87m (from 1 at 562696.24m to 2 at 562694.37m) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/component_count_bug2.out��������������������������������������������������������0000664�0001750�0001750�00000001115�14765126030�014651� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 3 legs. There are 0 loops. Total length of survey legs = 2.00m ( 1.10m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 4 at 0.00m to 4 at 0.00m) North-South range = 0.00m (from 4 at 0.00m to 4 at 0.00m) East-West range = 1.10m (from 4 at 1.10m to 3 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsbaddatum.wpj���������������������������������������������������������������0000664�0001750�0001750�00000000666�14765125402�013351� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������;WALLS Project File .BOOK Test Project .NAME PROJECT .OPTIONS $macro=1 .STATUS 1092115 .REF 4113846.340 580661.570 16 0.549 219 6 37 10 3.195 86 5 29.254 19 "Camp Area Astro" .BOOK Ignored Book review units metres .NAME IGNBOOK .STATUS 10 .SURVEY Missing survey file in ignored book .NAME IGNORED .STATUS 8 .ENDBOOK .BOOK Book with review units feet .NAME BOOKFEET .STATUS 24 .SURVEY DECLTEST .NAME WALLSDECL .STATUS 24 .ENDBOOK .ENDBOOK ��������������������������������������������������������������������������survex-1.4.17/tests/revcomplist.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000513�14647535025�013106� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; check that we cope with a fixed point cut line between two ; articulations *fix A 0 0 0 *fix B 2 2 2 *fix C reference 1 1 1 *equate D B D F 1.00 000 0 F G 1.00 000 0 G F 1.00 000 0 B H 1.00 000 0 H I 1.00 000 0 H I 1.00 000 0 H I 1.00 000 0 I K 1.00 000 0 *equate E A L E 1.00 000 0 K L 1.00 000 0 K L 1.00 000 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/notentranceorexport.svx���������������������������������������������������������0000644�0001750�0001750�00000000264�14647535025�014665� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 ; In 1.0.7 and earlier, this gave a bogus warning about station 3 being ; *export-ed or *entrance-d, but not used. *fix 1 0 0 0 1 2 1.00 0 0 2 3 1.00 - 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_default.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000201�14647535025�013000� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=3 *fix 1 0 0 0 1 2 1 0 0 ; these should generate one warning each: *default calibrate *default data *default units �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_auto_bad.out����������������������������������������������������0000664�0001750�0001750�00000002341�14765126030�015474� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_declination_auto_bad.svx:4: error: The output projection is set but the input projection isn't *fix 1 0410600 5282000 1234 ./cmd_declination_auto_bad.svx:5:14: error: Input coordinate system must be specified for "*DECLINATION AUTO" *declination auto 0410600 5282000 1234 ^~~~ ./cmd_declination_auto_bad.svx:34:14: error: Input coordinate system must be specified for "*DECLINATION AUTO" *declination auto 0490600 5282000 1234 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -0.9dg at d.2 to -0.9dg at d.2b Survey contains 13 survey stations, joined by 12 legs. There are 0 loops. Total length of survey legs = 175.23m ( 175.23m adjusted) Total plan length of survey legs = 171.98m Total vertical length of survey legs = 5.00m Vertical range = 4.87m (from a.1 at 1234.00m to c.3 at 1229.13m) North-South range = 107.62m (from d.2 at 5282107.62m to a.1 at 5282000.00m) East-West range = 10.00m (from d.2b at 410603.61m to d.2a at 410593.61m) There were 0 warning(s) and 3 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extend2names.svx����������������������������������������������������������������0000644�0001750�0001750�00000000060�14647535025�013131� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 2 10.00 010 -05 *equate 2 A A 3 5.00 020 -05 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/delatend.out��������������������������������������������������������������������0000644�0001750�0001750�00000000013�14525274540�012276� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Deleted: 1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set.pos���������������������������������������������������������������������0000664�0001750�0001750�00000000412�14756727464�012151� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( -0.34, -0.94, -0.03 ) 3.1 ( 1.00, 2.00, 3.00 ) (2) ( 0.00, 0.00, 0.00 ) foo:1 ( 0.00, 0.00, -100.00 ) foo:2 ( 0.00, 0.00, 0.00 ) name with spaces in ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr1.svx������������������������������������������������������������������0000644�0001750�0001750�00000000203�14647535025�012646� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *equate entrance outer.inner.1 *begin outer *begin inner *export 1 1 2 1.23 045 -6 *end inner *end outer ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc4.svx���������������������������������������������������������������������0000664�0001750�0001750�00000000366�14756727464�012066� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=5 ; The two lines below used to cause a segfault (fixed in 1.2.7) *include ; comment *include ; This caused a segfault too (fixed in 1.2.38) *include "" *include "not terminated *include "nonexistent_file" *fix 1 reference 0 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc.svx����������������������������������������������������������������������0000644�0001750�0001750�00000000105�14647535025�011754� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail ; include of a nonexistent file *include nonexistent_file �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_copyright.svx���������������������������������������������������������������0000664�0001750�0001750�00000000254�14766153134�013375� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *begin survey *copyright 1999 Wookey *copyright 1066 "William the Conqueror" *copyright 2000-2001 "Space Oddity Speleos" *fix 1 0 0 0 1 2 1 0 0 *end survey ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/unconnected-bug.out�������������������������������������������������������������0000664�0001750�0001750�00000001270�14765126030�013602� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./unconnected-bug.svx:3: info: 2 Calculating network... Calculating traverses... Calculating trailing traverses... ./unconnected-bug.svx:2: warning: Unused fixed point "1" Calculating statistics... Survey contains 4 survey stations, joined by 2 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 2 warning(s). ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cylpolar.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000337�14647535025�012370� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data cylpolar from to fromdepth todepth tape compass 1 2 0.0 1.0 1.00 000 2 3 1.0 0.0 1.00 090 *data cylpolar to from fromdepth todepth tape compass 4 3 1.0 1.0 1.00 180 5 4 1.0 1.0 1.00 270 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badquantities.svx���������������������������������������������������������������0000644�0001750�0001750�00000000613�14647535025�013375� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=11 *fix 1 reference 0 0 0 ; these weren't caught until 0.99 *units default tape metres *units default compass degrees *sd angleoutput 1 degrees *sd lengthoutput 0.1 metres *sd declination 1 degrees ; these were caught with a poor message *calibrate default compass 0 *calibrate position 0 *calibrate lengthoutput 0 *calibrate angleoutput 0 *calibrate plumb 0 *calibrate level 0 ���������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/oneleg.svx����������������������������������������������������������������������0000644�0001750�0001750�00000000056�14647535025�012012� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 1 2 3.45 45 -10 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/inferexports.svx����������������������������������������������������������������0000644�0001750�0001750�00000000141�14647535025�013264� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix 1 0 0 0 *equate 1 a.1 *begin a *infer exports on 1 2 1 0 0 2 3 1 0 0 *end a �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc5.out���������������������������������������������������������������������0000664�0001750�0001750�00000001530�14765126030�012026� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badinc5.mak:4:2: error: Couldn't open file "nosuchfile.dat" #nosuchfile.dat, ^~~~~~~~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./badinc5.mak:5: warning: Unused fixed point "GX1" Calculating statistics... Survey contains 7 survey stations, joined by 5 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 5.39m ( 5.39m adjusted) Total plan length of survey legs = 5.29m Total vertical length of survey legs = 0.56m Vertical range = 0.52m (from D1 at 1235.08m to C2 at 1234.56m) North-South range = 3.15m (from D1 at 22.62m to B2 at 19.47m) East-West range = 1.00m (from B2 at 11.23m to C2 at 10.23m) There were 1 warning(s) and 1 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_ref_bad.out�����������������������������������������������������������������0000664�0001750�0001750�00000002255�14766160743�012745� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_ref_bad.svx:3:5: error: Expecting string field *ref ^ ./cmd_ref_bad.svx:4:7: error: Missing " *ref " ^ ./cmd_ref_bad.svx:5:9: error: End of line not blank *ref No quotes ^~~~~~ ./cmd_ref_bad.svx:6:23: error: Missing " *ref "No closing quote ^ ./cmd_ref_bad.svx:7:23: error: Missing " *ref "No_closing_quote ^ ./cmd_ref_bad.svx:8:9: error: End of line not blank *ref No opening quote" ^~~~~~~~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from othermic.2 at 0.00m to othermic.2 at 0.00m) North-South range = 1.00m (from othermic.2 at 1.00m to othermic.1 at 0.00m) East-West range = 0.00m (from othermic.2 at 0.00m to othermic.2 at 0.00m) There were 0 warning(s) and 6 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/imgtest_survey.svx��������������������������������������������������������������0000664�0001750�0001750�00000000155�14756727464�013647� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*fix 1 0 0 0 *equate 1 foo.1 svy.1 *begin foo 1 2 10.00 000 00 *end foo *begin svy 1 2 10.00 - DOWN *end svy �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/require.svx���������������������������������������������������������������������0000664�0001750�0001750�00000000065�14647535025�012217� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *require 0.94 *fix a reference 0 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dotinsurvey.out�����������������������������������������������������������������0000664�0001750�0001750�00000001544�14765126030�013121� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./dotinsurvey.svx:4:11: warning: Separator in survey name *begin 106.top ^ ./dotinsurvey.svx:11:11: warning: Separator in survey name *begin 106.2 ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 2 legs. There are 0 loops. Survey has 3 connected components. Total length of survey legs = 15.00m ( 15.00m adjusted) Total plan length of survey legs = 15.00m Total vertical length of survey legs = 0.09m Vertical range = 2.09m (from 106.2.1 at 2.09m to 106.top.1 at 0.00m) North-South range = 12.92m (from 106.top.1 at 10.00m to 106.2.1 at -2.92m) East-West range = 2.00m (from 106.2.2 at 2.00m to 106.top.1 at 0.00m) There were 2 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr1b.out�����������������������������������������������������������������0000664�0001750�0001750�00000001624�14765126030�013002� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./exporterr1b.svx:2: error: Station "outer.inner.1" not exported from survey "outer" ./exporterr1b.svx:8: info: Survey has no fixed points. Therefore I've fixed outer.inner.1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 1.23m ( 1.23m adjusted) Total plan length of survey legs = 1.22m Total vertical length of survey legs = 0.13m Vertical range = 0.13m (from outer.inner.1 at 0.00m to outer.inner.2 at -0.13m) North-South range = 0.86m (from outer.inner.2 at 0.86m to outer.inner.1 at 0.00m) East-West range = 0.86m (from outer.inner.2 at 0.86m to outer.inner.1 at 0.00m) There were 0 warning(s) and 1 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set_dot_in_name.svx���������������������������������������������������������0000664�0001750�0001750�00000000267�14756727464�014534� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=0 *set separator ! *set names _-. *begin pull4 1 2 1.0 0.0 0.0 2 2.1 1.0 90.0 0.0 2.1 2.2 1.0 180.0 0.0 *end pull4 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/noteam.out����������������������������������������������������������������������0000664�0001750�0001750�00000001260�14765126030�012004� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./noteam.dat:10: info: Survey has no fixed points. Therefore I've fixed GX1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 0.52m ( 0.52m adjusted) Total plan length of survey legs = 0.52m Total vertical length of survey legs = 0.02m Vertical range = 0.02m (from GX1 at 0.00m to GX2 at -0.02m) North-South range = 0.51m (from GX2 at 0.51m to GX1 at 0.00m) East-West range = 0.10m (from GX2 at 0.10m to GX1 at 0.00m) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastar2.pos������������������������������������������������������������������0000644�0001750�0001750�00000000522�14525274540�012562� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 0 ( -1.00, -0.00, 0.00 ) a ( 0.00, 1.00, 0.00 ) b ( 1.00, 0.00, 0.00 ) c ( 0.00, -1.00, 0.00 ) v ( -1.00, -1.00, 0.00 ) w ( -1.00, 1.00, 0.00 ) x ( 1.00, 1.00, 0.00 ) y ( 1.00, -1.00, 0.00 ) z ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/includecomment.svx��������������������������������������������������������������0000644�0001750�0001750�00000000211�14647535025�013540� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; a trailing comment like this causes an error in one of the 0.96 prereleases *include singlefix.svx ; hello 1 2 1 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/imgoffbyone.svx�����������������������������������������������������������������0000644�0001750�0001750�00000001374�14647535025�013051� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes ; (don't actually care about coords, just the names) *fix P.BPG.A.1 0 0 0 *BEGIN P *Begin BPG *Equate A.1 S.1 *begin S 17 1 1 0 0 *END S *Equate U.1 A.1 *begin U 1 23L 1 0 0 *END U *begin X A V 1 0 0 *END X *Equate X.V S.17 *begin CollinsCrawl1 A J 1 0 0 *End CollinsCrawl1 *Equate CollinsCrawl1.J X.A *begin G 1 8 1 0 0 *END G *Equate CollinsCrawl1.A G.8 *begin M 0 23 1 0 0 *END M *Equate M.0 G.1 *Equate M.23 U.23L *begin Y 16 48 1 0 0 *END Y *begin W 0 105 1 0 0 *END W *Equate W.105 Y.48 *Equate W.0 G.8 *END BPG *BEGIN M *begin D 0 47 1 0 0 *END D *begin H 0 12 1 0 0 *END H *EQUATE H.0 D.47 *BEGIN Maze 1 3 1 0 0 3 1 1 0 0 1 3 1 0 0 *END Maze *EQUATE maze.3 E.11 *begin E 11 17 1 0 0 *END E *EQUATE E.17 H.12 *END M *EQUATE BPG.Y.16 M.D.0 *END P ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/omitclino.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000154�14647535025�012535� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 1 2 12.00 000 - ; this failed up to Survex 1.0.7: *set omit @ 2 3 11.00 090 @ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/gpxexport.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000124�14756727464�012612� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=gpx warn=0 *cs long-lat *cs out UTM60S *fix bh reference 174.7767 -41.2784 30 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multisection.dump���������������������������������������������������������������0000664�0001750�0001750�00000003566�14756727464�013433� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "multisection" DATE "?" DATE_NUMERIC -1 CS EPSG:32631 VERSION -2 SEPARATOR ' ' -- NODE -20.18 39.93 -22.86 [ZSURF S1] SURFACE NODE -20.79 40.69 -24.38 [ZSURF S2] SURFACE LEG -20.18 39.93 -22.86 -20.79 40.69 -24.38 [ZSURF] SURFACE DUPLICATE 2001.01.01 NODE -21.40 37.64 -26.55 [ZSURF Z6] SURFACE UNDERGROUND ENTRANCE EXPORTED FIXED XSECT 0.00 0.00 0.00 0.00 [ZSURF Z6] 2001.01.01 LEG -20.79 40.69 -24.38 -21.40 37.64 -26.55 [ZSURF] SURFACE DUPLICATE 2001.01.01 XSECT_END NODE -21.40 37.64 -26.55 [Z+ Z6] SURFACE UNDERGROUND ENTRANCE EXPORTED FIXED XSECT 0.46 0.30 0.15 0.15 [Z+ Z6] NODE -20.09 39.08 -26.46 [Z+ Z7] UNDERGROUND XSECT 0.00 0.91 0.30 0.91 [Z+ Z7] LEG -21.40 37.64 -26.55 -20.09 39.08 -26.46 [Z+] NODE -19.93 39.96 -26.00 [Z+ Z8] UNDERGROUND XSECT 1.07 0.61 1.52 0.30 [Z+ Z8] LEG -20.09 39.08 -26.46 -19.93 39.96 -26.00 [Z+] NODE -19.29 42.12 -25.15 [Z+ Z9] UNDERGROUND XSECT 0.00 0.00 0.00 0.00 [Z+ Z9] LEG -19.93 39.96 -26.00 -19.29 42.12 -25.15 [Z+] XSECT_END NODE -21.40 37.64 -26.55 [Z* Z6] SURFACE UNDERGROUND ENTRANCE EXPORTED FIXED XSECT 0.46 0.30 0.15 0.15 [Z* Z6] 1999.12.31 NODE -24.11 36.21 -28.19 [Z* Z10] UNDERGROUND XSECT 0.46 0.30 0.76 0.91 [Z* Z10] 1999.12.31 LEG -21.40 37.64 -26.55 -24.11 36.21 -28.19 [Z*] 1999.12.31 NODE -23.10 37.19 -29.08 [Z* Z11] UNDERGROUND XSECT 0.76 0.15 0.76 0.46 [Z* Z11] 1999.12.31 LEG -24.11 36.21 -28.19 -23.10 37.19 -29.08 [Z*] 1999.12.31 NODE -24.11 39.56 -31.00 [Z* Z12] UNDERGROUND XSECT 0.15 1.22 0.15 0.46 [Z* Z12] 1999.12.31 LEG -23.10 37.19 -29.08 -24.11 39.56 -31.00 [Z*] 1999.12.31 NODE -25.27 40.97 -31.06 [Z* Z13] UNDERGROUND WALL XSECT 0.00 0.00 0.00 0.00 [Z* Z13] 1999.12.31 LEG -24.11 39.56 -31.00 -25.27 40.97 -31.06 [Z*] SPLAY 1999.12.31 XSECT_END XSECT 0.15 1.22 0.15 0.46 [Z* Z12] 1999.12.31 NODE -25.27 40.97 -30.75 [Z* Z14] UNDERGROUND WALL XSECT_END LEG -24.11 39.56 -31.00 -25.27 40.97 -30.75 [Z*] SPLAY 1999.12.31 STOP ������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/imgtest.tst���������������������������������������������������������������������0000775�0001750�0001750�00000005362�14765126030�012212� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - test using img library outside of Survex # Copyright (C) 2020-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` test -x "$testdir"/../src/cavern || testdir=. # Make testdir absolute, so we can cd before running cavern to get a consistent # path in diagnostic messages. testdir=`cd "$testdir" && pwd` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 : ${CAVERN="$testdir"/../src/cavern} : ${IMGTEST="$testdir"/../src/imgtest} : ${TESTS=${*:-"simple survey"}} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=$testdir/vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" CAVERN="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $CAVERN" IMGTEST="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $IMGTEST" fi for test in $TESTS ; do echo $test file=imgtest_$test rm -f "$file.3d" "$file.err" cavern.tmp imgtest.tmp pwd=`pwd` cd "$srcdir" srcdir=. $CAVERN "$file.svx" --output="$pwd/$file" > "$pwd/cavern.tmp" 2>&1 exitcode=$? cd "$pwd" test -n "$VERBOSE" && cat cavern.tmp if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test $exitcode = 0 || exit 1 args= case $test in survey) args=svy ;; esac $IMGTEST "$file.3d" $args > imgtest.tmp 2>&1 exitcode=$? if test -n "$VERBOSE" ; then cat imgtest.tmp fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi test $exitcode = 0 || exit 1 rm -f "$file.3d" "$file.err" cavern.tmp imgtest.tmp done test -n "$VERBOSE" && echo "Test passed" exit 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_cmd_flags.out���������������������������������������������������������������0000664�0001750�0001750�00000004764�14765126030�013262� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./bad_cmd_flags.svx:3:7: error: Expecting "NOT", "DUPLICATE", "SPLAY", or "SURFACE" *flags ^ ./bad_cmd_flags.svx:4:7: error: Expecting "NOT", "DUPLICATE", "SPLAY", or "SURFACE" *flags; comment ^ ./bad_cmd_flags.svx:5:8: error: Expecting "NOT", "DUPLICATE", "SPLAY", or "SURFACE" *flags ; comment ^ ./bad_cmd_flags.svx:6:8: error: FLAG "rubbish" unknown *flags rubbish ^~~~~~~ ./bad_cmd_flags.svx:7:12: error: FLAG "rubbish" unknown *flags not rubbish ^~~~~~~ ./bad_cmd_flags.svx:8:12: error: FLAG "not" unknown *flags not not ^~~ ./bad_cmd_flags.svx:9:11: error: Expecting "DUPLICATE", "SPLAY", or "SURFACE" *flags not ^ ./bad_cmd_flags.svx:10:11: error: Expecting "DUPLICATE", "SPLAY", or "SURFACE" *flags not; comment ^ ./bad_cmd_flags.svx:11:12: error: Expecting "DUPLICATE", "SPLAY", or "SURFACE" *flags not ; comment ^ ./bad_cmd_flags.svx:12:14: error: FLAG "rubbish" unknown *flags splay rubbish ^~~~~~~ ./bad_cmd_flags.svx:13:18: error: FLAG "rubbish" unknown *flags splay not rubbish ^~~~~~~ ./bad_cmd_flags.svx:14:18: error: FLAG "not" unknown *flags splay not not ^~~ ./bad_cmd_flags.svx:15:17: error: Expecting "DUPLICATE", "SPLAY", or "SURFACE" *flags splay not ^ ./bad_cmd_flags.svx:16:8: error: FLAG "rubbish" unknown *flags rubbish splay ^~~~~~~ ./bad_cmd_flags.svx:17:12: error: FLAG "rubbish" unknown *flags not rubbish splay ^~~~~~~ ./bad_cmd_flags.svx:18:12: error: FLAG "not" unknown *flags not not splay ^~~ ./bad_cmd_flags.svx:19:14: error: FLAG "rubbish" unknown *flags splay rubbish surface ^~~~~~~ ./bad_cmd_flags.svx:20:18: error: FLAG "rubbish" unknown *flags splay not rubbish surface ^~~~~~~ ./bad_cmd_flags.svx:21:18: error: FLAG "not" unknown *flags splay not not surface ^~~ ./bad_cmd_flags.svx:22:14: error: FLAG "n0t" unknown *flags splay n0t surface ^~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 20 error(s) - no output files produced. ������������survex-1.4.17/tests/baddatacylpolar.svx�������������������������������������������������������������0000664�0001750�0001750�00000001411�14765125402�013660� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=4 *fix 1 reference 0 0 0 ; this next line should ignore the data until the next *data - until ; 0.99pre7 it would switch to style cylpolar and cause an internal error *data cylpolar from to foo 1 2 3.00 004 05 06 ; Test handling of a comment right after an ignored reading. Regression ; test for bug fixed in 1.4.10. *data cylpolar from to tape compass depthchange ignore 1 3 3.00 005 05 06; comment ; Check final token being bad gives an error (bug fixed in 1.4.11). *data cylpolar from to tape compass depthchange foo 1 4 2.00 270 05 ; Check tokens include numerics *data cylpolar from to tape compass depthchange f0o 1 5 1.00 090 00 ; An unknown data style should ignore data that follows. *data cylp0lar from to tape compass depthchange 1 q 2 90 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multidiving.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000326�14765125402�013071� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=1 *fix 1 0 0 0 *data diving station depth newline tape compass 1 0.0 1.00 000 2 0.0 ; test 1.00 090 ; test 3 0.0 3 1.0 1.00 180 ; testing 4 1.0 ; testing 1.00 270 5 1.0 0.99 000 6 2.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/3dcorner.svx��������������������������������������������������������������������0000644�0001750�0001750�00000001226�14647535025�012260� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *begin reallylongprefixtogetusstarted *begin 1 *begin 2 *begin 3 *begin 4 *begin 5 *begin 6 *begin 7 *begin 8 *begin 9 *begin 10 *begin 11 *begin 12 *begin 13 *begin fourteen *fix 1234567 reference 0 0 0 *end fourteen *end 13 *begin 14 *begin xxxxxxxx *fix 12345678 reference 0 0 0 *end xxxxxxxx *end 14 *begin 15 *begin yxxxxxxx *fix 123456 reference 0 0 0 *end yxxxxxxx *end 15 *begin 16 *begin z *fix 1234567812345678234567812345678 reference 0 0 0 *end z *end 16 *end 12 *end 11 *end 10 *end 9 *end 8 *end 7 *end 6 *end 5 *end 4 *end 3 *end 2 *fix fred reference 0 0 0 *end 1 *end reallylongprefixtogetusstarted *fix Z reference 0 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/baddatanosurv.out���������������������������������������������������������������0000664�0001750�0001750�00000002706�14765126030�013364� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./baddatanosurv.svx:4:21: error: Reading "too" not allowed in data style "nosurvey" *data nosurvey from too ^~~ ./baddatanosurv.svx:7:24: error: Reading "foo" not allowed in data style "nosurvey" *data nosurvey from to foo ^~~ ./baddatanosurv.svx:10:24: error: Reading "f0o" not allowed in data style "nosurvey" *data nosurvey from to f0o ^~~ ./baddatanosurv.svx:14:21: error: Reading "newline" not allowed in data style "nosurvey" *data nosurvey from newline to ^~~~~~~ ./baddatanosurv.svx:16:24: error: Reading "newline" not allowed in data style "nosurvey" *data nosurvey station newline ^~~~~~~ ./baddatanosurv.svx:19:21: error: Reading "station" duplicates previous reading(s) *data nosurvey from station ^~~~~~~ ./baddatanosurv.svx:21:24: error: Reading "to" duplicates previous reading(s) *data nosurvey station to ^~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 7 error(s) - no output files produced. ����������������������������������������������������������survex-1.4.17/tests/karstcompat.dat�����������������������������������������������������������������0000664�0001750�0001750�00000002401�14756727464�013032� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: C SURVEY DATE: 10 13 1986 COMMENT:Test SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADB CORRECTIONS: 1.00 2.00 0.20 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 C2 3.081 999 -2 1 1 1 1 179 999 Reportedly Karst uses 999 for "no value" which Compass accepts for compatibility C1 C3 3.081 359 999 1 1 1 1 999 -2 Though testing with Compass in early 2024, 999 doesn't seem to work... C3 c4 3.081 090 999 1 1 1 1 270 999 Cave SURVEY NAME: C SURVEY DATE: 1 1 1 COMMENT:Test backsights with 13 character format SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADBF CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 B1 3.281 90 1 1 1 1 1 270 -1 B1 B2 3.281 180 -1 1 1 1 1 0 1 Cave SURVEY NAME: D SURVEY DATE: 12 01 1999 COMMENT:Test newer format (and corrected) backsights SURVEY TEAM: Us, Them DECLINATION: 0 FORMAT: DDDDLRUDLADadCF CORRECTIONS: 0.00 0.00 0.00 CORRECTIONS2: 1.0 -1.0 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C2 D1 4.567 027 999 1 1 1 1 206 -21 D1 D2 3.081 000 -90 1 1 1 1 180 90 Test we don't warn about 000/180 compass on plumbed leg ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbadsdfix.out������������������������������������������������������������������0000664�0001750�0001750�00000004670�14765126030�012643� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./csbadsdfix.svx:2: error: Station "1" fixed before CS command first used ./csbadsdfix.svx:3:5: error: Unknown coordinate system *cs EPSG:-1 ^~~~~~~ ./csbadsdfix.svx:4:5: error: Unknown coordinate system *cs ERSI:1234 ^~~~~~~~~ ./csbadsdfix.svx:5:5: error: Unknown coordinate system *cs EUR79Z31 ^~~~~~~~ ./csbadsdfix.svx:6:11: error: End of line not blank *cs IJTSK 03 ^~ ./csbadsdfix.svx:7:5: error: Unknown coordinate system *cs IJTSK04 ^~~~~~~ ./csbadsdfix.svx:8:5: error: Unknown coordinate system *cs IJTSK99 ^~~~~~~ ./csbadsdfix.svx:9:5: error: Unknown coordinate system *cs IJTSK3 ^~~~~~ ./csbadsdfix.svx:10:5: error: Unknown coordinate system *cs IJTSK032 ^~~~~~~~ ./csbadsdfix.svx:11:5: error: Unknown coordinate system *cs IJTSK03a ^~~~~~~~ ./csbadsdfix.svx:12:5: error: Unknown coordinate system *cs lat-lat ^~~~~~~ ./csbadsdfix.svx:13:5: error: Unknown coordinate system *cs Long-LONG ^~~~~~~~~ ./csbadsdfix.svx:14:5: error: Unknown coordinate system *cs OSGB:ZZ ^~~~~~~ ./csbadsdfix.svx:15:5: error: Unknown coordinate system *cs OSGB:HI ^~~~~~~ ./csbadsdfix.svx:16:5: error: Unknown coordinate system *cs S-LONG ^~~~~~ ./csbadsdfix.svx:17:5: error: Unknown coordinate system *cs UTM0 ^~~~ ./csbadsdfix.svx:18:5: error: Unknown coordinate system *cs UTM61N ^~~~~~ ./csbadsdfix.svx:19:5: error: Unknown coordinate system *cs UTM61S ^~~~~~ ./csbadsdfix.svx:20:12: error: Invalid coordinate system: Invalid value for an argument *cs custom "+proj=ection" ^~~~~~~~~~~~~~ ./csbadsdfix.svx:21:9: error: Unknown coordinate system *cs out lat-long ^~~~~~~~ ./csbadsdfix.svx:22:9: error: Coordinate system unsuitable for output *cs out long-lat ^~~~~~~~ ./csbadsdfix.svx:23:9: error: Coordinate system unsuitable for output *cs out jtsk ^~~~ ./csbadsdfix.svx:24:9: error: Coordinate system unsuitable for output *cs out jtsk03 ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 23 error(s) - no output files produced. ������������������������������������������������������������������������survex-1.4.17/tests/corrections.pos�����������������������������������������������������������������0000664�0001750�0001750�00000000146�14756727464�013071� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) C1 ( 1.00, 0.00, 0.00 ) C2 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/separator.dump������������������������������������������������������������������0000664�0001750�0001750�00000000507�14765125402�012664� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "foo" DATE "@1728338241" DATE_NUMERIC 1728338241 VERSION 8 SEPARATOR '/' -- LEG 0.00 0.00 0.00 0.00 10.00 0.00 [bar] STYLE=NORMAL LEG 0.00 10.00 0.00 5.00 10.00 0.00 [bar] STYLE=NORMAL NODE 5.00 10.00 0.00 [bar/3] UNDERGROUND EXPORTED NODE 0.00 10.00 0.00 [bar/2] UNDERGROUND NODE 0.00 0.00 0.00 [bar/1] UNDERGROUND STOP �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/level.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000100�14647535025�011636� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *calibrate clino 10 1 2 1 0 level ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/plumb.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000352�14647535025�011657� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; check that closure of plumbed legs doesn't depend on orientation *sd tape position 0.1 metres *sd plumb 0.25 degrees *fix A 3 4 10 *fix B 0 5 10 *fix D 0 0 0 A U 0 0 0 U D 10.00 - down B V 0 0 0 V D 10.00 - down ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr2.svx������������������������������������������������������������������0000644�0001750�0001750�00000000211�14647535025�012646� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *equate entrance outer.inner.1 *begin outer *export inner.1 *begin inner 1 2 1.23 045 -6 *end inner *end outer ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/pre1970.dump��������������������������������������������������������������������0000664�0001750�0001750�00000003710�14756727464�012012� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "FAKE CAVE" DATE "?" DATE_NUMERIC -1 VERSION -2 SEPARATOR ' ' -- NODE -21.40 37.64 -26.55 [Z+ Z6] UNDERGROUND ENTRANCE XSECT 0.46 0.30 0.15 0.15 [Z+ Z6] 1969.12.30 NODE -20.09 39.08 -26.46 [Z+ Z7] UNDERGROUND XSECT 0.00 0.91 0.30 0.91 [Z+ Z7] 1969.12.30 LEG -21.40 37.64 -26.55 -20.09 39.08 -26.46 [Z+] 1969.12.30 NODE -19.93 39.96 -26.00 [Z+ Z8] UNDERGROUND XSECT 1.07 0.61 1.52 0.30 [Z+ Z8] 1969.12.30 LEG -20.09 39.08 -26.46 -19.93 39.96 -26.00 [Z+] 1969.12.30 NODE -19.29 42.12 -25.15 [Z+ Z9] UNDERGROUND XSECT 0.00 0.00 0.00 0.00 [Z+ Z9] 1969.12.30 LEG -19.93 39.96 -26.00 -19.29 42.12 -25.15 [Z+] 1969.12.30 XSECT_END XSECT 0.46 0.30 0.15 0.15 [Z+ Z6] 1969.12.30 NODE -24.11 36.21 -28.19 [Z+ Z10] UNDERGROUND XSECT 0.46 0.30 0.76 0.91 [Z+ Z10] 1969.12.30 LEG -21.40 37.64 -26.55 -24.11 36.21 -28.19 [Z+] 1969.12.30 NODE -23.10 37.19 -29.08 [Z+ Z11] UNDERGROUND XSECT 0.76 0.15 0.76 0.46 [Z+ Z11] 1969.12.30 LEG -24.11 36.21 -28.19 -23.10 37.19 -29.08 [Z+] 1969.12.30 NODE -24.11 39.56 -31.00 [Z+ Z12] UNDERGROUND XSECT 0.15 1.22 0.15 0.46 [Z+ Z12] 1969.12.30 LEG -23.10 37.19 -29.08 -24.11 39.56 -31.00 [Z+] 1969.12.30 NODE -25.27 40.97 -31.06 [Z+ Z13] UNDERGROUND WALL XSECT 0.00 0.00 0.00 0.00 [Z+ Z13] 1969.12.30 LEG -24.11 39.56 -31.00 -25.27 40.97 -31.06 [Z+] SPLAY 1969.12.30 XSECT_END XSECT 0.15 1.22 0.15 0.46 [Z+ Z12] 1969.12.30 NODE -25.27 40.97 -30.75 [Z+ Z14] UNDERGROUND WALL XSECT_END LEG -24.11 39.56 -31.00 -25.27 40.97 -30.75 [Z+] SPLAY 1969.12.30 NODE -25.27 40.97 -30.45 [Z+ Z15] UNDERGROUND WALL XSECT 0.15 1.22 0.15 0.46 [Z+ Z15] 1969.12.30 LEG -24.11 39.56 -31.00 -25.27 40.97 -30.45 [Z+] SPLAY 1969.12.30 XSECT_END NODE -25.27 40.97 -30.14 [Z+ Z16] UNDERGROUND WALL LEG -24.11 39.56 -31.00 -25.27 40.97 -30.14 [Z+] DUPLICATE SPLAY 1969.12.30 XSECT 0.15 0.15 0.15 0.46 [Z+ Z12] 1969.12.30 NODE -23.47 38.04 -30.18 [Z+ Z17] UNDERGROUND XSECT 0.15 0.15 -1.00 -1.00 [Z+ Z17] 1969.12.30 LEG -24.11 39.56 -31.00 -23.47 38.04 -30.18 [Z+] 1969.12.30 XSECT_END STOP ��������������������������������������������������������survex-1.4.17/tests/jsonexport.svx������������������������������������������������������������������0000664�0001750�0001750�00000000253�14756727464�012770� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=json warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 bh 1 100 090 -5 1 2 100 180 -5 2 3 100 270 -5 3 4 90 000 -5 2 5 100 090 -5 5 6 90 180 -5 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/angleunits.svx������������������������������������������������������������������0000644�0001750�0001750�00000000362�14647535025�012712� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; tests angle units, also test begin/end saving/restoring units *fix 1 0 0 0 *units compass grads 1 2 10.00 100 00 *begin *units compass degrees 2 3 10.00 180 00 *end 3 4 10.00 100 00 *units compass 90 degrees 4 5 10.00 2 00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/quadrant_bearing.pos������������������������������������������������������������0000664�0001750�0001750�00000001250�14756727464�014042� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 10.00, 0.00 ) 1 ( 0.00, -10.00, 0.00 ) 2 ( 10.00, 0.00, 0.00 ) 3 ( -10.00, 0.00, 0.00 ) 4 ( 7.07, 7.07, 0.00 ) 5 ( -7.07, -7.07, 0.00 ) 6 ( -7.07, 7.07, 0.00 ) 7 ( 7.07, -7.07, 0.00 ) 8 ( 0.00, 0.00, 0.00 ) a ( 0.00, 10.00, 0.00 ) b ( -23.31, -8.88, 0.00 ) c ( -19.16, 10.68, 0.00 ) d ( 20.84, 10.68, 0.00 ) e ( 23.77, 1.12, 0.00 ) f ( 11.34, 4.92, 0.00 ) g ( 12.03, -0.03, 0.00 ) h ( 0.03, -0.03, 0.00 ) i ( 0.03, -23.03, 0.00 ) j ( 0.00, 0.00, -23.00 ) pit ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normal_bad.out������������������������������������������������������������������0000664�0001750�0001750�00000002250�14765126030�012617� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./normal_bad.svx:5:6: error: Tape reading may not be omitted 1 1a - 000 0 ^ ./normal_bad.svx:7:10: error: Compass reading may not be omitted except on plumbed legs 2 3 1.00 - 0 ^ ./normal_bad.svx:9:3: error: Character "*" not allowed in station name (use *SET NAMES to set allowed characters) 2 * 1.00 000 0 ^ ./normal_bad.svx:12:10: warning: Compass reading given on plumbed leg 2 A 1.00 034 UP ^~~ ./normal_bad.svx:14:10: warning: Compass reading given on plumbed leg 1 B 1.00 000 UP ^~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 4 legs. There are 0 loops. Total length of survey legs = 5.13m ( 5.13m adjusted) Total plan length of survey legs = 2.13m Total vertical length of survey legs = 3.00m Vertical range = 2.00m (from b at 1.00m to 4 at -1.00m) North-South range = 2.08m (from a at 2.08m to b at 0.00m) East-West range = 0.44m (from a at 0.44m to b at 0.00m) There were 2 warning(s) and 3 error(s) - no output files produced. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug3.svx������������������������������������������������������������������������0000644�0001750�0001750�00000000071�14647535025�011376� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 1 2 1 0 0 *solve 2 3 1 0 0 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multidiving.pos�����������������������������������������������������������������0000664�0001750�0001750�00000000354�14765125402�013053� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ( 0.00, -0.00, 0.99 ) 6 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/flags.dat�����������������������������������������������������������������������0000664�0001750�0001750�00000001047�14765126030�011561� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Shot Flags SURVEY NAME: C SURVEY DATE: 10 13 1986 COMMENT:Hello SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLAD CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C1 C2 3.281 0 0 1 1 1 1 C2 C2a 3.281 0 0 1 1 1 1 #|X# C2 C2b 3.281 0 0 1 1 1 1 #|XP# C2 C3 3.281 0 0 1 1 1 1 #|P# C2 C4 3.281 0 0 1 1 1 1 #|PL# C4 x 3.281 0 0 1 1 1 1 #|SL# C4 y 3.281 0 0 1 1 1 1 #|SL# y y 3.281 0 0 0 0 0 0 C4 C5 0.328 090 0 1 1 1 1 #|C# C4 z 0.328 045 0 1 1 1 1 z C5 0.328 135 0 1 1 1 1 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_export_bad.svx��������������������������������������������������������������0000664�0001750�0001750�00000000464�14756727464�013533� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=2 ; We used to report "End of line not blank" but 1.2.22 gives "Character "=" not ; allowed in station name (use *SET NAMES to set allowed characters)" instead. *fix x.1 0 0 0 *begin x *export * *export 1 = *export 2 *export 3 ; test *export 4 1 2 1.00 010 01 2 3 1.00 010 01 *end x ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/firststn.pos��������������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�012371� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) a ( 0.00, 1.00, 0.00 ) b ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/reenterlots.out�����������������������������������������������������������������0000664�0001750�0001750�00000002745�14765126030�013100� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./reenterlots.svx:7:8: warning: Reentering an existing survey is deprecated *begin svy ^~~ ./reenterlots.svx:3: info: Originally entered here ./reenterlots.svx:10:8: warning: Reentering an existing survey is deprecated *begin svy ^~~ ./reenterlots.svx:3: info: Originally entered here ./reenterlots.svx:13:8: warning: Reentering an existing survey is deprecated *begin svy ^~~ ./reenterlots.svx:3: info: Originally entered here ./reenterlots.svx:16:8: warning: Reentering an existing survey is deprecated *begin svy ^~~ ./reenterlots.svx:3: info: Originally entered here ./reenterlots.svx:19:8: warning: Reentering an existing survey is deprecated *begin svy ^~~ ./reenterlots.svx:3: info: Originally entered here ./reenterlots.svx:19: info: Further uses of this deprecated feature will not be reported *begin svy Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 9 survey stations, joined by 8 legs. There are 0 loops. Total length of survey legs = 80.00m ( 80.00m adjusted) Total plan length of survey legs = 60.00m Total vertical length of survey legs = 20.00m Vertical range = 20.00m (from svy.9 at 10.00m to svy.8 at -10.00m) North-South range = 20.00m (from svy.2 at 10.00m to svy.5 at -10.00m) East-West range = 17.32m (from svy.4 at 8.66m to svy.7 at -8.66m) There were 5 warning(s). ���������������������������survex-1.4.17/tests/3dexport.dump�������������������������������������������������������������������0000664�0001750�0001750�00000002065�14756732050�012440� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "3dexport" DATE "?" DATE_NUMERIC -1 CS EPSG:32760 VERSION 8 SEPARATOR '.' -- LEG 313799.91 5427953.18 30.00 313899.53 5427953.18 21.28 [] LEG 313899.53 5427953.18 21.28 313899.53 5427853.56 12.57 [] LEG 313899.53 5427853.56 12.57 313999.15 5427853.56 3.85 [] LEG 313899.53 5427853.56 12.57 313799.91 5427853.56 3.85 [] SURFACE LEG 313999.15 5427853.56 3.85 313999.15 5427764.90 -3.90 [] DUPLICATE LEG 313999.15 5427853.56 3.85 313999.15 5427763.90 -3.99 [] SPLAY LEG 313899.53 5427853.56 12.57 313899.53 5427763.90 4.72 [] SURFACE SPLAY LEG 313799.91 5427853.56 3.85 313799.91 5427763.90 -3.99 [] SURFACE SPLAY NODE 313999.15 5427764.90 -3.90 [6a] UNDERGROUND NODE 313999.15 5427763.90 -3.99 [6] UNDERGROUND NODE 313999.15 5427853.56 3.85 [5] UNDERGROUND NODE 313799.91 5427763.90 -3.99 [] SURFACE ANON WALL NODE 313799.91 5427853.56 3.85 [3] SURFACE NODE 313899.53 5427763.90 4.72 [] SURFACE ANON NODE 313899.53 5427853.56 12.57 [2] SURFACE UNDERGROUND NODE 313899.53 5427953.18 21.28 [1] UNDERGROUND NODE 313799.91 5427953.18 30.00 [bh] UNDERGROUND ENTRANCE FIXED STOP ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlefixerr.svx����������������������������������������������������������������0000644�0001750�0001750�00000000044�14647535025�013237� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=1 *fix 1 0 0 0 1 1 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/flags.dump����������������������������������������������������������������������0000664�0001750�0001750�00000001716�14765126030�011761� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "flags" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 2.00 0.00 0.05 2.06 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.05 2.06 0.00 0.10 2.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.10 2.00 0.00 0.00 2.00 0.00 [] STYLE=NORMAL 1986.10.13 ERROR_INFO #legs 3, len 0.30m, E 0.41 H 0.45 V 0.00 LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 1.00 0.00 0.00 2.00 0.00 [] STYLE=NORMAL SURFACE DUPLICATE 1986.10.13 LEG 0.00 1.00 0.00 0.00 2.00 0.00 [] STYLE=NORMAL SURFACE 1986.10.13 LEG 0.00 2.00 0.00 0.00 3.00 0.00 [] STYLE=NORMAL DUPLICATE SPLAY 1986.10.13 LEG 0.00 2.00 0.00 0.00 3.00 0.00 [] STYLE=NORMAL DUPLICATE SPLAY 1986.10.13 NODE 0.00 3.00 0.00 [y] UNDERGROUND NODE 0.00 3.00 0.00 [x] UNDERGROUND NODE 0.00 2.00 0.00 [C4] SURFACE UNDERGROUND NODE 0.00 2.00 0.00 [C3] SURFACE NODE 0.00 1.00 0.00 [C2] SURFACE UNDERGROUND NODE 0.10 2.00 0.00 [C5] UNDERGROUND NODE 0.05 2.06 0.00 [z] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND STOP ��������������������������������������������������survex-1.4.17/tests/bad_units_factor.svx������������������������������������������������������������0000644�0001750�0001750�00000000271�14647535025�014046� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=6 *fix 1 reference 0 0 0 *units tape 0 feet *units compass 000 degrees *units clino 0.0 grads *units depth .0 metres *units altitude 0 yards *units backclino 0 percent ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/component_count_bug2.svx��������������������������������������������������������0000664�0001750�0001750�00000000302�14765126030�014657� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; We counted two components here which led us to incorrectly think there was a ; loop. Fixed in 1.4.13. *fix 4 1.1 0 0 3 4 1 0 0 *fix 2 0 0 0 *equate 3 1 *fix 1 0 0 0 2 1 1 0 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlefix.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000036�14647535025�012527� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=1 *fix 1 0 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cs.svx��������������������������������������������������������������������������0000664�0001750�0001750�00000002131�14756727464�011157� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *cs EPSG:4167 *cs ESRI:104305 *cs EUR79Z30 *cs IJTSK *cs IJTSK03 *cs JTSK *cs JTSK03 ; Not yet supported: *cs lat-long *cs Long-Lat ; Not yet supported: *cs local *cs OSGB:HA *cs OSGB:OV *cs S-MERC *cs UTM1 *cs UTM12N *cs UTM60S *cs out custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232" ; Reported as failing on Microsoft Windows with 1.4.6 (but not 1.4.5) with: ; error: Invalid coordinate system: Unknown error (code 2) *cs EPSG:3912 ; error: Invalid coordinate system: Unknown error (code 2) *cs out EPSG:3912 *cs EPSG:3912 *cs out EPSG:3912 *cs custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232" *cs out EUR79Z30 *cs out IJTSK *cs out IJTSK03 *cs out OSGB:HA *cs out OSGB:OV *cs out S-MERC *cs out UTM1 *cs out UTM12N *cs out UTM60S *fix 1 reference 36000 83000 1600 ; regression test - until 1.2.21, *fix with sds ignored the coordinate system *cs UTM33N *fix 2 reference 410848.11 5281938.82 1600.00 10 10 30 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc3.out���������������������������������������������������������������������0000644�0001750�0001750�00000000342�14567212227�012026� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������In file included from ./badinc3.svx:3: In file included from ./badinc2.svx:3: ./badinc.svx:3:10: error: Couldn't open file "nonexistent_file" *include nonexistent_file ^~~~~~~~~~~~~~~~ cavern: error: No survey data ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_truncate.svx����������������������������������������������������������������0000644�0001750�0001750�00000000433�14647535025�013210� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *begin ; also check begin/end preserves original truncate setting *Truncate 2 1 20 1 0 0 20 300 1 0 0 301 40asdhjhsjdasd 1 0 0 *TRUNCATE Off 30 longername 1 0 0 *truncate 3 1 301 1 0 0 *end 301 veryveryveryveryveryveryveryveryveryveryverylongname 1 0 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_case_bad.svx����������������������������������������������������������������0000664�0001750�0001750�00000000171�14765125402�013100� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=5 *fix A reference 0 0 0 *Case mixed *CASE tol0wer *case to lower *case tolower toupper *case 42 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlefixerr.pos����������������������������������������������������������������0000644�0001750�0001750�00000000102�14525274540�013210� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nomeasure.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000254�14567212227�012515� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) C1 ( 0.00, 1.00, 0.00 ) C2 ( 0.00, 3.00, 0.00 ) C3 ( 0.00, 6.00, 0.00 ) C4 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_data_ignore.svx�������������������������������������������������������������0000664�0001750�0001750�00000000330�14765125402�013630� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data ignore 1 a 10 361 -91 a b c d e f *data default 1 2 1 0 0 *begin *data ignore 2 x 1 0 0 ; *data by itself should reinitialise the current style. *data x y -1 -1 -99 *end 2 3 1 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�012470� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc3.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000150�14647535025�012037� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail ; include of a file which includes a file which includes a nonexistent file *include badinc2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/hpglexport.svx������������������������������������������������������������������0000664�0001750�0001750�00000000522�14765125402�012730� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=hpgl survexportopt=--surface-legs survexportopt=--splays warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 *entrance bh bh 1 100 090 -5 1 2 100 180 -5 *begin *flags surface 2 3 100 270 -5 2 . 90 180 -5 3 .. 90 180 -5 *end 2 5 100 090 -5 *begin *flags splay 5 6 90 180 -5 *end *flags duplicate 5 6a 90 180 -6 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/calibrate_clino.pos�������������������������������������������������������������0000644�0001750�0001750�00000002516�14567212227�013634� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) b.1 ( 0.00, 1.43, 0.00 ) b.2 ( 0.00, 10.00, 0.00 ) b.2_ ( 0.00, 10.00, 0.00 ) b.2__ ( 0.00, 1.43, -10.00 ) b.d ( 0.00, 1.43, -10.00 ) b.d_ ( 0.00, 1.43, -10.00 ) b.d__ ( 0.00, 0.71, 10.00 ) b.u ( 0.00, 0.71, 10.00 ) b.u_ ( 0.00, 0.71, 10.00 ) b.u__ ( -0.17, 1.43, 10.00 ) b.w ( -0.17, 1.43, 10.00 ) b.w_ ( -0.17, 1.43, 10.00 ) b.w__ ( -0.17, 1.43, -10.00 ) b.x ( -0.17, 1.43, -10.00 ) b.x_ ( -0.17, 1.43, -10.00 ) b.x__ ( -10.00, 1.43, -0.17 ) b.y ( 9.95, 1.43, 1.05 ) b.z ( 0.00, 0.00, 0.00 ) f.1 ( 0.00, 1.43, 0.00 ) f.2 ( 0.00, 10.00, 0.00 ) f.2_ ( 0.00, 10.00, 0.00 ) f.2__ ( 0.00, 1.43, -10.00 ) f.d ( 0.00, 1.43, -10.00 ) f.d_ ( 0.00, 1.43, -10.00 ) f.d__ ( 0.00, 0.71, 10.00 ) f.u ( 0.00, 0.71, 10.00 ) f.u_ ( 0.00, 0.71, 10.00 ) f.u__ ( -0.17, 1.43, 10.00 ) f.w ( -0.17, 1.43, 10.00 ) f.w_ ( -0.17, 1.43, 10.00 ) f.w__ ( -0.17, 1.43, -10.00 ) f.x ( -0.17, 1.43, -10.00 ) f.x_ ( -0.17, 1.43, -10.00 ) f.x__ ( -10.00, 1.43, -0.17 ) f.y ( 9.95, 1.43, 1.05 ) f.z ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_alias_bad.out���������������������������������������������������������������0000664�0001750�0001750�00000002444�14765126030�013250� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_alias_bad.svx:6:8: error: Bad *alias command *alias statoin - .. ^~~~~~~ ./cmd_alias_bad.svx:8:16: error: Bad *alias command *alias station _ ^ ./cmd_alias_bad.svx:10:16: error: Bad *alias command *alias station = .. ^ ./cmd_alias_bad.svx:12:18: error: Bad *alias command *alias station - ... ^~~ ./cmd_alias_bad.svx:15:16: error: Bad *alias command *alias station _; comment ^ ./cmd_alias_bad.svx:16:18: error: Bad *alias command *alias station - ...;comment ^~~ ./cmd_alias_bad.svx:18:8: error: Bad *alias command *alias station0 - .. ^~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.01m Vertical range = 0.01m (from - at 0.01m to 1 at 0.00m) North-South range = 0.01m (from 1 at 0.00m to - at -0.01m) East-West range = 1.00m (from - at 1.00m to 1 at 0.00m) There were 0 warning(s) and 7 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/passage.svx���������������������������������������������������������������������0000664�0001750�0001750�00000000360�14756727464�012177� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix 1 0 0 0 *data normal from to tape compass clino 1 2 10. 123 -12 2 3 8.76 234 +23 3 4 9.01 359 -02. *data passage station left right up down 1 1 .3 2. 0.9 2 1 1 1 - 3 - 2 3 4 4 - 3 - 4 *data 2 .3 .3 .3 .3 4 .3 .3 .3 .3 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badopts.out���������������������������������������������������������������������0000664�0001750�0001750�00000003700�14756732050�012163� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badopts.srv:2:21: error: No matching SAVE #units save restore restore restore ; `restore` without corresponding `save` ^~~~~~~ ./badopts.srv:2:29: error: No matching SAVE #units save restore restore restore ; `restore` without corresponding `save` ^~~~~~~ ./badopts.srv:3:10: error: Expecting "F" or "M" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:16: error: Expecting "D", "G", or "M" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:22: error: Expecting "D", "G", or "M" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:29: error: Expecting "D", "G", or "M" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:35: error: Expecting "D", "G", "M", or "P" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:42: error: Expecting "D", "G", "M", or "P" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:3:48: error: Expecting "F" or "M" #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad ^ ./badopts.srv:4:8: error: Unknown command "odrer" #units odrer=dav ract order=bad typeab=bad typevb=bad ^~~~~ ./badopts.srv:4:18: error: Unknown command "ract" #units odrer=dav ract order=bad typeab=bad typevb=bad ^~~~ ./badopts.srv:4:29: error: Data style "bad" unknown #units odrer=dav ract order=bad typeab=bad typevb=bad ^~~ ./badopts.srv:4:40: error: Expecting "C" or "N" #units odrer=dav ract order=bad typeab=bad typevb=bad ^ ./badopts.srv:4:51: error: Expecting "C" or "N" #units odrer=dav ract order=bad typeab=bad typevb=bad ^ cavern: error: No survey data ����������������������������������������������������������������survex-1.4.17/tests/bug3.pos������������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�011354� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 0.00, 2.00, 0.00 ) 3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/clptest.dat���������������������������������������������������������������������0000664�0001750�0001750�00000002236�14756727464�012166� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: B SURVEY DATE: 10 13 1986 COMMENT:Test backsights SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADB CORRECTIONS: 1.00 2.00 0.20 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 C2 3.08 -999 -2 1 1 1 1 179 -999 C1 C3 3.08 359 -999 1 1 1 1 -999 -2 Cave SURVEY NAME: C SURVEY DATE: 1 1 1 COMMENT:Test backsights with 13 character format SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADBF CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 B1 3.28 90 1 1 1 1 1 270 -1 B1 B2 3.28 180 -1 1 1 1 1 0 1 Cave SURVEY NAME: D SURVEY DATE: 12 1 1999 COMMENT:Test newer format (and corrected) backsights SURVEY TEAM: Us, Them DECLINATION: 0.00 FORMAT: DDDDLRUDLADadBF CORRECTIONS: 2.00 4.00 0.50 CORRECTIONS2: 1.00 -3.00 DISCOVERY: 12 1 1999 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT AZM2 INC2 FLAGS COMMENTS C2 D1 4.07 25.00 -999.00 1.00 1.00 1.00 1.00 205.00 -19.00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_entrance_bad.out������������������������������������������������������������0000664�0001750�0001750�00000001220�14765126030�013745� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_entrance_bad.svx:3:10: error: Expecting station name *entrance ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ./cmd_entrance_bad.svx:4: warning: Station "2" referred to by *entrance but never used There were 1 warning(s) and 1 error(s) - no output files produced. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_calibrate.out���������������������������������������������������������������0000664�0001750�0001750�00000001117�14765126030�013273� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 115.00m ( 115.00m adjusted) Total plan length of survey legs = 115.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 0.00m (from 3 at 0.00m to 1 at 0.00m) East-West range = 60.00m (from 3 at 60.00m to 1 at 0.00m) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/revdir.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012007� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 0 ( 0.00, -1.00, 0.00 ) 1 ( 0.00, 0.00, 0.00 ) 2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmapstn.adj���������������������������������������������������������������������0000664�0001750�0001750�00000005427�14756727464�012150� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Cave Survey Data Processed by CMAP 16.1 93/07/24 10:04 Sta. East North Vert. Prev 1st Type ---------------------------------------------- PC40 .0 .0 .0 1 1 top of rock at top of climb PF1 3.2 -13.2 2.0 1 2 PF2 11.7 -22.4 .2 2 3 PF3 9.3 -29.3 -3.2 3 4 color 2 PC43 30.0 -16.1 6.6 4 5 PC42 24.3 -12.4 9.9 5 6 C PC41 16.2 -4.8 10.0 6 7 C PC40 .0 .0 .0 7 8 C top of rock at top of climb COLOR 3 PF4 -17.8 -36.0 -12.6 4 9 PF6 -32.0 -60.1 -22.2 9 10 PF5 -6.6 -54.6 -18.7 9 11 Color 4 PF3 9.3 -29.3 -3.2 11 12 PF10 -6.7 -72.8 -24.1 11 13 color 0 PF9 3.6 -85.7 -21.9 13 14 PF8A 39.2 -80.9 -17.8 14 15 COLOR 5 PF8 36.8 -80.7 -17.4 14 16 PF7 10.1 -46.0 -9.7 15 17 PF8 36.8 -80.7 -17.4 17 18 color PF3 9.3 -29.3 -3.2 17 19 PC92 67.2 -80.4 -17.5 16 20 PF8A 39.2 -80.9 -17.8 20 21 color 6 PF11 86.0 -59.9 -18.6 20 22 PF12 97.5 -26.8 -19.6 22 23 PC90 92.9 -26.4 -23.9 23 24 PC91 90.9 -50.5 -19.0 24 25 C PC92 67.2 -80.4 -17.5 25 26 C Color 7 PF14 103.9 6.0 -20.7 23 27 PF15 99.3 -40.7 -13.6 22 28 PF16 85.1 -2.8 -7.8 28 29 PF17 83.7 15.0 7.1 29 30 PC49 84.9 24.4 4.5 30 31 PC48 75.3 3.4 7.0 31 32 C color 8 PC47 69.6 -1.7 8.3 32 33 C PC46 57.0 -11.3 2.3 33 34 C PC45 44.2 -13.5 7.3 34 35 C PC44 36.5 -17.3 5.6 35 36 C PC43 30.0 -16.1 6.6 36 37 C COLOR 9 PF18 73.4 -14.9 -3.2 29 38 PF19 39.4 -24.5 -4.3 38 39 PF20 19.0 -36.1 -8.2 39 40 PF3 9.3 -29.3 -3.2 40 41 color 15 PF26 94.7 4.7 -10.3 29 42 Start of survey of July 13, 1985 PF27 96.9 12.3 -11.5 42 43 PF28 97.3 35.0 -12.3 43 44 PF29 109.4 53.6 -11.9 44 45 PF30 109.2 38.9 -16.6 44 46 last sta. of July 13 1985 46 Stations 995.6 Feet 303.5 Meters .189 Miles Shot No. of Length type Shots (feet) 34 817.9 C 11 177.7 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/mixedeols.out�������������������������������������������������������������������0000664�0001750�0001750�00000001173�14765126030�012515� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./mixedeols.svx:2: warning: Unused fixed point "1" ./mixedeols.svx:7: warning: Unused fixed point "2" ./mixedeols.svx:10: warning: Unused fixed point "3" Calculating statistics... Survey contains 3 survey stations, joined by 0 legs. There are 0 loops. Survey has 3 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 3 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_datebad2.svx����������������������������������������������������������������0000664�0001750�0001750�00000003460�14765126030�013027� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=76 error=12 ; Invalid dates: *begin *date 1899.12.31 *date 1899.12.31 *date 1899.12 *date 1899 *date 1800 *date 1700.12.01 *date 100.01.01 *date 1899.02.03 *date 999.9.9 *date 1984.13.01 *date 1984.13.31 *date 1984.01.00 *date 1984.00.12 *date 1984.00 *date 1984.13 *date 1984.01.02-1984.01.01 *date 71-1970 *date 2079.01.01 *date 2079.12.31 *date 2099.06 *date 3033 *date 11974.02.03 *date 2078-2079 *date 1899-2079 *date 1984.12.13-1984.13.12 *date 1984.12.13-1985.02.29 *date 2013.04.12-13 ; Invalid ISO dates: *date 1899-12-31 *date 1899-12-31 *date 1899-12 *date 1899 *date 1800 *date 1700-12-01 *date 100-01-01 *date 1899-02-03 *date 999-9-9 *date 1984-13-01 *date 1984-13-31 *date 1984-01-00 *date 1984-00-12 *date 1984-00 *date 1984-13 *date 1984-01-02 1984-01-01 *date 71 1970 *date 2079-01-01 *date 2079-12-31 *date 2099-06 *date 3033 *date 11974-02-03 *date 2078 2079 *date 1899 2079 *date 1984-12-13 1984-13-12 *date 1984-12-13 1985-02-29 ; Invalid ISO dates with explicit type: *date surveyed 1899-12-31 *date surveyed 1899-12-31 *date surveyed 1899-12 *date surveyed 1899 *date surveyed 1800 *date surveyed 1700-12-01 *date surveyed 100-01-01 *date surveyed 1899-02-03 *date surveyed 999-9-9 *date surveyed 1984-13-01 *date surveyed 1984-13-31 *date surveyed 1984-01-00 *date surveyed 1984-00-12 *date surveyed 1984-00 *date surveyed 1984-13 *date surveyed 1984-01-02 1984-01-01 *date surveyed 71 1970 *date surveyed 2079-01-01 *date surveyed 2079-12-31 *date surveyed 2099-06 *date surveyed 3033 *date surveyed 11974-02-03 *date surveyed 2078 2079 *date surveyed 1899 2079 *date surveyed 1984-12-13 1984-13-12 *date surveyed 1984-12-13 1985-02-29 ; Error cases for typed dates: *date exploded 1984-12-13 *date surveyed explored surveyed 1984-12-13 *date surveyed 1984.12.13 *fix 1 0 0 0 1 2 1.0 020 -03 *end ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/imgoffbyone.pos�����������������������������������������������������������������0000644�0001750�0001750�00000002124�14525274540�013021� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) p.bpg.a.1 ( 0.00, -1.00, 0.00 ) p.bpg.collinscrawl1.a ( 0.00, -0.67, 0.00 ) p.bpg.collinscrawl1.j ( 0.00, -1.33, 0.00 ) p.bpg.g.1 ( 0.00, -1.00, 0.00 ) p.bpg.g.8 ( 0.00, -1.33, 0.00 ) p.bpg.m.0 ( 0.00, 0.33, 0.00 ) p.bpg.m.23 ( 0.00, 0.00, 0.00 ) p.bpg.s.1 ( 0.00, -0.33, 0.00 ) p.bpg.s.17 ( 0.00, 0.00, 0.00 ) p.bpg.u.1 ( 0.00, 0.33, 0.00 ) p.bpg.u.23l ( 0.00, -1.00, 0.00 ) p.bpg.w.0 ( 0.00, 0.00, 0.00 ) p.bpg.w.105 ( 0.00, -0.67, 0.00 ) p.bpg.x.a ( 0.00, -0.33, 0.00 ) p.bpg.x.v ( 0.00, -1.00, 0.00 ) p.bpg.y.16 ( 0.00, 0.00, 0.00 ) p.bpg.y.48 ( 0.00, -1.00, 0.00 ) p.m.d.0 ( 0.00, 0.00, 0.00 ) p.m.d.47 ( 0.00, 0.00, 0.00 ) p.m.e.11 ( 0.00, 1.00, 0.00 ) p.m.e.17 ( 0.00, 0.00, 0.00 ) p.m.h.0 ( 0.00, 1.00, 0.00 ) p.m.h.12 ( 0.00, -0.33, 0.00 ) p.m.maze.1 ( 0.00, 0.00, 0.00 ) p.m.maze.3 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/calibrate_tape.pos��������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�013454� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 5.00, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_case_bad.out����������������������������������������������������������������0000664�0001750�0001750�00000002032�14765126030�013063� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_case_bad.svx:3:7: error: Found "mixed", expecting "PRESERVE", "TOUPPER", or "TOLOWER" *Case mixed ^~~~~ ./cmd_case_bad.svx:4:7: error: Found "tol0wer", expecting "PRESERVE", "TOUPPER", or "TOLOWER" *CASE tol0wer ^~~~~~~ ./cmd_case_bad.svx:5:7: error: Found "to", expecting "PRESERVE", "TOUPPER", or "TOLOWER" *case to lower ^~ ./cmd_case_bad.svx:6:15: error: End of line not blank *case tolower toupper ^~~~~~~ ./cmd_case_bad.svx:7:7: error: Found "", expecting "PRESERVE", "TOUPPER", or "TOLOWER" *case 42 ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 5 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian2.svx������������������������������������������������������������������0000644�0001750�0001750�00000000177�14647535025�012600� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix A 0.0 1.0 0.0 *fix B 0.0 -1.0 0.0 1 A 1.00 000 00 *data cartesian from to dx dy dz 1 B 0.0 -1.0 0.0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/level.pos�����������������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�011624� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_units_qlist.out�������������������������������������������������������������0000664�0001750�0001750�00000001420�14765126030�013703� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./bad_units_qlist.svx:3:8: error: Unknown instrument "position" *units position metres ^~~~~~~~ ./bad_units_qlist.svx:4:8: error: Unknown instrument "plumb" *units plumb metres ^~~~~ ./bad_units_qlist.svx:5:8: error: Unknown instrument "level" *units level metres ^~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 3 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_sd_bad.out������������������������������������������������������������������0000664�0001750�0001750�00000002261�14765126030�012562� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_sd_bad.svx:4:10: error: Expecting numeric field, found "metres" *sd tape metres ^~~~~~ ./cmd_sd_bad.svx:5:15: error: Unknown units "furlongs" *sd tape 0.05 furlongs ^~~~~~~~ ./cmd_sd_bad.svx:6:15: error: Unknown units "furlongs" *sd tape 0.05 furlongs per fortnight ^~~~~~~~ ./cmd_sd_bad.svx:7:5: error: Unknown quantity "tripe" *sd tripe 0.9 feet ^~~~~ ./cmd_sd_bad.svx:8:10: error: Expecting numeric field, found "tripe" *sd tape tripe 0.9 feet ^~~~~ ./cmd_sd_bad.svx:9:22: error: Invalid units "meters" for quantity *sd tape compass 0.4 meters ^~~~~~ ./cmd_sd_bad.svx:10:5: error: Unknown quantity "" *sd 0.9 feet ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 7 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/reenterlots.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000523�14756727464�013123� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=5 error=0 *fix svy.1 0 0 0 *begin svy *export 1 1 2 10.00 000 0 *end svy *begin svy 1 3 10.00 060 0 *end svy *begin svy 1 4 10.00 120 0 *end svy *begin svy 1 5 10.00 180 0 *end svy *begin svy 1 6 10.00 240 0 *end svy *begin svy 1 7 10.00 300 0 *end svy *begin svy 1 8 10.00 - down *end svy *begin svy 1 9 10.00 - up *end svy �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/clptest.clp���������������������������������������������������������������������0000664�0001750�0001750�00000003164�14756727464�012175� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: B SURVEY DATE: 10 13 1986 COMMENT:Test backsights SURVEY TEAM: Them DECLINATION: 0.00 FORMAT: DDDDLRUDLADB CORRECTIONS: 1.00 2.00 0.20 CORRECTIONS2: 1.00 2.00 DISCOVERY: 10 13 1986 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 C2 3.28 360.00 0.00 1.00 1.00 1.00 1.00 180.00 0.00 C1 C3 3.28 360.00 0.00 1.00 1.00 1.00 1.00 180.00 0.00 Cave SURVEY NAME: C SURVEY DATE: 1 1 1 COMMENT:Test backsights with 13 character format SURVEY TEAM: Them DECLINATION: 0.00 FORMAT: DDDDLRUDLADBF CORRECTIONS: 0.00 0.00 0.00 CORRECTIONS2: 0.00 0.00 DISCOVERY: 1 1 1901 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 B1 3.28 90.00 1.00 1.00 1.00 1.00 1.00 270.00 -1.00 B1 B2 3.28 180.00 -1.00 1.00 1.00 1.00 1.00 360.00 1.00 Cave SURVEY NAME: D SURVEY DATE: 12 1 1999 COMMENT:Test newer format (and corrected) backsights SURVEY TEAM: Us, Them DECLINATION: 0.00 FORMAT: DDDDLRUDLADadBF CORRECTIONS: 2.00 4.00 0.50 CORRECTIONS2: 1.00 -3.00 DISCOVERY: 12 1 1999 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT AZM2 INC2 FLAGS COMMENTS C2 D1 4.57 26.50 22.00 1.00 1.00 1.00 1.00 206.50 -22.00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nomeasure.out�������������������������������������������������������������������0000664�0001750�0001750�00000001254�14765126030�012522� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./nomeasure.dat:10: info: Survey has no fixed points. Therefore I've fixed C1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 3 legs. There are 0 loops. Total length of survey legs = 4.00m ( 4.00m adjusted) Total plan length of survey legs = 4.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from C4 at 0.00m to C4 at 0.00m) North-South range = 6.00m (from C4 at 6.00m to C1 at 0.00m) East-West range = 0.00m (from C4 at 0.00m to C4 at 0.00m) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extendsurveyx.dump��������������������������������������������������������������0000664�0001750�0001750�00000000544�14765125402�013622� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "x" DATE "Tue,2024.10.08 15:56:42 NZDT" DATE_NUMERIC 1728403002 VERSION 7 EXTENDED ELEVATION SEPARATOR '.' -- NODE 0.00 0.00 0.00 [1] UNDERGROUND LEG 0.00 0.00 0.00 9.96 0.00 -0.87 [] NODE 9.96 0.00 -0.87 [2] UNDERGROUND NODE 9.96 0.00 -0.87 [a] UNDERGROUND LEG 9.96 0.00 -0.87 14.94 0.00 -1.31 [] NODE 14.94 0.00 -1.31 [3] UNDERGROUND EXPORTED STOP ������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_infer.svx�������������������������������������������������������������������0000644�0001750�0001750�00000002350�14647535025�012466� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *begin *calibrate clino 90 1 2 1 0 90 ; corrected to 1 2 1 0 0 *infer plumbs on 1 3 1 - 90 ; corrected to 1 3 1 - up *infer plumbs off 1 4 1 0 90 ; corrected to 1 4 1 0 0 *begin *infer plumbs on 1 5 1 - 90 ; corrected to 1 5 1 - up *end 1 6 1 0 90 ; corrected to 1 6 1 0 0 *infer plumbs on *begin *infer plumbs off 1 7 1 0 90 ; corrected to 1 7 1 0 0 *end 1 8 1 - 90 ; corrected to 1 8 1 - up *end *begin *begin *calibrate clino -90 1 D2 1 0 -90 ; corrected to 1 D2 1 0 0 *infer plumbs on D3 1 1 - -90 ; corrected to D3 1 1 - down *infer plumbs off 1 D4 1 0 -90 ; corrected to 1 D4 1 0 0 *begin *infer plumbs on D5 1 1 - -90 ; corrected to D5 1 1 - down *end 1 D6 1 0 -90 ; corrected to 1 D6 1 0 0 *infer plumbs on *begin *infer plumbs off 1 D7 1 0 -90 ; corrected to 1 D7 1 0 0 *end D8 1 1 - -90 ; corrected to D8 1 1 - down *end *calibrate tape -1 1 A 0 0 0 ; corrected to 1 A 1 0 0 *infer equates on 1 B 0 0 0 ; converted to *equate 1 B *infer equates off 1 C 0 0 0 ; corrected to 1 C 1 0 0 *begin *infer equates on 1 D 0 0 0 ; converted to *equate 1 D *end 1 E 0 0 0 ; corrected to 1 E 1 0 0 *infer equates on *begin *infer equates off 1 F 0 0 0 ; corrected to 1 F 1 0 0 *end 1 G 0 0 0 ; converted to *equate 1 G *end ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_auto_bad.svx����������������������������������������������������0000664�0001750�0001750�00000001043�14756727464�015525� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=3 *cs out utm33 *fix 1 0410600 5282000 1234 *declination auto 0410600 5282000 1234 *equate 1 a.1 *begin a *export 1 2 1 2 10.00 320 -06 2 3 1.23 000 +06 *end a *equate a.2 b.1 *begin b *export 1 2 ; No declination warning here 1 2 1.0 - down *end b *equate b.2 c.1 *begin c *export 1 2 1 2 1.0 - down ; Declination warning here: 2 3 2.0 123 -66 *end c *equate c.2 d.1 *begin d *export 1 2 *date 2000.12.25 1 2 100.0 000 0 *declination auto 0490600 5282000 1234 1 2a 50.0 000 0 *date 2000.12.26 1 2b 10.0 090 0 *end d ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurv.pos����������������������������������������������������������������������0000664�0001750�0001750�00000000250�14735615266�012060� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 1.00, 0.00, 0.00 ) 2 ( 0.00, 1.00, 0.00 ) 3 ( 0.00, 0.00, 1.00 ) 4 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_begin_bad.svx���������������������������������������������������������������0000644�0001750�0001750�00000000436�14647535025�013260� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=7 ; We used to report "End of line not blank" but 1.2.22 gives "Character "=" not ; allowed in station name (use *SET NAMES to set allowed characters)" instead. *fix 1 reference 0 0 0 *begin * *end *begin .0 *end ( *begin *end +_ *begin = *end a *begin a *end = ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstnbad.svx������������������������������������������������������������������0000644�0001750�0001750�00000000215�14647535025�012665� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=6 *fix . 1 2 3 *fix .. 2 3 4 *fix ... 3 4 5 *fix 1 0 0 0 . ... 10.00 123 -01 ... .. 0.91 359 +67 .. . 1.23 321 -21 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/tabinhighlight.out��������������������������������������������������������������0000664�0001750�0001750�00000001137�14765126030�013511� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./tabinhighlight.svx:2:24: error: End of line not blank *fix 1 reference 0 0 0 bad tab ^~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 1 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badbegin.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000301�14647535025�012265� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=3 *begin *end foo *begin foo *fix 1 reference 0 0 0 *end bar *begin omitted *begin < ; In 1.2.26 this next line gave: "warning: Survey name omitted from END" *end *end �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000234�14647535025�012510� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix A 0.0 2.0 0.0 *fix B 0.0 -2.0 0.0 *sd tape dx dy dz 1.0 metres 1 A 1.00 000 00 *data cartesian from to dx dy dz 1 B 0.0 -1.0 0.0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badunits.out��������������������������������������������������������������������0000664�0001750�0001750�00000004035�14765126030�012335� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badunits.svx:3:15: error: Unknown units "FURLONGS" *units length FURLONGS ^~~~~~~~ ./badunits.svx:4:29: error: Unknown units "Radians" *units compass 0.0174532925 Radians ^~~~~~~ ./badunits.svx:5:16: error: Invalid units "METRES" for quantity *units compass METRES ^~~~~~ ./badunits.svx:6:19: error: Invalid units "Degrees" for quantity *units tape clino Degrees ^~~~~~~ ./badunits.svx:7:23: error: Invalid units "Metres" for quantity *units tape clino 0.1 Metres ^~~~~~ ./badunits.svx:8:8: error: Unknown quantity "Anemometer" *units Anemometer Knots ^~~~~~~~~~ ./badunits.svx:10:16: error: End of line not blank *units DEFault MeterS ; comment ^~~~~~ ./badunits.svx:11:16: error: End of line not blank *units DEFault 1.0 MeterS ^~~~~~~~~~ ./badunits.svx:12:13: error: Unknown units "DEFault" *units Tape DEFault MeterS ^~~~~~~ ./badunits.svx:13:13: error: Unknown units "DEFault" *units Tape DEFault ^~~~~~~ ./badunits.svx:14:16: error: End of line not blank *units DEFault Tape ^~~~ ./badunits.svx:15:16: error: End of line not blank *units DEFault Tape Feet ^~~~~~~~~ ./badunits.svx:17:13: error: Invalid units "degrees" for quantity *units left degrees ^~~~~~~ ./badunits.svx:18:15: error: Unknown units "metres2" *units length metres2 ^~~~~~~ ./badunits.svx:19:15: error: Unknown units "br0ken" *units length br0ken ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00' ( 0.00' adjusted) Total plan length of survey legs = 0.00' Total vertical length of survey legs = 0.00' There were 0 warning(s) and 15 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lollipop.pos��������������������������������������������������������������������0000664�0001750�0001750�00000000354�14765126030�012350� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 4.00, 0.00, 0.00 ) 2 ( 2.00, 0.00, 0.00 ) a ( 2.00, 3.00, -0.00 ) b ( 2.00, 5.00, -0.00 ) c ( 0.00, -1.00, 0.00 ) s ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinosurv.out�����������������������������������������������������������������0000664�0001750�0001750�00000001160�14765126030�013127� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 0 legs. There are 0 loops. Survey has 5 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m Vertical range = 1.00m (from 4 at 1.00m to 3 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 4 at 0.00m) East-West range = 1.00m (from 2 at 1.00m to 4 at 0.00m) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc4.out���������������������������������������������������������������������0000664�0001750�0001750�00000001640�14765126030�012027� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badinc4.svx:3:10: error: Expecting string field *include ; comment ^ ./badinc4.svx:4:9: error: Expecting string field *include ^ ./badinc4.svx:6:12: error: Couldn't open file "" *include "" ^ ./badinc4.svx:7:25: error: Missing " *include "not terminated ^ ./badinc4.svx:8:12: error: Couldn't open file "nonexistent_file" *include "nonexistent_file" ^~~~~~~~~~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 5 error(s) - no output files produced. ������������������������������������������������������������������������������������������������survex-1.4.17/tests/longname.svx��������������������������������������������������������������������0000644�0001750�0001750�00000002016�14647535025�012337� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx reference 0 0 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/v0b.3d��������������������������������������������������������������������������0000644�0001750�0001750�00000000335�14525274540�010713� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v0.01 1626_55 02.12.01 20:52:33 move 32704.4 284876.47 1426.76 draw 32703.21 284879.89 1419.75 draw 32703.32 284881.86 1419.88 draw 32707.68 284892.26 1427.48 draw 32706.35 284890.71 1428.03 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug3.out������������������������������������������������������������������������0000664�0001750�0001750�00000001343�14765126030�011363� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 2.00m (from 3 at 2.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_date.svx��������������������������������������������������������������������0000664�0001750�0001750�00000006055�14765126030�012301� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=23 ; valid dates: *fix _ 0 0 0 *begin *date 00.01.01 _ 19000101 1 000 00 *date 00.01 _ 190001 2 000 00 *date 00.02 _ 190002 3 000 00 *date 00 _ 1900 4 000 00 *date 1900-2000 _ 1900_2000 5 000 00 *date 1900.01.02 _ 19000102 6 000 00 *date 1900.03 _ 190003 7 000 00 *date 1900.04 _ 190004 8 000 00 *date 1900.02.28 _ 19000228 9 000 00 *date 1901 _ 1901 10 000 00 *date 02.01.01 _ 19020101 11 000 00 *date 02.01 _ 190201 12 000 00 *date 02.02 _ 190202 13 000 00 *date 02 _ 1902 14 000 00 *date 1902-2000 _ 1902_2000 15 000 00 *date 1903.01.01 _ 19030101 16 000 00 *date 1903.01 _ 190301 17 000 00 *date 1903.02 _ 190302 18 000 00 *date 1903 _ 1903 19 000 00 *date 1902-2001 _ 1902_2001 20 000 00 *date 69.12.31 _ 19691231 21 000 00 *date 1969.12.30 _ 19691230 22 000 00 *date 1969.12 _ 196912 23 000 00 *date 1969 _ 1969 24 000 00 *date 70.01.01 _ 19700101 25 000 00 *date 70.01 _ 197001 26 000 00 *date 70.02 _ 197002 27 000 00 *date 70 _ 1970 28 000 00 *date 99.12.31 _ 19991231 29 000 00 *date 1970-2000 _ 1970_2000 30 000 00 *date 1970.01.02 _ 19700102 31 000 00 *date 1970.03 _ 197003 32 000 00 *date 1970.04 _ 197004 33 000 00 *date 1971 ; regression test 1.4.13 bug with comment after year _ 1971 34 000 00 *date 1970-2001 _ 1970_2001 35 000 00 *date 1975.01.31 _ 19750131 36 000 00 *date 1975.02.28 _ 19750228 37 000 00 *date 1975.03.31 _ 19750331 38 000 00 *date 1975.04.30 _ 19750430 39 000 00 *date 1975.05.31 _ 19750531 40 000 00 *date 1975.06.30 _ 19750630 41 000 00 *date 1975.07.31 _ 19750731 42 000 00 *date 1975.08.31 _ 19750831 43 000 00 *date 1975.09.30 _ 19750930 44 000 00 *date 1975.10.31 _ 19751031 45 000 00 *date 1975.11.30 _ 19751130 46 000 00 *date 1975.12.31 _ 19751231 47 000 00 *date 1976.01.31 _ 19760131 48 000 00 *date 1976.02.29 _ 19760229 49 000 00 *date 1976.03.31 _ 19760331 50 000 00 *date 1976.04.30 _ 19760430 51 000 00 *date 1976.05.31 _ 19760531 52 000 00 *date 1976.06.30 _ 19760630 53 000 00 *date 1976.07.31 _ 19760731 54 000 00 *date 1976.08.31 _ 19760831 55 000 00 *date 1976.09.30 _ 19760930 56 000 00 *date 1976.10.31 _ 19761031 57 000 00 *date 1976.11.30 _ 19761130 58 000 00 *date 1976.12.31 _ 19761231 59 000 00 *date 2000.01.31 _ 20000131 60 000 00 *date 2000.02.29 _ 20000229 61 000 00 *date 2000.03.31 _ 20000331 62 000 00 *date 2000.04.30 _ 20000430 63 000 00 *date 2000.05.31 _ 20000531 64 000 00 *date 2000.06.30 _ 20000630 65 000 00 *date 2000.07.31 _ 20000731 66 000 00 *date 2000.08.31 _ 20000831 67 000 00 *date 2000.09.30 _ 20000930 68 000 00 *date 2000.10.31 _ 20001031 69 000 00 *date 2000.11.30 _ 20001130 70 000 00 *date 2000.12.31 _ 20001231 71 000 00 ; These should generate one "date in future" warning each (until 2078!) *date 1900-2078 _ 1900_2078 72 000 00 *date 2078.12.31 _ 20781231 73 000 00 *date 2078.06 _ 207806 74 000 00 *date 2078 _ 2078 75 000 00 *date 2016.08.25-2078.12.31 ; long survey trip! _ 20160825_20781231 76 000 00 ; And this should generate two *date 2078.12.01-2078.12.31 _ 20781201_20781231 77 000 00 ; Tests around new ISO date format *date 1911-13 _ 1911_13 78 000 00 *date 1911-12 _ 1911_12 79 000 00 *end �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_truncate_bad.out������������������������������������������������������������0000664�0001750�0001750�00000001571�14765126030�014004� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_truncate_bad.svx:3:11: error: Expecting numeric field, found "on" *Truncate on ^~ ./cmd_truncate_bad.svx:4:11: error: Expecting numeric field, found "off7" *truncate off7 ^~~~ ./cmd_truncate_bad.svx:5:11: error: Expecting numeric field, found "o7" *truncate o7 ^~ ./cmd_truncate_bad.svx:6:12: error: End of line not blank *truncate 3.14159 ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 4 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_entrance.svx����������������������������������������������������������������0000644�0001750�0001750�00000000125�14647535025�013160� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *equate P007 007.1 *entrance P007 *begin 007 1 2 1.00 090 0 *end 007 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/percent_gradient.pos������������������������������������������������������������0000644�0001750�0001750�00000000416�14525274540�014034� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 7.07, 7.07 ) 2 ( 4.00, 0.00, 3.00 ) 3 ( 0.00, -5.00, -12.00 ) 4 ( -10.00, 0.00, 0.00 ) 5 ( 0.00, 7.07, -7.07 ) 6 ( 7.07, 0.00, 7.07 ) 7 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dxffullcoords.dxf���������������������������������������������������������������0000664�0001750�0001750�00000002121�14756732050�013353� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0 SECTION 2 HEADER 9 $EXTMIN 10 313799.91 20 5427953.18 30 21.28 9 $EXTMAX 10 313899.53 20 5427953.18 30 30.00 9 $PDMODE 70 3 9 $PDSIZE 40 0.80 0 ENDSEC 0 SECTION 2 TABLES 0 TABLE 2 LTYPE 70 10 0 LTYPE 2 CONTINUOUS 70 64 3 Continuous 72 65 73 0 40 0.0 0 LTYPE 2 DASHED 70 64 3 Dashed 72 65 73 2 40 2.5 49 1.25 49 -1.25 0 LTYPE 2 DOT 70 64 3 Dotted 72 65 73 2 40 1 49 0 49 1 0 ENDTAB 0 TABLE 2 LAYER 70 10 0 LAYER 2 CentreLine 70 64 62 5 6 CONTINUOUS 0 LAYER 2 Stations 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Labels 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Surface 70 64 62 5 6 DASHED 0 LAYER 2 SurfaceStations 70 64 62 7 6 CONTINUOUS 0 LAYER 2 SurfaceLabels 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Splays 70 64 62 5 6 DOT 0 ENDTAB 0 ENDSEC 0 SECTION 2 ENTITIES 0 LINE 8 CentreLine 10 313799.91 20 5427953.18 30 30.00 11 313899.53 21 5427953.18 31 21.28 0 TEXT 8 Labels 10 313899.53 20 5427953.18 30 21.28 40 0.60 1 e 0 POINT 8 Stations 10 313899.53 20 5427953.18 30 21.28 0 TEXT 8 Labels 10 313799.91 20 5427953.18 30 30.00 40 0.60 1 bh 0 POINT 8 Stations 10 313799.91 20 5427953.18 30 30.00 000 ENDSEC 000 EOF �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/3dcorner.pos��������������������������������������������������������������������0000644�0001750�0001750�00000001121�14525274540�012230� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) reallylongprefixtogetusstarted.1.2.3.4.5.6.7.8.9.10.11.12.13.fourteen.1234567 ( 0.00, 0.00, 0.00 ) reallylongprefixtogetusstarted.1.2.3.4.5.6.7.8.9.10.11.12.14.xxxxxxxx.12345678 ( 0.00, 0.00, 0.00 ) reallylongprefixtogetusstarted.1.2.3.4.5.6.7.8.9.10.11.12.15.yxxxxxxx.123456 ( 0.00, 0.00, 0.00 ) reallylongprefixtogetusstarted.1.2.3.4.5.6.7.8.9.10.11.12.16.z.1234567812345678234567812345678 ( 0.00, 0.00, 0.00 ) reallylongprefixtogetusstarted.1.fred ( 0.00, 0.00, 0.00 ) z �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normal_bad.svx������������������������������������������������������������������0000664�0001750�0001750�00000000671�14756727464�012657� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=2 error=3 *fix 1 0 0 0 1 2 2.13 012 0 ; error: Tape reading may not be omitted 1 1a - 000 0 ; error: Compass reading may not be omitted except on plumbed legs 2 3 1.00 - 0 ; error: Character "*" not allowed in station name (use *SET NAMES to set allowed characters) 2 * 1.00 000 0 2 4 1.00 - DOWN ; warning: Compass reading given on plumbed leg 2 A 1.00 034 UP ; warning: Compass reading given on plumbed leg 1 B 1.00 000 UP �����������������������������������������������������������������������survex-1.4.17/tests/tabinhighlight.svx��������������������������������������������������������������0000664�0001750�0001750�00000000071�14756732050�013523� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *fix 1 reference 0 0 0 bad tab �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/backread.dump�������������������������������������������������������������������0000664�0001750�0001750�00000001105�14756727464�012433� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "backread" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 0.00 0.00 1.00 0.00 0.02 [] STYLE=NORMAL LEG 1.00 0.00 0.02 1.00 -1.00 0.00 [] STYLE=NORMAL LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 1.00 0.00 0.59 2.15 0.52 [] STYLE=NORMAL 1999.12.01 NODE 0.59 2.15 0.52 [D1] UNDERGROUND NODE 0.00 1.00 0.00 [C2] UNDERGROUND NODE 1.00 -1.00 0.00 [B2] UNDERGROUND NODE 1.00 0.00 0.02 [B1] UNDERGROUND NODE 0.00 1.00 0.00 [C3] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND STOP �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve.out�������������������������������������������������������������������0000664�0001750�0001750�00000001343�14765126030�012476� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 2 legs. Total length of survey legs = 4.00m ( 2.00m adjusted) Total plan length of survey legs = 4.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 1.00m (from 2 at 1.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/walls.dump����������������������������������������������������������������������0000664�0001750�0001750�00000007750�14756732050�012020� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "walls" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 1.00 -1.49 -3.51 4.82 [] STYLE=NORMAL 2024.03.09 LEG -1.49 -3.51 4.82 7.42 -1.78 0.39 [] STYLE=NORMAL DUPLICATE 1972.02.29 LEG 7.42 -1.78 0.39 16.33 -0.05 -4.04 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 16.33 -0.05 -4.04 7.16 -0.53 -4.36 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 7.16 -0.53 -4.36 6.88 -0.55 -4.37 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 6.88 -0.55 -4.37 6.86 0.45 -4.31 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 6.88 -0.55 -4.37 28.16 -13.08 -4.37 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 28.16 -13.08 -4.37 27.40 -10.64 7.66 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 16.33 -0.05 -4.04 16.33 -0.05 -3.04 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 16.33 -0.05 -4.04 16.33 -0.05 -5.04 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 16.33 -0.05 -4.04 24.09 -0.83 -4.04 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 6.88 -0.55 -4.37 7.75 -1.05 -4.37 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 6.88 -0.55 -4.37 7.75 -1.05 -4.37 [] STYLE=NORMAL SPLAY 1973.08.04 LEG 6.88 -0.55 -4.37 6.88 -0.55 -3.37 [] STYLE=NORMAL 1973.08.04 LEG 6.88 -0.55 -3.37 6.88 -0.55 -2.37 [] STYLE=NORMAL 1973.08.04 LEG 6.88 -0.55 -2.37 6.88 -0.55 -1.37 [] STYLE=NORMAL 1973.08.04 LEG 6.88 -0.55 -1.37 6.88 -0.55 -0.37 [] STYLE=NORMAL 1973.08.04 LEG 0.00 0.00 1.00 30.00 40.00 51.00 [] STYLE=CARTESIAN 1973.08.04 LEG 0.00 0.00 1.00 30.00 40.00 51.00 [] STYLE=CARTESIAN SPLAY 1973.08.04 LEG 6.88 -0.55 -1.37 6.83 0.45 -1.37 [] STYLE=NORMAL 1973.08.04 LEG 6.83 0.45 -1.37 6.78 1.45 -1.37 [] STYLE=NORMAL 1973.08.04 LEG 6.78 1.45 -1.37 6.72 2.45 -1.37 [] STYLE=NORMAL 1973.08.04 LEG 6.72 2.45 -1.37 6.65 2.94 -1.43 [] STYLE=NORMAL 1973.08.04 LEG 6.65 2.94 -1.43 7.65 4.06 -1.42 [] STYLE=NORMAL 1973.08.04 LEG 7.65 4.06 -1.42 8.10 4.10 -0.89 [] STYLE=NORMAL 1973.08.04 LEG 8.10 4.10 -0.89 9.01 5.17 -0.79 [] STYLE=NORMAL 1973.08.04 LEG 9.01 5.17 -0.79 8.63 3.89 -1.67 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 8.63 3.89 -1.67 8.63 3.89 -2.87 [] STYLE=NORMAL 1973.08.04 LEG 8.63 3.89 -2.87 7.55 3.73 -2.97 [] STYLE=NORMAL 1973.08.04 LEG 7.55 3.73 -2.97 7.51 3.92 -2.97 [] STYLE=NORMAL DUPLICATE 1973.08.04 LEG 7.55 3.73 -2.97 7.73 3.39 -2.96 [] STYLE=NORMAL 1973.08.04 LEG 7.73 3.39 -2.96 12.70 3.63 -3.40 [] STYLE=NORMAL 1973.08.04 LEG 12.70 3.63 -3.40 13.22 7.07 -3.17 [] STYLE=NORMAL 1973.08.04 LEG 12.70 3.63 -3.40 13.74 8.51 -3.09 [] STYLE=NORMAL 1973.08.04 LEG 12.70 3.63 -3.40 12.70 5.62 -3.26 [] STYLE=NORMAL 1973.08.04 LEG 1.00 1.00 1.00 0.00 0.00 1.00 [] STYLE=NOSURVEY 2024.03.09 NODE 12.70 5.62 -3.26 [*1] UNDERGROUND NODE 13.74 8.51 -3.09 [<8] UNDERGROUND NODE 13.22 7.07 -3.17 [*8] UNDERGROUND NODE 12.70 3.63 -3.40 [U23] UNDERGROUND NODE 7.73 3.39 -2.96 [U22] UNDERGROUND NODE 7.51 3.92 -2.97 [U21a] UNDERGROUND NODE 7.55 3.73 -2.97 [U21] UNDERGROUND NODE 8.63 3.89 -2.87 [U20] UNDERGROUND NODE 8.63 3.89 -1.67 [U19] UNDERGROUND NODE 9.01 5.17 -0.79 [U18] UNDERGROUND NODE 8.10 4.10 -0.89 [U17] UNDERGROUND NODE 7.65 4.06 -1.42 [U16] UNDERGROUND NODE 6.65 2.94 -1.43 [U15] UNDERGROUND NODE 6.72 2.45 -1.37 [U14] UNDERGROUND NODE 6.78 1.45 -1.37 [U13] UNDERGROUND NODE 6.83 0.45 -1.37 [U12] UNDERGROUND NODE 30.00 40.00 51.00 [U12b] UNDERGROUND NODE 30.00 40.00 51.00 [U12a] UNDERGROUND NODE 6.88 -0.55 -0.37 [EMPTY.empty name] UNDERGROUND EXPORTED NODE 6.88 -0.55 -1.37 [U11] UNDERGROUND NODE 6.88 -0.55 -2.37 [U10] UNDERGROUND NODE 6.88 -0.55 -3.37 [U9] UNDERGROUND NODE 7.75 -1.05 -4.37 [] UNDERGROUND ANON WALL NODE 7.75 -1.05 -4.37 [] UNDERGROUND ANON WALL NODE 24.09 -0.83 -4.04 [] UNDERGROUND ANON WALL NODE 16.33 -0.05 -5.04 [] UNDERGROUND ANON WALL NODE 16.33 -0.05 -3.04 [] UNDERGROUND ANON WALL NODE 27.40 -10.64 7.66 [&##.S1] UNDERGROUND EXPORTED NODE 28.16 -13.08 -4.37 [12#4] UNDERGROUND NODE 6.86 0.45 -4.31 [U6] UNDERGROUND NODE 6.88 -0.55 -4.37 [U5] UNDERGROUND NODE 7.16 -0.53 -4.36 [U4] UNDERGROUND NODE 16.33 -0.05 -4.04 [U3] UNDERGROUND NODE 7.42 -1.78 0.39 [U2] UNDERGROUND NODE -1.49 -3.51 4.82 [U1] UNDERGROUND EXPORTED NODE 0.00 0.00 1.00 [U0] UNDERGROUND FIXED NODE 1.00 1.00 1.00 [Q0] UNDERGROUND FIXED STOP ������������������������survex-1.4.17/tests/cmap.sht������������������������������������������������������������������������0000664�0001750�0001750�00000001521�14756727464�011452� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� FAKE CAVE, NOWHERE 69/12/01 12:00 Page 1 Old New Type dX dY dZ East North Vert. -------------------------------------------------------------------- A1 A1 .00 .00 .00 .00 .00 .00 A1 A2.1 04.00 12.00 -3.00 04.00 12.00 -3.00 A2.2 ENTRANCE CHAMBER A2.1 A2.2 30.00 40.00 00.00 34.00 52.00 -3.00 A2.2 A3 30.00 .00 .00 64.00 52.00 -3.00 A3 A4 .00 40.00 .00 64.00 92.00 -3.00 A4 A2.2 -30.00 -40.00 .00 34.00 52.00 -3.00 5 Stations 183.0 Feet 55.8 Meters .035 Miles Shot No. of Length type Shots (feet) 5 183.0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dxfsurfequate.dxf���������������������������������������������������������������0000664�0001750�0001750�00000002562�14756732050�013374� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0 SECTION 2 HEADER 9 $EXTMIN 10 0.00 20 0.00 30 0.00 9 $EXTMAX 10 8.51 20 2.90 30 4.16 9 $PDMODE 70 3 9 $PDSIZE 40 0.80 0 ENDSEC 0 SECTION 2 TABLES 0 TABLE 2 LTYPE 70 10 0 LTYPE 2 CONTINUOUS 70 64 3 Continuous 72 65 73 0 40 0.0 0 LTYPE 2 DASHED 70 64 3 Dashed 72 65 73 2 40 2.5 49 1.25 49 -1.25 0 LTYPE 2 DOT 70 64 3 Dotted 72 65 73 2 40 1 49 0 49 1 0 ENDTAB 0 TABLE 2 LAYER 70 10 0 LAYER 2 CentreLine 70 64 62 5 6 CONTINUOUS 0 LAYER 2 Stations 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Labels 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Surface 70 64 62 5 6 DASHED 0 LAYER 2 SurfaceStations 70 64 62 7 6 CONTINUOUS 0 LAYER 2 SurfaceLabels 70 64 62 7 6 CONTINUOUS 0 LAYER 2 Splays 70 64 62 5 6 DOT 0 ENDTAB 0 ENDSEC 0 SECTION 2 ENTITIES 0 LINE 8 Surface 10 8.51 20 0.00 30 4.16 11 0.00 21 0.74 31 0.00 0 LINE 8 Surface 10 0.00 20 0.74 30 0.00 11 1.94 21 2.90 31 0.77 0 TEXT 8 SurfaceLabels 10 1.94 20 2.90 30 0.77 40 0.60 1 b.3 0 POINT 8 SurfaceStations 10 1.94 20 2.90 30 0.77 0 TEXT 8 SurfaceLabels 10 0.00 20 0.74 30 0.00 40 0.60 1 b.2 0 POINT 8 SurfaceStations 10 0.00 20 0.74 30 0.00 0 TEXT 8 SurfaceLabels 10 0.00 20 0.74 30 0.00 40 0.60 1 a.2 0 POINT 8 SurfaceStations 10 0.00 20 0.74 30 0.00 0 TEXT 8 SurfaceLabels 10 8.51 20 0.00 30 4.16 40 0.60 1 a.1 0 POINT 8 SurfaceStations 10 8.51 20 0.00 30 4.16 000 ENDSEC 000 EOF ����������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csfeet.out����������������������������������������������������������������������0000664�0001750�0001750�00000000707�14765126030�011777� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 0 legs. There are 0 loops. Survey has 3 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ���������������������������������������������������������survex-1.4.17/tests/badinc2.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000121�14647535025�012034� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail ; include of a file which includes a nonexistent file *include badinc �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/component_count_bug.out���������������������������������������������������������0000664�0001750�0001750�00000001115�14765126030�014567� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 5 legs. There are 0 loops. Total length of survey legs = 5.00m ( 5.00m adjusted) Total plan length of survey legs = 5.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 0 at 0.00m to 0 at 0.00m) North-South range = 1.00m (from 0 at 1.00m to _ at 0.00m) East-West range = 0.00m (from 0 at 0.00m to 0 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswap-break.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000073�14647535025�012741� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� a b 10 180 -10 b c 10 90 -10 c a 20 300 +25 b d 10 200 -5���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/revdir.svx����������������������������������������������������������������������0000644�0001750�0001750�00000000160�14647535025�012030� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *data normal station newline direction tape compass clino *fix 0 0 0 0 0 B 1 0 0 1 F 1 0 0 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badcalibrate.svx����������������������������������������������������������������0000644�0001750�0001750�00000000354�14647535025�013137� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=4 *fix 1 reference 0 0 0 ; A scale factor of 0 isn't sensible *calibrate compass 1.0 000 *calibrate clino backclino -0.5 0.0 *calibrate tape 0 0 ; Can't calibrate angles and lengths together *calibrate tape compass 1 1 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csfeet.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000214�14567212227�011764� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) (36000.00, 83000.00, 1600.00 ) 1 (36000.00, 83000.00, 1600.20 ) 1ft (36000.00, 83000.00, 1596.00 ) 1usft ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_prefix.out������������������������������������������������������������������0000664�0001750�0001750�00000001322�14765126030�012640� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_prefix.svx:5:2: warning: *prefix is deprecated - use *begin and *end instead *prefix wibble ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 1.00m (from 2 at 1.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) There were 1 warning(s). ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_cartesian_bad.out�����������������������������������������������������������0000664�0001750�0001750�00000002276�14765126030�014133� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_cartesian_bad.svx:3:12: error: Expecting "GRID", "MAGNETIC", or "TRUE" *cartesian fridge ^~~~~~ ./cmd_cartesian_bad.svx:4:12: error: Expecting "GRID", "MAGNETIC", or "TRUE" *cartesian fridge 1.0 degrees ^~~~~~ ./cmd_cartesian_bad.svx:5:22: error: Unknown units "" *cartesian magnetic 0 ^ ./cmd_cartesian_bad.svx:6:17: error: Expecting numeric field, found "degrees" *cartesian true degrees ^~~~~~~ ./cmd_cartesian_bad.svx:7:12: error: Expecting "GRID", "MAGNETIC", or "TRUE" *cartesian grid2degrees ^~~~~~~~~~~~ ./cmd_cartesian_bad.svx:8:12: error: Expecting "GRID", "MAGNETIC", or "TRUE" *cartesian magnetic2 degrees ^~~~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 6 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_truncate_bad.svx������������������������������������������������������������0000664�0001750�0001750�00000000154�14765125402�014013� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=4 *fix 1 reference 0 0 0 *Truncate on *truncate off7 *truncate o7 *truncate 3.14159 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_begin_bad.out���������������������������������������������������������������0000664�0001750�0001750�00000002666�14765126030�013251� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_begin_bad.svx:5:8: error: Character "*" not allowed in station name (use *SET NAMES to set allowed characters) *begin * ^ ./cmd_begin_bad.svx:7:8: error: Character "." not allowed in station name (use *SET NAMES to set allowed characters) *begin .0 ^ ./cmd_begin_bad.svx:8:6: error: Character "(" not allowed in station name (use *SET NAMES to set allowed characters) *end ( ^ ./cmd_begin_bad.svx:10:6: error: Character "+" not allowed in station name (use *SET NAMES to set allowed characters) *end +_ ^ ./cmd_begin_bad.svx:11:8: error: Character "=" not allowed in station name (use *SET NAMES to set allowed characters) *begin = ^ ./cmd_begin_bad.svx:12:6: error: Matching BEGIN command has no survey name *end a ^ ./cmd_begin_bad.svx:11: info: Corresponding BEGIN was here *begin = ./cmd_begin_bad.svx:14:6: error: Character "=" not allowed in station name (use *SET NAMES to set allowed characters) *end = ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 7 error(s) - no output files produced. ��������������������������������������������������������������������������survex-1.4.17/tests/delatenda.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000014�11701006570�012417� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(0, 0, 0) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstn.pos���������������������������������������������������������������������0000664�0001750�0001750�00000000615�14756732050�012203� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 3.00, 3.00, 4.00 ) ( 3.00, 4.00, 3.00 ) ( 4.00, 3.00, 3.00 ) ( 0.00, -0.00, -5.00 ) ( 0.00, -0.00, -5.00 ) ( 0.00, -0.00, -5.00 ) ( 0.00, -0.00, -5.00 ) ( 0.00, -0.00, -10.00 ) ( 0.00, 2.00, -0.00 ) ( 0.00, 0.00, 0.00 ) 1 ( 3.00, 3.00, 3.00 ) 2 �������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug2.svx������������������������������������������������������������������������0000664�0001750�0001750�00000000461�14756732050�011400� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= ; epsilon related value in matrix singularity tests was too small - this ; is a boiled down version of the CUCC Austria data which demonstrated the ; problem A B 1 0 0 A C 1 0 0 A D 1 0 0 *sd clino 5 degrees B E 2.63 205 07 C E 2.17 161 47 D E 27.77 284 38 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurveyhanging.svx�������������������������������������������������������������0000664�0001750�0001750�00000000244�14756732050�013766� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 ; based on example from alessandro antonelli ; caused an assertion to fail with 1.0.35 and earlier *begin test *data nosurvey from to 1 2 *end test ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlereffixerr.pos�������������������������������������������������������������0000644�0001750�0001750�00000000102�14525274540�013705� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_auto.svx��������������������������������������������������������0000664�0001750�0001750�00000001577�14756727464�014733� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=2 *cs utm33 *cs out utm33 *fix 1 0410600 5282000 1234 *declination auto 0410600 5282000 1234 *equate 1 a.1 *begin a *export 1 2 1 2 10.00 320 -06 2 3 1.23 000 +06 *end a *equate a.2 b.1 *begin b *export 1 2 ; No declination warning here 1 2 1.0 - down *end b *equate b.2 c.1 *begin c *export 1 2 1 2 1.0 - down ; Declination warning here: 2 3 2.0 123 -66 *end c *equate c.2 d.1 *begin d *export 1 2 *date 2000.12.25 1 2 100.0 000 0 ; Regression test for bug fixed in 1.2.27 - cavern caches the declination, ; but fails to invalidate the cache when the declination coordinates are ; changed, only when the date changed. *date 2000.12.26 *declination auto 0490600 5282000 1234 1 2a 50.0 000 0 *date 2000.12.27 1 2b 10.0 090 0 ; We shouldn't report for this, but did in 1.4.6 and earlier (and convergence ; was reported as "inf"). *declination auto 0490600 5282001 1234 *end d ���������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbad.out�����������������������������������������������������������������������0000664�0001750�0001750�00000005762�14765126030�011610� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./csbad.svx:2: error: Station "1" fixed before CS command first used ./csbad.svx:3:5: error: Unknown coordinate system *cs EPSG:-1 ^~~~~~~ ./csbad.svx:4:5: error: Unknown coordinate system *cs ERSI:1234 ^~~~~~~~~ ./csbad.svx:5:5: error: Unknown coordinate system *cs EUR79Z31 ^~~~~~~~ ./csbad.svx:6:11: error: End of line not blank *cs IJTSK 03 ^~ ./csbad.svx:7:5: error: Unknown coordinate system *cs IJTSK04 ^~~~~~~ ./csbad.svx:8:5: error: Unknown coordinate system *cs IJTSK99 ^~~~~~~ ./csbad.svx:9:5: error: Unknown coordinate system *cs IJTSK3 ^~~~~~ ./csbad.svx:10:5: error: Unknown coordinate system *cs IJTSK032 ^~~~~~~~ ./csbad.svx:11:5: error: Unknown coordinate system *cs IJTSK03a ^~~~~~~~ ./csbad.svx:12:5: error: Unknown coordinate system *cs lat-lat ^~~~~~~ ./csbad.svx:13:5: error: Unknown coordinate system *cs Long-LONG ^~~~~~~~~ ./csbad.svx:14:5: error: Unknown coordinate system *cs OSGB:ZZ ^~~~~~~ ./csbad.svx:15:5: error: Unknown coordinate system *cs OSGB:HI ^~~~~~~ ./csbad.svx:16:5: error: Unknown coordinate system *cs S-LONG ^~~~~~ ./csbad.svx:17:5: error: Unknown coordinate system *cs UTM0 ^~~~ ./csbad.svx:18:5: error: Unknown coordinate system *cs UTM61N ^~~~~~ ./csbad.svx:19:5: error: Unknown coordinate system *cs UTM61S ^~~~~~ ./csbad.svx:20:5: error: Unknown coordinate system *cs lat-l0ng ^~~~~~~~ ./csbad.svx:21:5: error: Unknown coordinate system *cs s-m3rc ^~~~~~ ./csbad.svx:22:12: error: Invalid coordinate system: Invalid value for an argument *cs custom "+proj=ection" ^~~~~~~~~~~~~~ ./csbad.svx:23:12: error: Invalid coordinate system: Invalid value for an argument *cs custom "+proj=ection +with +spaces" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./csbad.svx:24:9: error: Unknown coordinate system *cs out lat-long ^~~~~~~~ ./csbad.svx:25:9: error: Coordinate system unsuitable for output *cs out long-lat ^~~~~~~~ ./csbad.svx:26:9: error: Coordinate system unsuitable for output *cs out jtsk ^~~~ ./csbad.svx:27:9: error: Coordinate system unsuitable for output *cs out jtsk03 ^~~~~~ ./csbad.svx:28:9: error: Coordinate system unsuitable for output *cs out EPSG:4326 ^~~~~~~~~ ./csbad.svx:29:9: error: Coordinate system unsuitable for output *cs out ESRI:104305 ^~~~~~~~~~~ ./csbad.svx:37: error: Failed to convert coordinates: Point outside of projection domain *fix 2 reference 179 -89 1000 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 0 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 29 error(s) - no output files produced. ��������������survex-1.4.17/tests/nosurveyhanging.out�������������������������������������������������������������0000664�0001750�0001750�00000001346�14765126030�013754� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./nosurveyhanging.svx:6: info: Survey has no fixed points. Therefore I've fixed test.2 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./nosurveyhanging.svx:6: info: test.1 Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 0 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_team.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000673�14765126030�012312� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *begin survey *team Wookey notes *team "Olly Betts" tape instruments *team "Al Jobs" ALTITUDE ASSISTANT BACKBEARING BACKCLINO BACKCOMPASS BACKGRADIENT BACKLENGTH BACKTAPE BEARING CEILING CLINO COMPASS COUNT COUNTER DEPTH DIMENSIONS DOG DOWN DZ EXPLORER FLOOR GRADIENT INSTRUMENTS INSTS LEFT LENGTH NOTEBOOK NOTES PICS PICTURES POSITION RIGHT STATION TAPE UP *team Anna *team "Bob Bobbington" *fix 1 0 0 0 1 2 1 0 0 *end survey ���������������������������������������������������������������������survex-1.4.17/tests/v3.3d���������������������������������������������������������������������������0000644�0001750�0001750�00000004421�14525274540�010554� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v3 3dtopostst Sat,2001.09.15 15:33:00 BST ���������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)�����������(����� ������B.2_9a ������Ba(��B10��B9��B�)��J1���B2���R1�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswap.espec���������������������������������������������������������������������0000644�0001750�0001750�00000000166�14525274540�012136� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ; Starting from non highest station *start b ;setting direction at a station *eleft c ;swapping on leg *eswap d d1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/percent_gradient.svx������������������������������������������������������������0000644�0001750�0001750�00000000315�14647535025�014054� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *units clino percent 1 2 10.00 000 100 1 3 5.00 090 75 *UNITS CLINO 100 PERCENTAGE 1 4 13.00 180 -2.40 1 5 10.00 270 0 1 6 10.00 000 -1 *units clino degrees 1 7 10.00 090 45 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/calibrate_clino.svx�������������������������������������������������������������0000644�0001750�0001750�00000002054�14647535025�013653� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=16 *begin f *fix 1 0 0 0 1 2 10.00 000 00 1 u 10.00 090 +90 2 u 10.00 090 90 2 d 10.00 090 -90 ; these should warn 2 w 10.00 090 91 2 x 10.00 090 -91 2 y 10.00 090 181 2 z 10.00 090 366 *calibrate clino 90 1 2_ 10.00 000 90 1 u_ 10.00 090 +180 2 u_ 10.00 090 180 2 d_ 10.00 090 0 ; these should warn 2 w_ 10.00 090 181 2 x_ 10.00 090 -1 *calibrate clino 90 -1 1 2__ 10.00 000 90 1 u__ 10.00 090 0 2 u__ 10.00 090 0 2 d__ 10.00 090 180 ; these should warn 2 w__ 10.00 090 -1 2 x__ 10.00 090 181 *end f *begin b *data normal from to tape compass backclino *fix 1 0 0 0 1 2 10.00 000 00 1 u 10.00 090 -90 2 u 10.00 090 -90 2 d 10.00 090 +90 ; these should warn 2 w 10.00 090 -91 2 x 10.00 090 91 2 y 10.00 090 -181 2 z 10.00 090 -366 *calibrate backclino 90 1 2_ 10.00 000 90 1 u_ 10.00 090 0 2 u_ 10.00 090 0 2 d_ 10.00 090 180 ; these should warn 2 w_ 10.00 090 -1 2 x_ 10.00 090 181 *calibrate backclino 90 -1 1 2__ 10.00 000 90 1 u__ 10.00 090 180 2 u__ 10.00 090 180 2 d__ 10.00 090 0 ; these should warn 2 w__ 10.00 090 181 2 x__ 10.00 090 -1 *end b ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/pre1970.plt���������������������������������������������������������������������0000664�0001750�0001750�00000003516�14756727464�011650� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z -129.26 319.44 -94.30 439.00 -130.05 126.30 I 1357.3 SFAKE CAVE NZ+ D 12 30 1969 CFake Passage M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 0.0 D 128.2 -65.9 -86.8 SZ7 P 0.0 3.0 1.0 3.0 I 21.8 D 131.1 -65.4 -85.3 SZ8 P 3.5 2.0 5.0 1.0 I 45.5 D 138.2 -63.3 -82.5 SZ9 P 0.0 0.0 0.0 0.0 I 58.9 M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 72.8 D 118.8 -79.1 -92.5 SZ10 P 1.5 1.0 2.5 3.0 I 105.8 D 122.0 -75.8 -95.4 SZ11 P 2.5 0.5 2.5 1.5 I 126.8 D 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 I 105.8 D 134.4 -82.9 -101.9 SZ13 P 0.0 0.0 0.0 0.0 I 138.6 FS M 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 D 134.4 -82.9 -100.9 SZ14 I 138.6 FS M 129.8 -79.1 -101.7 SZ12 I 105.8 D 134.4 -82.9 -99.9 SZ15 P 0.5 4.0 0.5 1.5 FS M 129.8 -79.1 -101.7 SZ12 D 134.4 -82.9 -98.9 SZ16 FSL M 129.8 -79.1 -101.7 SZ12 P 0.5 0.5 0.5 1.5 D 124.8 -77.0 -99.0 SZ17 P 0.5 0.5 -1.0 900.1 X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 FFEATURE1 L 0.0 0.0 0.0 SA1 P -9.0 -9.0 -9.0 -9.0 L 8.6 17.2 -10.2 SA2 P -9.0 -9.0 -9.0 -9.0 L 30.5 23.3 -17.2 SA3 P -9.0 -9.0 -9.0 -9.0 L 37.5 12.4 -20.3 SA4 P -9.0 -9.0 -9.0 -9.0 X 0.00 37.50 0.00 23.30 -20.30 0.00 FFEATURE2 R 5.51234E2 8.12341E2 L 0.0 0.0 0.0 SA1 P -9.0 -9.0 -9.0 -9.0 V 5.51234E2 L 8.6 17.2 -10.2 SA2 P -9.0 -9.0 -9.0 -9.0 V 8.12341E2 L 30.5 23.3 -17.2 SA3 P -9.0 -9.0 -9.0 -9.0 V 7.82543E2 L 37.5 12.4 -20.3 SA4 P -9.0 -9.0 -9.0 -9.0 X 0.00 37.50 0.00 23.30 -20.30 0.00 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/legacytokens.svx����������������������������������������������������������������0000664�0001750�0001750�00000001050�14765125402�013221� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=2 warn=17 ; Test "No blank between token and number" warning, new in 1.4.11. *fix2 reference0 0 0 *data normal from to direction compass clino tape 0 1 F- DOWN1.00 1 2 F - D1.00 3 2 F - UP1.00 4 3 F - U1.00 5 4 F - +V1.00 5 6 F - -V1.00 6 7 F000 LEVEL1.00 7 8 F - D+1.00 *data normal from to tape clino compass 8 9 1.00 DOWN- 10 9 1.00 UP- *data normal clino from direction to tape compass DOWN11 F 10 1.00 - DOWN_12 F 11 1.00 - ; Check we report "corrections2" as the unknown command name. *corrections2 3.00 *declination auto0 0 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/repeatreading.svx���������������������������������������������������������������0000644�0001750�0001750�00000000300�14647535025�013343� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 error=0 ; Feature test for averaging of repeated readings *fix 1 0 0 0 *data normal from to tape compass clino 1 2 11.00 000 0 1 2 10.00 000 0 1 2 10.00 000 0 1 2 10.00 000 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extendx.3d����������������������������������������������������������������������0000644�0001750�0001750�00000000242�14525274540�011700� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v2 extend test Wed,2001.07.25 02:48:02 BST B1 ������������������������������B2 ������������������~B3 ������~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multicylpolar.svx���������������������������������������������������������������0000644�0001750�0001750�00000000307�14647535025�013440� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data cylpolar station depth newline tape compass 1 0.0 1.00 000 2 1.0 ; test 1.00 090 ; test 3 0.0 3 1.0 1.00 180 ; testing 4 1.0 ; testing 1.00 270 5 1.0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/Makefile.in���������������������������������������������������������������������0000664�0001750�0001750�00000111063�14766657026�012057� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2024 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)) am__rm_f = rm -f $(am__rm_f_notfound) am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/acinclude.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_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 = SOURCES = DIST_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) am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ $$am__collect_skipped_logs \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(IGNORE_SKIPPED_LOGS)'; then \ am__collect_skipped_logs='--collect-skipped-logs no'; \ else \ am__collect_skipped_logs=''; \ fi; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_CXXFLAGS = @AM_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVEN_COPYRIGHT_MSG = @AVEN_COPYRIGHT_MSG@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COMMAVERSION = @COMMAVERSION@ COPYRIGHT_MSG = @COPYRIGHT_MSG@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIR = @DATADIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_TEXT = @EXTRA_TEXT@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ GDAL_CFLAGS = @GDAL_CFLAGS@ GDAL_LIBS = @GDAL_LIBS@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ 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@ PKGDOCDIR = @PKGDOCDIR@ PKGDOCDIR_EXPANDED = @PKGDOCDIR_EXPANDED@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PRETTYPACKAGE = @PRETTYPACKAGE@ PROJ_CFLAGS = @PROJ_CFLAGS@ PROJ_LIBS = @PROJ_LIBS@ RELEASE = @RELEASE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SPHINX_BUILD = @SPHINX_BUILD@ STRIP = @STRIP@ VERSION = @VERSION@ WERROR = @WERROR@ WXCONFIG = @WXCONFIG@ WX_CFLAGS = @WX_CFLAGS@ WX_CONFIG = @WX_CONFIG@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ 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@ TESTS = smoke.tst diffpos.tst cavern.tst extend.tst 3dtopos.tst aven.tst imgtest.tst dump3d.tst EXTRA_DIST = compare.tst $(TESTS) beginroot.svx beginroot.out \ oneleg.svx oneleg.pos midpoint.svx midpoint.pos lollipop.svx \ lollipop.out lollipop.pos fixedlollipop.svx fixedlollipop.out \ fixedlollipop.pos cross.svx cross.pos deltastar.svx \ deltastar.pos deltastar2.svx deltastar2.pos \ deltastarhanging.svx deltastarhanging.out equate_bug.svx \ equate_bug.out firststn.svx firststn.pos break_replace_pfx.svx \ bug0.svx bug1.svx bug2.svx bug3.svx bug3.out bug3.pos bug4.svx \ bug5.svx expobug.svx nosurvey2.svx nosurvey2.pos nosurvey2.out \ cartesian.svx cartesian.pos cartesian.out cartesian2.svx \ cartesian2.pos cartesian2.out require.svx calibrate_tape.svx \ calibrate_tape.pos delatenda.pos delatendb.pos delatend.out \ addatenda.pos addatendb.pos addatend.out begin_no_end.svx \ end_no_begin.svx end_no_begin_nest.svx require_fail.out \ require_fail.svx extend.svx extendx.3d revcomplist.svx \ exporterr1.svx exporterr2.svx exporterr3.svx exporterr4.svx \ exporterr5.svx exporterr6.svx exporterr1b.svx exporterr1b.out \ exporterr2b.svx exporterr3b.svx exporterr6b.svx \ hanging_cpt.svx self_loop.svx self_eq_loop.svx badinc.out \ badinc.svx badinc2.out badinc2.svx badinc3.out badinc3.svx \ badinc4.out badinc4.svx badinc5.mak badinc5.out export.svx \ export2.svx singlefix.svx singlefix.out singlefix.pos \ singlereffix.svx singlereffix.pos singlefixerr.svx \ singlefixerr.pos singlereffixerr.svx singlereffixerr.pos \ includecomment.svx reenterwarn.svx reenterwarn.out \ angleunits.svx angleunits.pos lengthunits.svx lengthunits.out \ lengthunits.pos cmd_alias.svx cmd_alias.out cmd_alias.pos \ cmd_alias_bad.svx cmd_alias_bad.out cmd_copyright.svx \ cmd_copyright_bad.svx cmd_copyright_bad.out cmd_default.svx \ cmd_default_bad.svx cmd_default_bad.out cmd_prefix.svx \ cmd_truncate.svx cmd_truncate.pos cmd_truncate_bad.svx \ cmd_truncate_bad.out cmd_case.svx cmd_case.pos \ cmd_case_bad.svx cmd_case_bad.out cmd_cartesian.svx \ cmd_cartesian.dump cmd_cartesian.out cmd_cartesian_bad.svx \ cmd_cartesian_bad.out cmd_fix.svx cmd_fix.out cmd_fix.pos \ cmd_fix2.svx cmd_fix2.out cmd_ref.svx cmd_ref_bad.svx \ cmd_ref_bad.out cmd_solve.svx cmd_solve.out cmd_solve.pos \ cmd_entrance.svx stnsurvey1.svx stnsurvey2.svx \ tapelessthandepth.svx longname.svx chinabug.svx chinabug.out \ chinabug2.svx multinormal.svx multinormal.pos \ multinormignall.svx multinormignall.pos multidiving.svx \ multidiving.out multidiving.pos multicylpolar.svx \ multicylpolar.pos multicartesian.svx multicartesian.pos \ multicartesian.out multinosurv.svx multinosurv.dump \ multinosurv.out multinormalbad.svx multibug.svx cmd_team.svx \ cmd_team_bad.svx cmd_team_bad.out cmd_title.svx \ cmd_titlebad.svx cmd_dummy.svx cmd_infer.svx cmd_infer.pos \ cartes.svx cartes.pos cartes.out diving.svx diving.pos \ diving.out cylpolar.svx cylpolar.pos normal.svx normal.pos \ normal_bad.svx normal_bad.out normignall.svx normignall.pos \ nosurv.svx nosurv.pos nosurv.out quadrant_bearing.svx \ quadrant_bearing.pos bad_quadrant_bearing.svx \ bad_quadrant_bearing.out cmd_flags.svx bad_cmd_flags.svx \ bad_cmd_flags.out plumb.svx plumb.pos cmd_begin_bad.svx \ cmd_begin_bad.out cmd_equate_bad.svx cmd_equate_bad.out \ cmd_export_bad.svx cmd_export_bad.out cmd_fix_bad.svx \ cmd_fix_bad.out cmd_fix_bad2.svx cmd_fix_bad2.out cmd_sd.svx \ cmd_sd_bad.svx cmd_sd_bad.out cmd_set.svx cmd_set.pos \ cmd_set_bad.svx cmd_set_bad.out cmd_set_dot_in_name.svx \ cmd_set_dot_in_name.dump unusedstation.svx \ exportnakedbegin.svx oldestyle.svx pos.pos v0.3d v0b.3d v1.3d \ v2.3d v3.3d baddatacylpolar.svx baddatacylpolar.out \ baddatanosurv.svx baddatanosurv.out bugdz.svx bugdz.pos \ badnewline.svx badquantities.svx imgoffbyone.svx \ imgoffbyone.pos infereqtopofil.svx infereqtopofil.pos \ 3sdfixbug.svx 3sdfixbug.pos extend2names.svx extend2namesx.3d \ omitclino.svx omitclino.pos back.svx back.out back.pos \ back2.svx back2.out back2.pos bad_back.svx bad_back.out \ notentranceorexport.svx inferunknown.svx inferunknown.out \ inferexports.svx bad_units_factor.svx bad_units_factor.out \ bad_units_qlist.svx bad_units_qlist.out percent_gradient.svx \ percent_gradient.pos dotinsurvey.svx dotinsurvey.out \ 2fixbug.svx leandroclino.svx leandroclino.pos lowsd.svx \ revdir.svx revdir.pos gettokennullderef.svx lech.svx level.svx \ level.pos backread.dat backread.dump clptest.dat clptest.clp \ clptest.dump corrections.dat corrections.pos depthguage.dat \ depthguage.dump karstcompat.dat karstcompat.dump flags.dat \ flags.dump flags.out lrud.dat lrud.out lrud.pos nomeasure.dat \ nomeasure.out nomeasure.pos noteam.dat noteam.out noteam.pos \ badmak.mak badmak.out fixfeet.mak fixfeet.pos folder.mak \ subdir/cave1a.dat subdir/cave1b.dat subdir/subsubdir/cave2.dat \ utm.mak utm.out utm.dump walls.srv walls.out walls.dump \ wallsbaddatum.out wallsbaddatum.wpj wallsdecl.wpj \ wallsdecl.srv wallsdecl.out wallsdecl.dump badopts.srv \ badopts.out dot17.svx dot17.pos 3dcorner.svx 3dcorner.pos \ nosurveyhanging.svx nosurveyhanging.out nosurveyhanging2.svx \ nosurveyhanging2.dump nosurveyhanging2.out \ cmd_solve_hanging.svx passage.svx hanging_lrud.svx \ cmd_solve_nothing.svx cmd_solve_nothing_implicit.svx \ cmd_solve_nothing_implicit.out cmd_date.dump cmd_date.svx \ cmd_date.out cmd_datebad.svx cmd_datebad.out cmd_datebad2.svx \ cmd_datebad2.out cmd_calibrate.svx cmd_calibrate.out \ cmd_calibrate.pos cmd_declination.svx cmd_declination.out \ cmd_declination.pos cmd_declination_auto.svx \ cmd_declination_auto.out cmd_declination_auto.pos \ cmd_declination_auto_bad.svx cmd_declination_auto_bad.out \ cmd_declination_conv.out cmd_declination_conv.pos \ cmd_declination_conv.svx cmd_declination_conv_proj_bug.out \ cmd_declination_conv_proj_bug.pos \ cmd_declination_conv_proj_bug.svx unconnected-bug.svx \ unconnected-bug.out eswap.svx eswap.espec eswapx.3d \ eswap-break.svx eswap-break.espec eswap-breakx.3d \ equatenosuchstn.out equatenosuchstn.svx surveytypo.out \ surveytypo.svx skipafterbadomit.svx passagebad.svx \ badreadingdotplus.svx badreadingdotplus.out badcalibrate.svx \ badcalibrate.out calibrate_clino.svx calibrate_clino.out \ calibrate_clino.pos badunits.svx badunits.out badbegin.svx \ badbegin.out anonstn.svx anonstn.out anonstn.pos \ anonstnbad.svx anonstnbad.out anonstnrev.svx anonstnrev.out \ anonstnrev.pos cmd_entrance_bad.out cmd_entrance_bad.svx \ cmd_prefix.out cmd_prefix_bad.out cmd_prefix_bad.svx \ doubleinc.out doubleinc.svx reenterlots.out reenterlots.svx \ cs.out cs.pos cs.svx csbad.altout csbad.out csbad.svx \ csbadsdfix.altout csbadsdfix.out csbadsdfix.svx csfeet.out \ csfeet.pos csfeet.svx cslonglat.out cslonglat.svx \ omitfixaroundsolve.out omitfixaroundsolve.svx \ repeatreading.svx repeatreading.out repeatreading.pos \ mixedeols.out mixedeols.svx utf8bom.out utf8bom.svx \ nonewlineateof.out nonewlineateof.svx suspectreadings.out \ suspectreadings.svx cmd_data_default.svx cmd_data_ignore.out \ cmd_data_ignore.pos cmd_data_ignore.svx samename.svx \ tabinhighlight.out tabinhighlight.svx legacytokens.out \ legacytokens.svx component_count_bug.svx \ component_count_bug.out component_count_bug2.svx \ component_count_bug2.out 3dexport.dump 3dexport.svx \ dxffullcoords.dxf dxffullcoords.svx dxfsurfequate.svx \ dxfsurfequate.dxf gpxexport.gpx gpxexport.svx hpglexport.hpgl \ hpglexport.svx jsonexport.json jsonexport.svx kmlexport.kml \ kmlexport.svx pltexport.plt pltexport.svx svgexport.svg \ svgexport.svx imgtest_simple.svx imgtest_survey.svx \ cmapstn.adj cmapstn.dump cmap.sht cmap.dump dump3ddate.3d \ dump3ddate.dump extendsurveyx.3d extendsurveyx.dump filter.plt \ filter.dump separator.3d separator.dump multisection.plt \ multisection.dump multisurvey.plt multisurvey.dump pre1970.plt \ pre1970.dump all: all-am .SUFFIXES: .SUFFIXES: .log .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/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): tags TAGS: ctags CTAGS: cscope cscopelist: # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ output_system_information () \ { \ echo; \ { uname -a | $(AWK) '{ \ printf "System information (uname -a):"; \ for (i = 1; i < NF; ++i) \ { \ if (i != 2) \ printf " %s", $$i; \ } \ printf "\n"; \ }'; } 2>&1; \ if test -r /etc/os-release; then \ echo "Distribution information (/etc/os-release):"; \ sed 8q /etc/os-release; \ elif test -r /etc/issue; then \ echo "Distribution information (/etc/issue):"; \ cat /etc/issue; \ fi; \ }; \ please_report () \ { \ echo "Some test(s) failed. Please report this to $(PACKAGE_BUGREPORT),"; \ echo "together with the test-suite.log file (gzipped) and your system"; \ echo "information. Thanks."; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ output_system_information; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG) for debugging.$${std}";\ if test -n "$(PACKAGE_BUGREPORT)"; then \ please_report | sed -e "s/^/$${col}/" -e s/'$$'/"$${std}"/; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @$(am__rm_f) $(RECHECK_LOGS) @$(am__rm_f) $(RECHECK_LOGS:.log=.trs) @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @$(am__rm_f) $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? smoke.tst.log: smoke.tst @p='smoke.tst'; \ b='smoke.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) diffpos.tst.log: diffpos.tst @p='diffpos.tst'; \ b='diffpos.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) cavern.tst.log: cavern.tst @p='cavern.tst'; \ b='cavern.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) extend.tst.log: extend.tst @p='extend.tst'; \ b='extend.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) 3dtopos.tst.log: 3dtopos.tst @p='3dtopos.tst'; \ b='3dtopos.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) aven.tst.log: aven.tst @p='aven.tst'; \ b='aven.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) imgtest.tst.log: imgtest.tst @p='imgtest.tst'; \ b='imgtest.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) dump3d.tst.log: dump3d.tst @p='dump3d.tst'; \ b='dump3d.tst'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) 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-TESTS 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: -$(am__rm_f) $(TEST_LOGS) -$(am__rm_f) $(TEST_LOGS:.log=.trs) -$(am__rm_f) $(TEST_SUITE_LOG) clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ cscopelist-am ctags-am distclean distclean-generic distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am recheck tags-am uninstall uninstall-am .PRECIOUS: Makefile # 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: # Tell GNU make to disable its built-in pattern rules. %:: %,v %:: RCS/%,v %:: RCS/% %:: s.% %:: SCCS/s.% �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_data_ignore.out�������������������������������������������������������������0000664�0001750�0001750�00000001115�14765126030�013617� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 2.00m (from 3 at 2.00m to 1 at 0.00m) East-West range = 0.00m (from 3 at 0.00m to 3 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/walls.srv�����������������������������������������������������������������������0000664�0001750�0001750�00000006056�14756732050�011663� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=26 dummycrprotection= #u o=EUN v=g #Fix U0 0 1 0 #seg FOO #date 2024-03-09 walls appears to ignore anything here #Fix Q0 1 1 1 ; Mammoth reportedly uses "0 0 0" legs between fixed points so we mustn't ; use INFER_EQUATES. Q0 U0 0 0 0 (?) #segment /Q ; We treat (?) as a NOSURVEY leg. #UNITS CASE=U u0 u1 5.4 203d +45D #units v=d case=none ; undocumented but unknown "case=" values -> "mixed" #[ U1 X1 3 4 5 #[ X2 X3 7 24 25 X3 X4 9 14 15 #] #date 1970-01-01 X1 X2 5 12 13 <1,2,3,4> #] #s bar U1 *1,2,3,4* #s /foo #units feet decl=0.0 $foo_bar1="meters decl" #date 1972/02/29 #SEG /X :U1 U2 10.1m N79E/S79W -28/24 *15 25 4 3* #units $(foo_bar1)=-3 LRUD=F:UDLR #Date 8/04/1973 U2 U3 33i1.6 N82E/-- -26/--- *15 25 4 3* U3 <1 2 3 4> U3 U4 30.14f /N90E /02 *1 2 3 2* U4 U5 i11 -/N90E -/02 *1 2 3 2* ; odd apparently undocumented variants of a LRUD-only data line U5 ZZ9 <1 2 3 4> #seg /bar U5 U6 1 2/- 3/- #seg /S U6 ZZ8 *1 2 3 4* ; Regression test: `#` in a station name U5 12#4 24.7 123.5 0 <0,0,0,0> 12#4 &##:S1 12.3 345.6 78 <0,0,0,0> #segment S U3 - 1.0 --- +90 U3 -- 1.0 ---- -90 #segment / #units order=da U3 -- 7.8 098.7 #prefix test walls appears to ignore anything here #prefix #units typeab=n,4,X #units typeab=n,4,x #units typeab=n,10 #units typevb=c,6,X #units typevb=c,6,x #units typevb=c,1 #units inch=1 ; regression test ; Test no warning for values of unsupported options which are the default. #units inch=0 ; Walls seems to fail to check for junk after parsing a number in these cases: #units uv=4gradeb) inch=1 #units uvv=4gradeb inch=1 #units uvh=4gradeb inch=1 #units typeab=n,4Q),X inch=1 #units typevb=c,1.2Q inch=1 ; Test omission of clino on splays #units order=adv U5 - 123 1.00 #units order=dav U5 -- 1.00 123 ; Test explicit clino units (on plumb to check equivalent to 90°). U5 U9 1.00 -- 90d U9 U10 1.00 -- 100g U10 U11 1.00 -- 1600m #units $emptymacro;followed by a comment U11 EMPTY: 1.00 -- 90 #units order=ENU rect U0 U12a 30 40 50 #units rect=90 U0 U12b -40 30 50 #SEG S #units ct order=dav typevb=n U11 U12 1.00 000 -- -2.3 -- <3,0,3,1> U12 U13 1.00 000 00 -- 1 *1,2,3,4* ; Cases where Walls just ignores random extra junk U13 U14 1.00 000 00 1 0.5 <0,1,0,1>> U14 U15 0.5 354.4/174.5 -7.4/+7.4 *0.5 3 2.5 2*. U15 U16 1.5 45/224 +1/0 *15 0 3 1.5*3 U16 U17 0.7 87.9/267.9 48.9/-48.9 *2,1,5,*0.5* U17 <1,2,3,0> 'random comment here U17 U18 1.4 043/224 +5/-3.5 *0 9 4.5*6* U18 U19 1.6 200/19 -34/+33 *0 20 100 5*+ #seg /X U19 U20 1.2 0/180 -90/90 *20 5 0 3.2*K1 U20 U21 1.10 265/84 -5/5 *2 3 15 4*/ U21 U21a .2 353 0 *1 4 5 0*#S X ; Instrument/target heights in inches U21 U22 1i3 155 .25 0 -0i7 <2,0.1,5,4> U22 U23 5 90/270.5 -5 -0i4 <3,0,8,6> ; Missing closing LRUD delimiter gets quietly parsed as to station name by ; Walls. We issue a warning. U23 *8 5 15 3.58 U23 *8 2 3 4 ; Should not warn because `*8` is a known station now. U23 <8 5 15 3.58 #note *1 ; Suppress Survex warning U23 *1 2 3 4 ; Should not warn because `*1` is a known station. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dotinsurvey.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000451�14647535025�013133� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=2 ; In 1.0.9 this gave a bogus warning: ; cavern: warning: Station `106.top' referred to by *entrance or *export but never used *begin 106.top *fix 0 0 0 0 0 1 10.00 000 00 *end 106.top *begin 106 *fix 3 reference 3 3 3 *end 106 *begin 106.2 *fix 2 2 2 2 1 2 5.00 010 -01 *end 106.2 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbadsdfix.altout���������������������������������������������������������������0000664�0001750�0001750�00000004674�14756727464�013372� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./csbadsdfix.svx:2: error: Station "1" fixed before CS command first used ./csbadsdfix.svx:3:5: error: Unknown coordinate system *cs EPSG:-1 ^~~~~~~ ./csbadsdfix.svx:4:5: error: Unknown coordinate system *cs ERSI:1234 ^~~~~~~~~ ./csbadsdfix.svx:5:5: error: Unknown coordinate system *cs EUR79Z31 ^~~~~~~~ ./csbadsdfix.svx:6:11: error: End of line not blank *cs IJTSK 03 ^~ ./csbadsdfix.svx:7:5: error: Unknown coordinate system *cs IJTSK04 ^~~~~~~ ./csbadsdfix.svx:8:5: error: Unknown coordinate system *cs IJTSK99 ^~~~~~~ ./csbadsdfix.svx:9:5: error: Unknown coordinate system *cs IJTSK3 ^~~~~~ ./csbadsdfix.svx:10:5: error: Unknown coordinate system *cs IJTSK032 ^~~~~~~~ ./csbadsdfix.svx:11:5: error: Unknown coordinate system *cs IJTSK03a ^~~~~~~~ ./csbadsdfix.svx:12:5: error: Unknown coordinate system *cs lat-lat ^~~~~~~ ./csbadsdfix.svx:13:5: error: Unknown coordinate system *cs Long-LONG ^~~~~~~~~ ./csbadsdfix.svx:14:5: error: Unknown coordinate system *cs OSGB:ZZ ^~~~~~~ ./csbadsdfix.svx:15:5: error: Unknown coordinate system *cs OSGB:HI ^~~~~~~ ./csbadsdfix.svx:16:5: error: Unknown coordinate system *cs S-LONG ^~~~~~ ./csbadsdfix.svx:17:5: error: Unknown coordinate system *cs UTM0 ^~~~ ./csbadsdfix.svx:18:5: error: Unknown coordinate system *cs UTM61N ^~~~~~ ./csbadsdfix.svx:19:5: error: Unknown coordinate system *cs UTM61S ^~~~~~ ./csbadsdfix.svx:20:12: error: Invalid coordinate system: unknown projection id *cs custom "+proj=ection" ^~~~~~~~~~~~~~ ./csbadsdfix.svx:21:9: error: Unknown coordinate system *cs out lat-long ^~~~~~~~ ./csbadsdfix.svx:22:9: error: Coordinate system unsuitable for output *cs out long-lat ^~~~~~~~ ./csbadsdfix.svx:23:9: error: Coordinate system unsuitable for output *cs out jtsk ^~~~ ./csbadsdfix.svx:24:9: error: Coordinate system unsuitable for output *cs out jtsk03 ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m 1 0-node. There were 0 warning(s) and 23 error(s) - no output files produced. ��������������������������������������������������������������������survex-1.4.17/tests/nosurvey2.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000114�14647535025�012510� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 1 2 1.00 000 00 2 3 1.00 090 00 *data nosurvey from to 3 1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/addatenda.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000000�11701006570�012376� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/back2.out�����������������������������������������������������������������������0000664�0001750�0001750�00000002660�14765126030�011510� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./back2.svx:4:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 2a 10.00 001.5 178.5 01 01 ^~~~~ ./back2.svx:5:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 2b 10.00 358.5 181.5 01 01 ^~~~~ ./back2.svx:15:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 3a 10.00 001.5 188.5 01 01 ^~~~~ ./back2.svx:16:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 3b 10.00 358.5 191.5 01 01 ^~~~~ ./back2.svx:21:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 4a 10.00 011.5 178.5 01 01 ^~~~~ ./back2.svx:22:18: warning: COMPASS reading and BACKCOMPASS reading disagree by 3dg 1 4b 10.00 008.5 181.5 01 01 ^~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 12 survey stations, joined by 11 legs. There are 0 loops. Total length of survey legs = 139.00m ( 139.00m adjusted) Total plan length of survey legs = 115.00m Total vertical length of survey legs = 36.00m Vertical range = 36.00m (from max at 36.00m to 4b at 0.00m) North-South range = 12.00m (from max at 12.00m to 1 at 0.00m) East-West range = 9.00m (from max at 9.00m to 3b at -0.00m) There were 6 warning(s). ��������������������������������������������������������������������������������survex-1.4.17/tests/3dexport.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000520�14756732050�012305� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=3d survexportopt=--surface-legs survexportopt=--splays warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 *entrance bh bh 1 100 090 -5 1 2 100 180 -5 *begin *flags surface 2 3 100 270 -5 2 . 90 180 -5 3 .. 90 180 -5 *end 2 5 100 090 -5 *begin *flags splay 5 6 90 180 -5 *end *flags duplicate 5 6a 89 180 -5 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lengthunits.out�����������������������������������������������������������������0000664�0001750�0001750�00000001121�14765126030�013061� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 4 legs. There are 0 loops. Total length of survey legs = 105.62' ( 105.62' adjusted) Total plan length of survey legs = 105.62' Total vertical length of survey legs = 0.00' Vertical range = 0.00' (from 5 at 0.00' to 5 at 0.00') North-South range = 105.62' (from 5 at 105.62' to 1 at 0.00') East-West range = 0.00' (from 5 at 0.00' to 5 at 0.00') �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_equate_bad.out��������������������������������������������������������������0000664�0001750�0001750�00000001554�14765126030�013444� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_equate_bad.svx:5:11: error: Character "=" not allowed in station name (use *SET NAMES to set allowed characters) *equate 1 = ^ ./cmd_equate_bad.svx:6:13: error: Character "=" not allowed in station name (use *SET NAMES to set allowed characters) *equate 1 2 = ^ ./cmd_equate_bad.svx:9:9: error: Only one station in EQUATE command *equate foo ^~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 3 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 3 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/equatenosuchstn.out�������������������������������������������������������������0000664�0001750�0001750�00000001656�14765126030�013763� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 10.00m ( 10.00m adjusted) Total plan length of survey legs = 9.85m Total vertical length of survey legs = 1.74m Vertical range = 1.74m (from entrance.1 at 0.00m to entrance.2 at -1.74m) North-South range = 1.71m (from entrance.1 at 0.00m to entrance.2 at -1.71m) East-West range = 9.70m (from entrance.2 at 9.70m to entrance.1 at 0.00m) ./equatenosuchstn.svx:8: error: Reference to station "nosuchsurvey.1" from non-existent survey "nosuchsurvey" ./equatenosuchstn.svx:8: warning: Station "nosuchsurvey.1" referred to just once, with an explicit survey name - typo? There were 1 warning(s) and 1 error(s) - no output files produced. ����������������������������������������������������������������������������������survex-1.4.17/tests/passagebad.svx������������������������������������������������������������������0000644�0001750�0001750�00000000526�14647535025�012635� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=3 *fix 1 0 0 0 *data normal from to tape compass clino 1 2 10. 123 -12 2 3 8.76 234 +23 *data passage station left right up down 1 1 .3 2. 0.9 ; In 1.2.6 and earlier, this gave two errors: ; passagebad.svx:11: Expecting numeric field, found “lots” ; passagebad.svx:11: End of line not blank 2 lots loads ? 1.0 3 - 2 3 4 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv_proj_bug.pos�����������������������������������������������0000664�0001750�0001750�00000000152�14756727464�016564� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) (562696.24, 6000557.63, 225.00 ) 1 (562694.37, 6000582.56, 225.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/aven.tst������������������������������������������������������������������������0000775�0001750�0001750�00000005120�14756727464�011501� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - aven tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi test -x "$testdir"/../src/cavern || testdir=. : ${AVEN="$testdir"/../src/aven} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" AVEN="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $AVEN" fi # This next testcase seems to hang on macos and mingw in CI so skip it. # FIXME: Ideally this should work, and it doesn't seem very different to the # next testcase which works. case `uname -s` in Darwin) ;; MINGW*) ;; *) # Regression test - aven in 1.2.6 segfaulted. echo "SURVEXLANG=nosuch aven --help" if test -n "$VERBOSE"; then DISPLAY= SURVEXLANG=nosuch $AVEN --help exitcode=$? else DISPLAY= SURVEXLANG=nosuch $AVEN --help > /dev/null 2>&1 exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 1 ] || exit 1 ;; esac # Regression test - aven in 1.2.6 segfaulted. echo "SURVEXLANG= LANG=nosuch aven --help" if test -n "$VERBOSE"; then DISPLAY= SURVEXLANG= LANG=nosuch $AVEN --help exitcode=$? else DISPLAY= SURVEXLANG= LANG=nosuch $AVEN --help > /dev/null 2>&1 exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 test -n "$VERBOSE" && echo "Test passed" exit 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv.svx��������������������������������������������������������0000644�0001750�0001750�00000000443�14647535025�014702� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; Adapted from example posted by Mateusz Golicz to the mailing list *begin test *date 2015.08.01 *cs UTM33N *cs out UTM33N *fix 0 328000 5260000 2500 *declination auto 328000 5260000 2500 *data normal from to tape compass clino 0 1 1000 356.9275 0 *end test �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastar.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000340�14647535025�012520� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 0 0 0 0 0 C 1 000 0 0 B 1 120 0 0 A 1 240 0 C B 1.73205080 150 0 B A 1.73205080 270 0 A C 1.73205080 030 0 ;A Z 1 180 0 ;B Z 1 300 0 ;C Z 1 060 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_titlebad.svx����������������������������������������������������������������0000644�0001750�0001750�00000000445�14647535025�013156� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=4 ; test that some mistakes are caught *title unquoted multiword *begin survey *title "missing quote *fix 1 0 0 0 1 2 1 0 0 *end survey *begin survey2 *title *fix a 0 0 0 a b 1 0 0 *end survey2 *begin survey3 *title ;used_to_eat_comments *fix z 0 0 0 z x 1 0 0 *end survey3 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/midpoint.pos��������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012337� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 4.00, 0.00, 0.00 ) 2 ( 2.00, 0.00, 0.00 ) a ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/utm.out�������������������������������������������������������������������������0000664�0001750�0001750�00000001765�14765126030�011340� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������In file included from ./utm.mak:6: ./backread.dat:22: warning: No survey date specified - using 0 for magnetic declination C1 B1 3.281 90 1 1 1 1 1 270 -1 ./utm.mak:2: info: Declination: 22.1dg @ 1986-10-13 / 22.4dg @ 1999-12-01, grid convergence: -6.4dg @1314000.0,5428000.0,50.0,-60,0.0; Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -6.4dg at B2 to -6.4dg at C1 Survey contains 6 survey stations, joined by 5 legs. There are 0 loops. Total length of survey legs = 5.39m ( 5.39m adjusted) Total plan length of survey legs = 5.29m Total vertical length of survey legs = 0.56m Vertical range = 0.52m (from D1 at 30.52m to C2 at 30.00m) North-South range = 2.71m (from D1 at 5427954.78m to B2 at 5427952.08m) East-West range = 1.54m (from D1 at 1313801.45m to C1 at 1313799.91m) There were 1 warning(s). �����������survex-1.4.17/tests/beginroot.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000260�14647535025�012526� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no ; *prefix \ or *begin \ would cause 0.96 to dump core ; though oddly it works for me with 0.96 when run from the test script... *prefix \ *begin \ *fix 1 0 0 0 *end \ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nonewlineateof.out��������������������������������������������������������������0000664�0001750�0001750�00000000643�14765126030�013542� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ���������������������������������������������������������������������������������������������survex-1.4.17/tests/fixfeet.mak���������������������������������������������������������������������0000664�0001750�0001750�00000000154�14756727464�012137� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/ pos=yes warn=0 / #backread.dat, C1 [m,10.23,20.47,1234.56]; #noteam.dat, GX1 [f -100.00 -200.00 3600.00]; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_title.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000460�14647535025�012504� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; test that we can at least specify a title *title cave *begin survey *title "multi word title" *fix 1 0 0 0 1 2 1 0 0 *end survey *begin survey2 ; empty title *title "" *fix a 0 0 0 a b 1 0 0 *end survey2 *begin survey3 *title used; to eat comments *fix z 0 0 0 z x 1 0 0 *end survey3 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsdecl.srv�������������������������������������������������������������������0000664�0001750�0001750�00000000110�14756732050�012474� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#FIX 0 410000 580000 1000 #UNITS DECL=0 #DATE 1990-09-09 0 1 100 000 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cslonglat.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000525�14756727464�012545� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; Initial *cs support failed to convert latitude and longitude to radians, ; which PROJ requires, so coordinate systems using them didn't work until ; Survex 1.2.21. This is a regression test for that bug. *cs out UTM33 *cs LONG-LAT *fix 1 reference 13.5 47.5 1623 *cs out UTM60S *fix 2 reference +70.738907 +39.993570 1100 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug0.svx������������������������������������������������������������������������0000664�0001750�0001750�00000000673�14756732050�011403� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= *FIX A00 0 0 0 A01 A02 1 2 3 *equate A03 A01 A01 A04 1 2 3 A04 A02 1 2 3 A02 A00 1 2 3 A00 A01 1 2 3 *equate A05 A00 A07 A05 1 2 3 A02 A08 1 2 3 A08 A09 1 2 3 A01 A08 1 2 3 *equate A04 A09 *equate A10 A09 A10 A11 1 2 3 A11 A10 1 2 3 *equate A07 A04 A07 A12 1 2 3 A12 A14 1 2 3 A14 A12 1 2 3 *equate A15 A14 A15 A06 1 2 3 A14 A13 1 2 3 *equate A06 A14 *equate A13 A06 A13 A14 1 2 3 ���������������������������������������������������������������������survex-1.4.17/tests/bug1.svx������������������������������������������������������������������������0000664�0001750�0001750�00000000250�14756732050�011373� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= A B 1 0 0 C D 1 0 0 C A 1 0 0 C E 1 0 0 E D 1 0 0 E A 1 0 0 D F 1 0 0 F G 1 0 0 F H 1 0 0 H I 1 0 0 I H 1 0 0 H F 1 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinormal.pos�����������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�013055� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/pltexport.plt�������������������������������������������������������������������0000664�0001750�0001750�00000001706�14756732050�012564� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z 17807624.344 17808245.341 1029527.264 1030180.938 -13.091 98.425 NX D 1 1 1 Cpltexport M 17808245.341 1029527.264 98.425 Sbh P -9 -9 -9 -9 D 17808245.341 1029854.101 69.816 S1 P -9 -9 -9 -9 D 17807918.504 1029854.101 41.240 S2 P -9 -9 -9 -9 M 17807918.504 1029854.101 41.240 S2 P -9 -9 -9 -9 D 17807918.504 1030180.938 12.631 S5 P -9 -9 -9 -9 M 17807918.504 1029854.101 41.240 S2 P -9 -9 -9 -9 D 17807918.504 1029527.264 12.631 S3 P -9 -9 -9 -9 FP M 17807918.504 1030180.938 12.631 S5 P -9 -9 -9 -9 D 17807627.625 1030180.938 -12.795 S6a P -9 -9 -9 -9 FL M 17807918.504 1030180.938 12.631 S5 P -9 -9 -9 -9 D 17807624.344 1030180.938 -13.091 S6 P -9 -9 -9 -9 FS M 17807918.504 1029854.101 41.240 S2 P -9 -9 -9 -9 D 17807624.344 1029854.101 15.486 S%:1 P -9 -9 -9 -9 FPS M 17807918.504 1029527.264 12.631 S3 P -9 -9 -9 -9 D 17807624.344 1029527.264 -13.091 S%:2 P -9 -9 -9 -9 FPS X 17807624.344 17808245.341 1029527.264 1030180.938 -13.091 98.425 ����������������������������������������������������������survex-1.4.17/tests/cmapstn.dump��������������������������������������������������������������������0000664�0001750�0001750�00000003200�14756727464�012342� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "cmapstn" DATE "93/07/24 10:04" DATE_NUMERIC 743508240 VERSION -3 SEPARATOR ' ' -- NODE 0.00 0.00 0.00 [PC40] UNDERGROUND NODE 0.98 -4.02 0.61 [PF1] UNDERGROUND NODE 3.57 -6.83 0.06 [PF2] UNDERGROUND NODE 2.83 -8.93 -0.98 [PF3] UNDERGROUND NODE 9.14 -4.91 2.01 [PC43] UNDERGROUND NODE 7.41 -3.78 3.02 [PC42] UNDERGROUND NODE 4.94 -1.46 3.05 [PC41] UNDERGROUND NODE -5.43 -10.97 -3.84 [PF4] UNDERGROUND NODE -9.75 -18.32 -6.77 [PF6] UNDERGROUND NODE -2.01 -16.64 -5.70 [PF5] UNDERGROUND NODE -2.04 -22.19 -7.35 [PF10] UNDERGROUND NODE 1.10 -26.12 -6.68 [PF9] UNDERGROUND NODE 11.95 -24.66 -5.43 [PF8A] UNDERGROUND NODE 11.22 -24.60 -5.30 [PF8] UNDERGROUND NODE 3.08 -14.02 -2.96 [PF7] UNDERGROUND NODE 20.48 -24.51 -5.33 [PC92] UNDERGROUND NODE 26.21 -18.26 -5.67 [PF11] UNDERGROUND NODE 29.72 -8.17 -5.97 [PF12] UNDERGROUND NODE 28.32 -8.05 -7.28 [PC90] UNDERGROUND NODE 27.71 -15.39 -5.79 [PC91] UNDERGROUND NODE 31.67 1.83 -6.31 [PF14] UNDERGROUND NODE 30.27 -12.41 -4.15 [PF15] UNDERGROUND NODE 25.94 -0.85 -2.38 [PF16] UNDERGROUND NODE 25.51 4.57 2.16 [PF17] UNDERGROUND NODE 25.88 7.44 1.37 [PC49] UNDERGROUND NODE 22.95 1.04 2.13 [PC48] UNDERGROUND NODE 21.21 -0.52 2.53 [PC47] UNDERGROUND NODE 17.37 -3.44 0.70 [PC46] UNDERGROUND NODE 13.47 -4.11 2.23 [PC45] UNDERGROUND NODE 11.13 -5.27 1.71 [PC44] UNDERGROUND NODE 22.37 -4.54 -0.98 [PF18] UNDERGROUND NODE 12.01 -7.47 -1.31 [PF19] UNDERGROUND NODE 5.79 -11.00 -2.50 [PF20] UNDERGROUND NODE 28.86 1.43 -3.14 [PF26] UNDERGROUND NODE 29.54 3.75 -3.51 [PF27] UNDERGROUND NODE 29.66 10.67 -3.75 [PF28] UNDERGROUND NODE 33.35 16.34 -3.63 [PF29] UNDERGROUND NODE 33.28 11.86 -5.06 [PF30] UNDERGROUND STOP ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_prefix_bad.out��������������������������������������������������������������0000664�0001750�0001750�00000001503�14765126030�013447� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_prefix_bad.svx:3:2: warning: *prefix is deprecated - use *begin and *end instead *prefix ^~~~~~ ./cmd_prefix_bad.svx:3:8: error: Expecting survey name *prefix ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2 at 0.00m to 2 at 0.00m) North-South range = 1.00m (from 2 at 1.00m to 1 at 0.00m) East-West range = 0.00m (from 2 at 0.00m to 2 at 0.00m) There were 1 warning(s) and 1 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set_bad.out�����������������������������������������������������������������0000664�0001750�0001750�00000003325�14765126030�012751� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_set_bad.svx:5:7: error: Expecting numeric field, found " reference" *fix^1 reference^0^0^0 ; error ^~~~~~~~~~ ./cmd_set_bad.svx:11:1: error: End of line not blank ; comment ; error ^~~~~~~~~~~~~~~~~ ./cmd_set_bad.svx:13:1: error: End of line not blank *end ; error ^~~~~~~~~~~~ ./cmd_set_bad.svx:20:21: error: Expecting numeric field, found ".0" *fix+(2)+reference+1.0+2/0+3 ; error ^~ ./cmd_set_bad.svx:22:18: error: Expecting numeric field, found "+1.0" *fix&3&reference&+1.0&2&3 ; error ^~~~ ./cmd_set_bad.svx:28:12: error: Character "." not allowed in station name (use *SET NAMES to set allowed characters) *equate foo.1 1 ; error ^ ./cmd_set_bad.svx:31:9: error: Expecting numeric field, found "-" 1 2 100 - down ; error ^ ./cmd_set_bad.svx:34:6: error: Unknown character class "FormFeed" *set FormFeed = ; error ^~~~~~~~ ./cmd_set_bad.svx:35:6: warning: ROOT is deprecated *set ROOT $ ^~~~ ./cmd_set_bad.svx:36:6: error: Unknown character class "names1" *set names1 ^~~~~~ ./cmd_set_bad.svx:37:6: error: Unknown character class "names2" *set names2 _- ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ./cmd_set_bad.svx:30: warning: Station "bar.1" referred to by *export but never used There were 2 warning(s) and 10 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve_nothing_implicit.out��������������������������������������������������0000664�0001750�0001750�00000001131�14765126030�016111� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.23m ( 1.23m adjusted) Total plan length of survey legs = 1.20m Total vertical length of survey legs = 0.26m Vertical range = 0.26m (from a.2 at 0.26m to a.1 at 0.00m) North-South range = 0.66m (from a.1 at 0.00m to a.2 at -0.66m) East-West range = 1.01m (from a.2 at 1.01m to a.1 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/filter.plt����������������������������������������������������������������������0000664�0001750�0001750�00000002026�14765125402�012001� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z -129.26 319.44 -94.30 439.00 -130.05 126.30 I 1357.3 SFAKE CAVE NZ+ D 1 1 1901 CFake Passage M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 0.0 D 128.2 -65.9 -86.8 SZ7 P 0.0 3.0 1.0 3.0 I 21.8 D 131.1 -65.4 -85.3 SZ8 P 3.5 2.0 5.0 1.0 I 45.5 D 138.2 -63.3 -82.5 SZ9 P 0.0 0.0 0.0 0.0 I 58.9 X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 SFAKE CAVE NZ* D 12 31 1999 CFake Passage 2 M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 72.8 D 118.8 -79.1 -92.5 SZ10 P 1.5 1.0 2.5 3.0 I 105.8 D 122.0 -75.8 -95.4 SZ11 P 2.5 0.5 2.5 1.5 I 126.8 D 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 I 105.8 D 134.4 -82.9 -101.9 SZ13 P 0.0 0.0 0.0 0.0 I 138.6 FS M 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 D 134.4 -82.9 -100.9 SZ14 I 138.6 FS X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsdecl.dump������������������������������������������������������������������0000664�0001750�0001750�00000000430�14756732050�012634� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "wallsdecl" DATE "?" DATE_NUMERIC -1 CS EPSG:26916 VERSION 8 SEPARATOR '.' -- LEG 410000.00 580000.00 1000.00 409995.90 580099.92 1000.00 [] STYLE=NORMAL 1990.09.09 NODE 409995.90 580099.92 1000.00 [1] UNDERGROUND NODE 410000.00 580000.00 1000.00 [0] UNDERGROUND FIXED STOP ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_data_ignore.pos�������������������������������������������������������������0000664�0001750�0001750�00000000206�14765125402�013613� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, -0.00 ) 2 ( 0.00, 2.00, -0.00 ) 3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinormal.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000265�14647535025�013106� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data normal station newline tape compass clino 1 1.00 000 0 2 ; test 1.00 090 0 ; test 3 3 1.00 180 0 ; testing 4 ; testing 1.00 270 0 5 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/pos.pos�������������������������������������������������������������������������0000644�0001750�0001750�00000030040�14525274540�011314� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( -2.59, 9.65, -0.35 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.1 ( -2.59, 10.65, -0.35 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.2 ( -2.59, 11.65, -0.35 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.2_9 ( -2.59, 29.65, 0.00 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.2_9a ( -2.59, 12.65, -0.35 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.2_10 ( -2.41, 10.64, -0.35 ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.2_a ( 0.00, 0.00, 0.00 ) 1 ( -2.59, 9.65, -0.35 ) 2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlefix.out�������������������������������������������������������������������0000664�0001750�0001750�00000000760�14765126030�012515� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./singlefix.svx:2: warning: Unused fixed point "1" Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s). ����������������survex-1.4.17/tests/cmd_prefix_bad.svx��������������������������������������������������������������0000644�0001750�0001750�00000000125�14647535025�013464� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=1 ; this should give an error *prefix *fix 1 0 0 0 1 2 1 0 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/self_eq_loop.svx����������������������������������������������������������������0000644�0001750�0001750�00000000065�14647535025�013210� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *fix 1 0 0 0 1 2 1 0 0 *equate 2 2 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badcalibrate.out����������������������������������������������������������������0000664�0001750�0001750�00000001676�14765126030�013131� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badcalibrate.svx:4:24: error: Scale factor must be non-zero *calibrate compass 1.0 000 ^~~ ./badcalibrate.svx:5:33: error: Scale factor must be non-zero *calibrate clino backclino -0.5 0.0 ^~~ ./badcalibrate.svx:6:19: error: Scale factor must be non-zero *calibrate tape 0 0 ^ ./badcalibrate.svx:8: error: Can't calibrate angular and length quantities together *calibrate tape compass 1 1 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 4 error(s) - no output files produced. ������������������������������������������������������������������survex-1.4.17/tests/corrections.dat�����������������������������������������������������������������0000664�0001750�0001750�00000000422�14756727464�013035� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: C SURVEY DATE: 10 13 1986 COMMENT:Test DECLINATION and CORRECTIONS SURVEY TEAM: Them DECLINATION: 40 FORMAT: DDDDLRUDLAD CORRECTIONS: 5.00 3.00 1.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C1 C2 2.281 045 -3 1 1 1 1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/expobug.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000316�14647535025�012211� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; bug discovered on CUCC 2000 expo ; A would incorrectly get added to XYZ component list *fix B 1 1 1 B C 1 0 0 B C 1 0 0 *fix X 2 2 2 X Y 1 0 0 Y Z 1 0 0 Y Z 1 0 0 *fix A 0 0 0 A C 1 0 0 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/omitfixaroundsolve.out����������������������������������������������������������0000664�0001750�0001750�00000001766�14765126030�014475� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./omitfixaroundsolve.svx:4:7: info: FIX command with no coordinates - fixing at (0,0,0) *fix a ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./omitfixaroundsolve.svx:4: error: Already had FIX command with no coordinates for station "a" Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 2 legs. Total length of survey legs = 135.00m ( 135.00m adjusted) Total plan length of survey legs = 134.72m Total vertical length of survey legs = 4.64m Vertical range = 4.64m (from 0 at 2.49m to 1 at -2.15m) North-South range = 121.11m (from 1 at 121.11m to a at 0.00m) East-West range = 21.36m (from 1 at 21.36m to a at 0.00m) There were 0 warning(s) and 1 error(s) - no output files produced. ����������survex-1.4.17/tests/singlereffix.svx����������������������������������������������������������������0000644�0001750�0001750�00000000050�14647535025�013220� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 reference 0 0 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/angleunits.pos������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�012663� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 10.00, -0.00, 0.00 ) 2 ( 10.00, -10.00, 0.00 ) 3 ( 20.00, -10.00, 0.00 ) 4 ( 20.00, -20.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/end_no_begin.svx����������������������������������������������������������������0000644�0001750�0001750�00000000051�14647535025�013142� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 1 2 0 0 0 *end ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_entrance_bad.svx������������������������������������������������������������0000664�0001750�0001750�00000000204�14756727464�014001� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=1 *fix 1 1 0 0 *entrance *entrance 2 *entrance 1 ; should suppress "Unused fixed point" warning since 1.4.9 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/wallsbaddatum.out���������������������������������������������������������������0000664�0001750�0001750�00000002233�14765126030�013346� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./wallsbaddatum.wpj:6:71: error: Datum "Camp Area Astro" not supported .REF 4113846.340 580661.570 16 0.549 219 6 37 10 3.195 86 5 29.254 19 "Camp Area Astro" ^~~~~~~~~~~~~~~~~ ./wallsbaddatum.wpj:6: info: Declination: -1.8dg @ 1990-09-09, grid convergence: 0.5dg .REF 4113846.340 580661.570 16 0.549 219 6 37 10 3.195 86 5 29.254 19 "Camp Area Astro" Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -0.1dg at 1 to -0.1dg at 0 Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 100.00m ( 100.00m adjusted) Total plan length of survey legs = 100.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1 at 1000.00m to 1 at 1000.00m) North-South range = 99.92m (from 1 at 580099.92m to 0 at 580000.00m) East-West range = 4.10m (from 0 at 410000.00m to 1 at 409995.90m) There were 0 warning(s) and 1 error(s) - no output files produced. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/calibrate_clino.out�������������������������������������������������������������0000664�0001750�0001750�00000005071�14765126030�013637� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./calibrate_clino.svx:9:15: warning: Clino reading over 90dg (absolute value) 2 w 10.00 090 91 ^~ ./calibrate_clino.svx:10:15: warning: Clino reading over 90dg (absolute value) 2 x 10.00 090 -91 ^~~ ./calibrate_clino.svx:11:15: warning: Clino reading over 90dg (absolute value) 2 y 10.00 090 181 ^~~ ./calibrate_clino.svx:12:15: warning: Clino reading over 90dg (absolute value) 2 z 10.00 090 366 ^~~ ./calibrate_clino.svx:19:16: warning: Clino reading over 90dg (absolute value) 2 w_ 10.00 090 181 ^~~ ./calibrate_clino.svx:20:16: warning: Clino reading over 90dg (absolute value) 2 x_ 10.00 090 -1 ^~ ./calibrate_clino.svx:27:17: warning: Clino reading over 90dg (absolute value) 2 w__ 10.00 090 -1 ^~ ./calibrate_clino.svx:28:17: warning: Clino reading over 90dg (absolute value) 2 x__ 10.00 090 181 ^~~ ./calibrate_clino.svx:38:15: warning: Clino reading over 90dg (absolute value) 2 w 10.00 090 -91 ^~~ ./calibrate_clino.svx:39:15: warning: Clino reading over 90dg (absolute value) 2 x 10.00 090 91 ^~ ./calibrate_clino.svx:40:15: warning: Clino reading over 90dg (absolute value) 2 y 10.00 090 -181 ^~~~ ./calibrate_clino.svx:41:15: warning: Clino reading over 90dg (absolute value) 2 z 10.00 090 -366 ^~~~ ./calibrate_clino.svx:48:16: warning: Clino reading over 90dg (absolute value) 2 w_ 10.00 090 -1 ^~ ./calibrate_clino.svx:49:16: warning: Clino reading over 90dg (absolute value) 2 x_ 10.00 090 181 ^~~ ./calibrate_clino.svx:56:17: warning: Clino reading over 90dg (absolute value) 2 w__ 10.00 090 181 ^~~ ./calibrate_clino.svx:57:17: warning: Clino reading over 90dg (absolute value) 2 x__ 10.00 090 -1 ^~ Removing trailing traverses... Concatenating traverses... Simplifying network... Solving one equation... Solving one equation... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 36 survey stations, joined by 40 legs. There are 6 loops. Survey has 2 connected components. Total length of survey legs = 400.00m ( 383.16m adjusted) Total plan length of survey legs = 101.98m Total vertical length of survey legs = 302.42m Vertical range = 20.00m (from b.u__ at 10.00m to b.d__ at -10.00m) North-South range = 10.00m (from b.2__ at 10.00m to f.1 at 0.00m) East-West range = 19.94m (from b.z at 9.95m to b.y at -10.00m) There were 16 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/leandroclino.svx����������������������������������������������������������������0000644�0001750�0001750�00000000141�14647535025�013205� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data normal station newline tape compass clino 1 2.00 000 +30 2 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve_nothing.svx�����������������������������������������������������������0000644�0001750�0001750�00000000217�14647535025�014241� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; Regression test *fix A.1 0 0 0 *begin A 1 2 1.23 123 12 *end A *solve *solve *begin B 1 2 2.34 234 23 *end B *equate A.1 B.1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extend2namesx.3d����������������������������������������������������������������0000644�0001750�0001750�00000000303�14525274540�013004� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v3 extend2names (extended) Thu,2002.03.21 18:14:28 GMT B1��������������������������������B2�������Ba��������������������}B3������}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstnbad.out������������������������������������������������������������������0000664�0001750�0001750�00000002361�14765126030�012653� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./anonstnbad.svx:2:6: error: Character "." not allowed in station name (use *SET NAMES to set allowed characters) *fix . 1 2 3 ^ ./anonstnbad.svx:3:6: error: Character "." not allowed in station name (use *SET NAMES to set allowed characters) *fix .. 2 3 4 ^ ./anonstnbad.svx:4:6: error: Character "." not allowed in station name (use *SET NAMES to set allowed characters) *fix ... 3 4 5 ^ ./anonstnbad.svx:6:3: error: Can't have a leg between two anonymous stations . ... 10.00 123 -01 ^~~ ./anonstnbad.svx:7:5: error: Can't have a leg between two anonymous stations ... .. 0.91 359 +67 ^~ ./anonstnbad.svx:8:4: error: Can't have a leg between two anonymous stations .. . 1.23 321 -21 ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... ./anonstnbad.svx:5: warning: Unused fixed point "1" Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s) and 6 error(s) - no output files produced. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/separator.3d��������������������������������������������������������������������0000664�0001750�0001750�00000000312�14765125402�012217� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v8 separator��/ @1728338241 ��������������@foo/bar����������`��������@uother �������/2 �������1��������yfoo/bar/3��������2����������1�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix_bad.svx�����������������������������������������������������������������0000664�0001750�0001750�00000003150�14765126030�012751� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=44 *fix A 0 *fix B 0 0 *fix C 0 0 0 1.0 2.0 3.0 3.14 *fix D 0 0 0 1.0 2.0 3.0 3.14 2.18 *fix E test *fix Ar reference 0 *fix Br reference 0 0 *fix Cr reference 0 0 0 1.0 2.0 3.0 3.14 *fix Dr reference 0 0 0 1.0 2.0 3.0 3.14 2.18 *fix Er reference test *fix W1 reference 123 456 789 0 *fix W2 reference 123 456 789 0 0 *fix W3 reference 123 456 789 0 0 0 *fix W1m reference 123 456 789 -1 *fix W2m reference 123 456 789 -1 -1 *fix W3m reference 123 456 789 -1 -1 -1 *fix W1o reference 123 456 789 -1 0 *fix W2o reference 123 456 789 0 -1 *fix W3o reference 123 456 789 0 -1 -1 *fix W4o reference 123 456 789 -1 0 -1 *fix W5o reference 123 456 789 -1 -1 0 *fix W6o reference 123 456 789 0 0 -1 *fix W7o reference 123 456 789 0 -1 0 *fix W8o reference 123 456 789 -1 0 0 *fix X1 reference 123 456 789 0 0.1 *fix X2 reference 123 456 789 0.1 0 *fix X1m reference 123 456 789 -0.1 0.1 *fix X2m reference 123 456 789 0.1 -0.1 *fix Y1 reference 123 456 789 0 0.1 0.1 *fix Y2 reference 123 456 789 0.1 0 0.1 *fix Y3 reference 123 456 789 0.1 0.1 0 *fix Y4 reference 123 456 789 0 0 0.1 *fix Y5 reference 123 456 789 0 0.1 0 *fix Y6 reference 123 456 789 0.1 0 0 *fix Y1m reference 123 456 789 -1 0.1 0.1 *fix Y2m reference 123 456 789 0.1 -1 0.1 *fix Y3m reference 123 456 789 0.1 0.1 -1 *fix Y4m reference 123 456 789 -1 -1 0.1 *fix Y5m reference 123 456 789 -1 0.1 -1 *fix Y6m reference 123 456 789 0.1 -1 -1 ; so we actually have some survey data *fix 1 reference 0 0 0 ; Test errors *fix W 0 0 0 *equate Wa W Wb *fix W 0 0 1 *fix Wa 0 0 2 *fix Wb 0 0 3 *fix Wa;comment ; Error since Survex 1.4.10: *fix Z reference ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/backread.dat��������������������������������������������������������������������0000664�0001750�0001750�00000001760�14756727464�012245� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: C SURVEY DATE: 10 13 1986 COMMENT:Test backsights SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADB CORRECTIONS: 1.00 2.00 0.20 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 C2 3.081 -999 -2 1 1 1 1 179 -999 C1 C3 3.081 359 -999 1 1 1 1 -999 -2 Cave SURVEY NAME: C SURVEY DATE: 1 1 1 COMMENT:Test backsights with 13 character format SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLADBF CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C1 B1 3.281 90 1 1 1 1 1 270 -1 B1 B2 3.281 180 -1 1 1 1 1 0 1 Cave SURVEY NAME: D SURVEY DATE: 12 01 1999 COMMENT:Test newer format (and corrected) backsights SURVEY TEAM: Us, Them DECLINATION: 0 FORMAT: DDDDLRUDLADadCF CORRECTIONS: 0.00 0.00 0.00 CORRECTIONS2: 1.0 -1.0 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT BACKBEARING BACKINC FLAGS COMMENTS C2 D1 4.567 027 -999 1 1 1 1 206 -21 ����������������survex-1.4.17/tests/cmd_infer.pos�������������������������������������������������������������������0000644�0001750�0001750�00000001423�14525274540�012444� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 0.00, 0.00, 1.00 ) 3 ( 0.00, 1.00, 0.00 ) 4 ( 0.00, 0.00, 1.00 ) 5 ( 0.00, 1.00, 0.00 ) 6 ( 0.00, 1.00, 0.00 ) 7 ( 0.00, 0.00, 1.00 ) 8 ( 0.00, 1.00, 0.00 ) a ( 0.00, 0.00, 0.00 ) b ( 0.00, 1.00, 0.00 ) c ( 0.00, 0.00, 0.00 ) d ( 0.00, 1.00, 0.00 ) d2 ( 0.00, 0.00, 1.00 ) d3 ( 0.00, 1.00, 0.00 ) d4 ( 0.00, 0.00, 1.00 ) d5 ( 0.00, 1.00, 0.00 ) d6 ( 0.00, 1.00, 0.00 ) d7 ( 0.00, 0.00, 1.00 ) d8 ( 0.00, 1.00, 0.00 ) e ( 0.00, 1.00, 0.00 ) f ( 0.00, 0.00, 0.00 ) g ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/unusedstation.svx���������������������������������������������������������������0000644�0001750�0001750�00000000115�14647535025�013442� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=2 *fix 1 reference 0 0 0 *entrance 2 *begin a *export 3 *end a ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_export_bad.out��������������������������������������������������������������0000664�0001750�0001750�00000002020�14765126030�013466� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_export_bad.svx:6:9: error: Character "*" not allowed in station name (use *SET NAMES to set allowed characters) *export * ^ ./cmd_export_bad.svx:7:11: error: Character "=" not allowed in station name (use *SET NAMES to set allowed characters) *export 1 = ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.03m Vertical range = 0.03m (from x.3 at 0.03m to x.1 at 0.00m) North-South range = 1.97m (from x.3 at 1.97m to x.1 at 0.00m) East-West range = 0.35m (from x.3 at 0.35m to x.1 at 0.00m) ./cmd_export_bad.svx:10: warning: Station "x.4" referred to by *export but never used There were 1 warning(s) and 2 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination.out�������������������������������������������������������������0000664�0001750�0001750�00000001135�14765126030�013636� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 7 survey stations, joined by 6 legs. There are 0 loops. Total length of survey legs = 30.00m ( 30.00m adjusted) Total plan length of survey legs = 30.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from c.2 at 0.00m to c.2 at 0.00m) North-South range = 10.00m (from c.1 at 10.00m to c.2 at 0.00m) East-West range = 10.00m (from c.2 at 10.00m to a.1 at 0.00m) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_cartesian.out���������������������������������������������������������������0000664�0001750�0001750�00000001175�14765126030�013322� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 7 survey stations, joined by 6 legs. There are 0 loops. Total length of survey legs = 60.00m ( 60.00m adjusted) Total plan length of survey legs = 60.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from magnetic2 at 0.00m to magnetic2 at 0.00m) North-South range = 0.00m (from grid2 at 0.00m to magnetic2 at -0.00m) East-West range = 20.00m (from magnetic at 10.00m to magnetic2 at -10.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set.svx���������������������������������������������������������������������0000664�0001750�0001750�00000001113�14756727464�012167� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *begin ; This should be enough to hint the output separator *set separator : *end *begin *set blank ^ *fix^1^reference^0^0^0 *end *begin *set comment %" " a comment % another comment *set keyword ; ;end *begin *set blank + *set+decimal+,/ *set+plus *set+NAMES+() *fix+(2)+reference+1,0+2/0+3 *end *begin *set omit _ *set names *set separator - *equate foo-1 1 *begin foo *export 1 1 2 100 _ down *end foo *end *begin *set blank _ *set_names_x20 *fix_name with spaces in_reference_0_0_0 *end *begin *set blank x09x20 *set decimal , *set names . 1 3.1 1,00 200 -01,5 *end �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/diffpos.tst���������������������������������������������������������������������0000775�0001750�0001750�00000005240�14756727464�012205� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - diffpos tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 test -x "$testdir"/../src/cavern || testdir=. case `uname -a` in MINGW*) DIFF='diff --strip-trailing-cr' QUIET_DIFF='diff -q --strip-trailing-cr' ;; *) DIFF=diff # Use cmp when we can as a small optimisation. QUIET_DIFF='cmp -s' ;; esac : ${DIFFPOS="$testdir"/../src/diffpos} : ${TESTS=${*:-"delatend addatend"}} SURVEXLANG=en export SURVEXLANG # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" DIFFPOS="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DIFFPOS" fi for file in $TESTS ; do echo $file rm -f diffpos.tmp $DIFFPOS "$srcdir/${file}a.pos" "$srcdir/${file}b.pos" > diffpos.tmp exitcode=$? if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi if test -n "$VERBOSE" ; then cat diffpos.tmp $DIFF diffpos.tmp "$srcdir/${file}.out" || exit 1 else $QUIET_DIFF diffpos.tmp "$srcdir/${file}.out" > /dev/null || exit 1 fi rm -f diffpos.tmp done for args in '' '--survey survey' '--survey survey.xyzzy' '--survey xyzzy' ; do echo "diffpos $args" rm -f diffpos.tmp $DIFFPOS $args "$srcdir/v0.3d" "$srcdir/v0.3d" > diffpos.tmp if test -n "$VERBOSE" ; then cat diffpos.tmp fi $QUIET_DIFF diffpos.tmp /dev/null > /dev/null || exit 1 rm -f diffpos.tmp done test -n "$VERBOSE" && echo "Test passed" exit 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstnrev.out������������������������������������������������������������������0000664�0001750�0001750�00000001227�14765126030�012721� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1 at 0.00m to 1 at 0.00m) North-South range = 2.00m (from 1 at 0.00m to anonymous station at -2.00m) North-South range = 0.00m (from 1 at 0.00m to 1 at 0.00m) East-West range = 0.00m (from 1 at 0.00m to 1 at 0.00m) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/mixedeols.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000433�14647535025�012531� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=3 *fix 1 0 0 0 ; This file has erratic line endings, which used to confuse cavern's line ; counting in some cases - we sprinkle in unused *fix commands to generate ; warnings so we can check the reported line numbers are what we want. *fix 2 0 0 0 *fix 3 0 0 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nonewlineateof.svx��������������������������������������������������������������0000644�0001750�0001750�00000000046�14647535025�013555� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix 1 reference 0 0 0������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_datebad.svx�����������������������������������������������������������������0000644�0001750�0001750�00000001323�14647535025�012746� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=37 ; invalid dates (leap year testing) *begin *date 1900.02.29 *date 1975.01.32 *date 1975.02.29 *date 1975.03.32 *date 1975.04.31 *date 1975.05.32 *date 1975.06.31 *date 1975.07.32 *date 1975.08.32 *date 1975.09.31 *date 1975.10.32 *date 1975.11.31 *date 1975.12.32 *date 1976.02.30 *date 1976.03.32 *date 1976.04.31 *date 1976.05.32 *date 1976.06.31 *date 1976.07.32 *date 1976.08.32 *date 1976.09.31 *date 1976.10.32 *date 1976.11.31 *date 1976.12.32 *date 2000.01.32 *date 2000.02.30 *date 2000.03.32 *date 2000.04.31 *date 2000.05.32 *date 2000.06.31 *date 2000.07.32 *date 2000.08.32 *date 2000.09.31 *date 2000.10.32 *date 2000.11.31 *date 2000.12.32 *date 2000.01.32 *fix 1 0 0 0 1 2 1.0 020 -03 *end �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_back.out��������������������������������������������������������������������0000664�0001750�0001750�00000002672�14765126030�012237� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./bad_back.svx:5:13: error: Plumbed CLINO and BACKCLINO readings can't be in the same direction 1 3 1.0 - Down - Down ^~~~ ./bad_back.svx:7:14: error: Plumbed CLINO and BACKCLINO readings can't be in the same direction 1 5 1.0 - Up - Up ^~ ./bad_back.svx:8:14: error: Plumbed CLINO and BACKCLINO readings can't be in the same direction 1 A 1.0 - Up - +v ^~ ./bad_back.svx:9:14: error: Plumbed CLINO and BACKCLINO readings can't be in the same direction 1 B 1.0 - -v - Down ^~ ./bad_back.svx:10:14: error: CLINO and BACKCLINO readings must be of the same type 1 C 1.0 000 -89 - Up ^~~ ./bad_back.svx:11:14: error: CLINO and BACKCLINO readings must be of the same type 1 D 1.0 - Down - 30 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 2.00m Vertical range = 2.00m (from 4 at 1.00m to 2 at -1.00m) North-South range = 0.00m (from 4 at 0.00m to 4 at 0.00m) East-West range = 0.00m (from 4 at 0.00m to 4 at 0.00m) There were 0 warning(s) and 6 error(s) - no output files produced. ����������������������������������������������������������������������survex-1.4.17/tests/back.pos������������������������������������������������������������������������0000664�0001750�0001750�00000001104�14756732050�011415� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 0.87, -0.50 ) 2 ( 0.00, 0.87, -0.50 ) 3 ( 0.00, 0.87, -0.50 ) 4 ( 0.00, 0.87, -0.50 ) 5 ( 0.00, 0.87, -0.50 ) a ( 0.00, 0.87, -0.50 ) b ( 0.00, 0.87, -0.50 ) c ( 0.00, 0.87, -0.50 ) d ( 0.00, 0.87, -0.50 ) e ( -1.00, -1.00, -1.00 ) min ( 9.00, 12.00, 36.00 ) max ( 0.00, 10.00, 0.00 ) r ( 0.00, 10.00, 0.00 ) x ( 0.00, 10.00, 0.00 ) y ( 0.00, 10.00, 0.00 ) z ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/kmlexport.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000553�14765125402�012565� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=kml survexportopt=--surface-legs survexportopt=--splays survexportopt=--entrances warn=0 *cs long-lat *cs out UTM60S *fix bh 174.7767 -41.2784 30 *entrance bh bh 1 100 090 -5 1 2 100 180 -5 *begin *flags surface 2 3 100 270 -5 2 . 90 180 -5 3 .. 90 180 -5 *end 2 5 100 090 -5 *begin *flags splay 5 6 90 180 -5 *end *flags duplicate 5 6a 89 180 -5 �����������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/clptest.dump��������������������������������������������������������������������0000664�0001750�0001750�00000001104�14756727464�012354� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "clptest" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 0.00 0.00 1.00 0.00 0.02 [] STYLE=NORMAL LEG 1.00 0.00 0.02 1.00 -1.00 0.00 [] STYLE=NORMAL LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 1.00 0.00 0.58 2.16 0.52 [] STYLE=NORMAL 1999.12.01 NODE 0.58 2.16 0.52 [D1] UNDERGROUND NODE 0.00 1.00 0.00 [C2] UNDERGROUND NODE 1.00 -1.00 0.00 [B2] UNDERGROUND NODE 1.00 0.00 0.02 [B1] UNDERGROUND NODE 0.00 1.00 0.00 [C3] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND STOP ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastar.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000250�14525274540�012476� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 0 ( -0.87, -0.50, 0.00 ) a ( 0.87, -0.50, 0.00 ) b ( -0.00, 1.00, 0.00 ) c ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/back.out������������������������������������������������������������������������0000664�0001750�0001750�00000001613�14765126030�011423� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./back.svx:16:21: warning: CLINO reading and BACKCLINO reading disagree by 4grd 1 Y 10 000 - 02 02 ^~ ./back.svx:17:23: warning: CLINO reading and BACKCLINO reading disagree by 2.5grd 1 Z 10 000 - -01.25 -01.25 ^~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 16 survey stations, joined by 15 legs. There are 0 loops. Total length of survey legs = 89.73m ( 89.73m adjusted) Total plan length of survey legs = 64.21m Total vertical length of survey legs = 41.50m Vertical range = 37.00m (from max at 36.00m to min at -1.00m) North-South range = 13.00m (from max at 12.00m to min at -1.00m) East-West range = 10.00m (from max at 9.00m to min at -1.00m) There were 2 warning(s). ���������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extendsurveyx.3d����������������������������������������������������������������0000664�0001750�0001750�00000000406�14765125402�013160� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v7 extendsurvey (extended) Tue,2024.10.08 15:56:42 NZDT Bx.1�������������������������������B.2������Ba�������������������}J.3������}�Jy.1������}������}�W ������/B.2W ������/������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_case.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000264�14647535025�012300� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix A 0 0 0 *Case PRESERVE a B 1 0 0 *begin ; also check begin/end preserves original case setting *CASE ToUpper B c 1 0 0 *end C d 1 0 0 *case tolower D e 1 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/firststn.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000373�14756732050�012417� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 dummycrprotection= ; regression test - "first station" used to be B on some platforms (e.g. ; x86 Linux) since it depended on the order of evaluation of function ; arguments in C, which differs between implementations. A B 1 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lrud.pos������������������������������������������������������������������������0000664�0001750�0001750�00000000324�14756727464�011503� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) AA1 ( 7.95, 7.95, -1.18 ) AA2 ( 16.52, 13.73, -3.19 ) AA3 ( 21.43, 17.43, -4.61 ) AA4 ( 29.60, 24.79, -6.55 ) AA5 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lollipop.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000226�14765126030�012365� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *fix 2 4 0 0 1 A 3 090 0 A 2 3 090 0 A B 3 000 0 B C 2 000 0 C B 2 180 0 1 S 1 180 0 ; Create stable south-most station ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurvey2.out�������������������������������������������������������������������0000664�0001750�0001750�00000001244�14765126030�012477� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./nosurvey2.svx:2: info: Survey has no fixed points. Therefore I've fixed 1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 1 at 0.00m) East-West range = 1.00m (from 3 at 1.00m to 2 at 0.00m) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix2.svx��������������������������������������������������������������������0000664�0001750�0001750�00000000312�14765126030�012222� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 error=0 ; Regression test for bug fixed in 1.4.17: We used to incorrectly warn: ; ./cmd_fix2.svx:2: warning: Unused fixed point "1" *fix 1 0 0 0 *fix 2 0 0 0 2 3 1 0 0 *solve 1 4 1 90 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/addatendb.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000014�11701006570�012404� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(0, 0, 0) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc5.mak���������������������������������������������������������������������0000664�0001750�0001750�00000000171�14756727464�012011� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/ pos=fail warn=1 error=1 / #backread.dat, C1 [m,10.23,20.47,1234.56]; #nosuchfile.dat, GX1 [f -100.00 -200.00 3600.00]; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc.out����������������������������������������������������������������������0000644�0001750�0001750�00000000224�14567212227�011742� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badinc.svx:3:10: error: Couldn't open file "nonexistent_file" *include nonexistent_file ^~~~~~~~~~~~~~~~ cavern: error: No survey data ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/break_replace_pfx.svx�����������������������������������������������������������0000664�0001750�0001750�00000000141�14756732050�014170� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= W X 1 0 0 X Y 1 0 0 *equate X A *equate B X *equate C X �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multisection.plt����������������������������������������������������������������0000664�0001750�0001750�00000002476�14756727464�013264� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z -129.26 319.44 -94.30 439.00 -130.05 126.30 I 1357.3 G31 OWGS 1984 SFAKE SURFACE SURVEY NZSURF D 01 01 2001 CFake Surface M 131.0 -66.2 -75.0 SS1 P 0.0 0.0 0.0 0.0 d 133.5 -68.2 -80.0 SS2 P 0.0 0.0 0.0 0.0 FL D 123.5 -70.2 -87.1 SZ6 P 0.0 0.0 0.0 0.0 FPL SFAKE CAVE NZ+ D 1 1 1 CFake Passage M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 0.0 D 128.2 -65.9 -86.8 SZ7 P 0.0 3.0 1.0 3.0 I 21.8 D 131.1 -65.4 -85.3 SZ8 P 3.5 2.0 5.0 1.0 I 45.5 D 138.2 -63.3 -82.5 SZ9 P 0.0 0.0 0.0 0.0 I 58.9 X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 SFAKE CAVE CONTINUED NZ* D 12 31 99 CFake Passage 2 M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 72.8 D 118.8 -79.1 -92.5 SZ10 P 1.5 1.0 2.5 3.0 I 105.8 D 122.0 -75.8 -95.4 SZ11 P 2.5 0.5 2.5 1.5 I 126.8 D 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 I 105.8 D 134.4 -82.9 -101.9 SZ13 P 0.0 0.0 0.0 0.0 I 138.6 FS M 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 D 134.4 -82.9 -100.9 SZ14 I 138.6 FS X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 P Z6 123.5 -70.2 -87.1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badnewline.svx������������������������������������������������������������������0000644�0001750�0001750�00000000212�14647535025�012643� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=2 *fix 1 reference 0 0 0 *data normal newline from to tape compass clino *data normal station tape compass clino newline ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/stnsurvey1.svx������������������������������������������������������������������0000644�0001750�0001750�00000000101�14647535025�012673� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin A *end A *fix A reference 0 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr4.svx������������������������������������������������������������������0000644�0001750�0001750�00000000112�14647535025�012650� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin fred 1 2 1.23 045 -6 *export 2 *end fred ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurv.svx����������������������������������������������������������������������0000664�0001750�0001750�00000000321�14765126030�012063� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *fix 2 1 0 0 *fix 3 0 1 0 1 1 1 *fix 4 0 0 1 1 1 1 *data nosurvey from to 1 2 2 3 *data nosurvey to from ignore 4 3 42; Test handling of a comment right after an ignored reading. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lengthunits.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000335�14647535025�013105� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; tests length units, also test begin/end saving/restoring units *fix 1 0 0 0 *units tape metres 1 2 10.00 0 00 *begin *units tape feet 2 3 10.00 0 00 *end 3 4 10.00 0 00 *units tape yards 4 5 10.00 0 00 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix.pos���������������������������������������������������������������������0000664�0001750�0001750�00000000524�14756727464�012150� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) a ( 0.00, 0.00, 0.00 ) b ( 0.00, 0.00, 0.00 ) c ( 0.00, 0.00, 0.00 ) d ( 0.00, 0.00, 0.00 ) e ( 0.00, 0.00, 0.00 ) f ( 0.00, 0.00, 0.00 ) w ( 0.00, 0.00, 0.00 ) w1 ( 0.00, 0.00, 0.00 ) w2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian.out�������������������������������������������������������������������0000664�0001750�0001750�00000001116�14765126030�012472� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 4.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1 at 0.00m to 1 at 0.00m) North-South range = 4.00m (from a at 2.00m to b at -2.00m) East-West range = 0.00m (from 1 at 0.00m to 1 at 0.00m) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_ref.svx���������������������������������������������������������������������0000664�0001750�0001750�00000000235�14766160546�012145� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *begin of_the_line *ref "page 42 of 2001 survey book" *date 2025-03-14 *ref CUCC-2024-03-14a *ref "" *fix 1 0 0 0 1 2 1 0 0 *end of_the_line �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/filter.dump���������������������������������������������������������������������0000664�0001750�0001750�00000001072�14765125402�012147� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "Fake Passage" DATE "?" DATE_NUMERIC -1 VERSION -2 SEPARATOR ' ' -- NODE -21.40 37.64 -26.55 [Z+ Z6] UNDERGROUND ENTRANCE EXPORTED XSECT 0.46 0.30 0.15 0.15 [Z+ Z6] NODE -20.09 39.08 -26.46 [Z+ Z7] UNDERGROUND XSECT 0.00 0.91 0.30 0.91 [Z+ Z7] LEG -21.40 37.64 -26.55 -20.09 39.08 -26.46 [Z+] NODE -19.93 39.96 -26.00 [Z+ Z8] UNDERGROUND XSECT 1.07 0.61 1.52 0.30 [Z+ Z8] LEG -20.09 39.08 -26.46 -19.93 39.96 -26.00 [Z+] NODE -19.29 42.12 -25.15 [Z+ Z9] UNDERGROUND XSECT 0.00 0.00 0.00 0.00 [Z+ Z9] LEG -19.93 39.96 -26.00 -19.29 42.12 -25.15 [Z+] XSECT_END STOP ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_data_default.svx������������������������������������������������������������0000664�0001750�0001750�00000000065�14756727464�014016� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *data default *fix 1 reference 0 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normal.svx����������������������������������������������������������������������0000664�0001750�0001750�00000000261�14756727464�012044� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data normal from to tape compass clino 1 2 1.00 000 0 2 3 1.00 090 0 *data normal tape compass clino to from 1.00 180 0 4 3 *data 1.00 270 0 5 4 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/hanging_cpt.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000153�14756732050�013020� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *fix 1 0 0 0 1 2 1 0 0 3 4 1 0 0 3 5 1 0 0 3 6 1 0 0 3 7 1 0 0 4 5 1 0 0 6 7 1 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/fixfeet.pos���������������������������������������������������������������������0000664�0001750�0001750�00000000472�14756727464�012173� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 11.23, 20.47, 1234.58 ) B1 ( 11.23, 19.47, 1234.56 ) B2 ( 10.23, 20.47, 1234.56 ) C1 ( 10.23, 21.47, 1234.56 ) C2 ( 10.23, 21.47, 1234.56 ) C3 ( 10.82, 22.62, 1235.08 ) D1 ( -30.48, -60.96, 1097.28 ) GX1 ( -30.38, -60.45, 1097.26 ) GX2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badbegin.out��������������������������������������������������������������������0000664�0001750�0001750�00000002117�14765126030�012256� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./badbegin.svx:3:7: error: Matching BEGIN command has no survey name *end foo ^~~ ./badbegin.svx:2: info: Corresponding BEGIN was here *begin ./badbegin.svx:6:8: error: Survey name doesn't match BEGIN *end bar ^~~ ./badbegin.svx:4:13: info: Corresponding BEGIN was here *begin foo ^~~ ./badbegin.svx:8:8: error: Character "<" not allowed in station name (use *SET NAMES to set allowed characters) *begin < ^ ./badbegin.svx:11:5: warning: Survey name omitted from END *end ^ ./badbegin.svx:7:8: info: Corresponding BEGIN was here *begin omitted ^~~~~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s) and 3 error(s) - no output files produced. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_alias.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000633�14756732050�012456� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes *fix 1 0 0 0 ; This '-' is an actual station 1 - 1.00 090 0 *alias station - .. ; This '-' is an anon station 1 - 1.00 270 0 *alias station - ; And back to the actual one - 2 1.00 180 0 ; Regression test - handling of a comment character after the command. *alias station - ..; comment ; This '-' is an anon station 2 - 1.00 270 0 *alias station -; comment ; And back to the actual one - 3 1.00 180 0 �����������������������������������������������������������������������������������������������������survex-1.4.17/tests/v0.3d���������������������������������������������������������������������������0000644�0001750�0001750�00000001377�14525274540�010560� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v0.01 3dtopostst Sat,2001.09.15 17:12:56 BST line 0.00 0.00 0.00 -2.59 9.65 -0.35 move -2.59 9.65 -0.35 draw -2.93 4.67 -0.61 draw -3.28 0.71 -1.03 move -3.14 0.68 -0.75 draw -2.93 4.67 -0.61 move -2.62 7.65 -0.42 draw -2.59 9.65 -0.35 draw -2.59 10.65 -0.35 draw -2.59 11.65 -0.35 draw -2.59 12.65 -0.35 move -2.41 10.64 -0.35 draw -2.59 9.65 -0.35 draw -2.59 29.65 0.00 name survey.00 -3.28 0.71 -1.03 name survey.0 -2.93 4.67 -0.61 name survey.0a -3.14 0.68 -0.75 name survey.001 -2.62 7.65 -0.42 name survey.1 -2.59 9.65 -0.35 name survey.2 -2.59 10.65 -0.35 name survey.2_9 -2.59 11.65 -0.35 name survey.2_9a -2.59 29.65 0.00 name survey.2_10 -2.59 12.65 -0.35 name survey.2_a -2.41 10.64 -0.35 name 1 0.00 0.00 0.00 name 2 -2.59 9.65 -0.35 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/addatend.out��������������������������������������������������������������������0000644�0001750�0001750�00000000011�14525274540�012260� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Added: 1 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstnrev.pos������������������������������������������������������������������0000644�0001750�0001750�00000000143�14567212227�012711� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, -2.00, 0.00 ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswap.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000000112�14647535025�011651� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� a b 10 200 -10 b c 10 80 -10 c d 10 90 -15 d e 10 110 -10 d1 d 10 250 +3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_dummy.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000647�14766161615�012531� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *begin it_all ; This was originally a test of various "dummy" commands which were treated ; like comment lines, but we now actually parse most of these. It is still ; used as a simple file to include doubleinc.svx. *copyright 2001 "Space Oddity Speleos" *date 1990.07-2001.09 *instrument light "Jamie's magic torch" *ref "page 42 of 2001 survey book" *fix no_warnings_please reference 0 0 0 *end it_all �����������������������������������������������������������������������������������������survex-1.4.17/tests/fixedlollipop.pos���������������������������������������������������������������0000664�0001750�0001750�00000000354�14765126030�013370� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) a ( 0.00, 3.00, -0.00 ) b ( 0.00, 5.00, -0.00 ) c ( 9.00, 0.00, 0.00 ) w ( 9.00, 3.00, -0.00 ) x ( 9.00, 5.00, -0.00 ) y ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve_nothing_implicit.svx��������������������������������������������������0000644�0001750�0001750�00000000130�14647535025�016125� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; Regression test *fix A.1 0 0 0 *begin A 1 2 1.23 123 12 *end A *solve ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_datebad2.out����������������������������������������������������������������0000664�0001750�0001750�00000022552�14765126030�013021� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_datebad2.svx:4:7: warning: Invalid year (< 1900 or > 2078) *date 1899.12.31 ^~~~ ./cmd_datebad2.svx:5:7: warning: Invalid year (< 1900 or > 2078) *date 1899.12.31 ^~~~ ./cmd_datebad2.svx:6:7: warning: Invalid year (< 1900 or > 2078) *date 1899.12 ^~~~ ./cmd_datebad2.svx:7:7: warning: Invalid year (< 1900 or > 2078) *date 1899 ^~~~ ./cmd_datebad2.svx:8:7: warning: Invalid year (< 1900 or > 2078) *date 1800 ^~~~ ./cmd_datebad2.svx:9:7: warning: Invalid year (< 1900 or > 2078) *date 1700.12.01 ^~~~ ./cmd_datebad2.svx:10:7: warning: Invalid year (< 1900 or > 2078) *date 100.01.01 ^~~ ./cmd_datebad2.svx:11:7: warning: Invalid year (< 1900 or > 2078) *date 1899.02.03 ^~~~ ./cmd_datebad2.svx:12:7: warning: Invalid year (< 1900 or > 2078) *date 999.9.9 ^~~ ./cmd_datebad2.svx:13:12: warning: Invalid month *date 1984.13.01 ^~ ./cmd_datebad2.svx:14:12: warning: Invalid month *date 1984.13.31 ^~ ./cmd_datebad2.svx:15:15: warning: Invalid day of the month *date 1984.01.00 ^~ ./cmd_datebad2.svx:16:12: warning: Invalid month *date 1984.00.12 ^~ ./cmd_datebad2.svx:17:12: warning: Invalid month *date 1984.00 ^~ ./cmd_datebad2.svx:18:12: warning: Invalid month *date 1984.13 ^~ ./cmd_datebad2.svx:19:7: error: End of date range is before the start *date 1984.01.02-1984.01.01 ^~~~~~~~~~~~~~~~~~~~~ ./cmd_datebad2.svx:20:7: warning: Assuming 2 digit year is 1971 *date 71-1970 ^~ ./cmd_datebad2.svx:20:7: error: End of date range is before the start *date 71-1970 ^~~~~~~ ./cmd_datebad2.svx:21:7: warning: Invalid year (< 1900 or > 2078) *date 2079.01.01 ^~~~ ./cmd_datebad2.svx:22:7: warning: Invalid year (< 1900 or > 2078) *date 2079.12.31 ^~~~ ./cmd_datebad2.svx:23:7: warning: Invalid year (< 1900 or > 2078) *date 2099.06 ^~~~ ./cmd_datebad2.svx:24:7: warning: Invalid year (< 1900 or > 2078) *date 3033 ^~~~ ./cmd_datebad2.svx:25:7: warning: Invalid year (< 1900 or > 2078) *date 11974.02.03 ^~~~~ ./cmd_datebad2.svx:26:12: warning: Invalid year (< 1900 or > 2078) *date 2078-2079 ^~~~ ./cmd_datebad2.svx:27:7: warning: Invalid year (< 1900 or > 2078) *date 1899-2079 ^~~~ ./cmd_datebad2.svx:28:23: warning: Invalid month *date 1984.12.13-1984.13.12 ^~ ./cmd_datebad2.svx:29:26: warning: Invalid day of the month *date 1984.12.13-1985.02.29 ^~ ./cmd_datebad2.svx:30:18: warning: Assuming 2 digit year is 1913 *date 2013.04.12-13 ^~ ./cmd_datebad2.svx:30:7: error: End of date range is before the start *date 2013.04.12-13 ^~~~~~~~~~~~~ ./cmd_datebad2.svx:32:7: warning: Invalid year (< 1900 or > 2078) *date 1899-12-31 ^~~~ ./cmd_datebad2.svx:33:7: warning: Invalid year (< 1900 or > 2078) *date 1899-12-31 ^~~~ ./cmd_datebad2.svx:34:7: warning: Invalid year (< 1900 or > 2078) *date 1899-12 ^~~~ ./cmd_datebad2.svx:35:7: warning: Invalid year (< 1900 or > 2078) *date 1899 ^~~~ ./cmd_datebad2.svx:36:7: warning: Invalid year (< 1900 or > 2078) *date 1800 ^~~~ ./cmd_datebad2.svx:37:7: warning: Invalid year (< 1900 or > 2078) *date 1700-12-01 ^~~~ ./cmd_datebad2.svx:38:7: warning: Invalid year (< 1900 or > 2078) *date 100-01-01 ^~~ ./cmd_datebad2.svx:39:7: warning: Invalid year (< 1900 or > 2078) *date 1899-02-03 ^~~~ ./cmd_datebad2.svx:40:7: warning: Invalid year (< 1900 or > 2078) *date 999-9-9 ^~~ ./cmd_datebad2.svx:41:12: warning: Invalid month *date 1984-13-01 ^~ ./cmd_datebad2.svx:42:12: warning: Invalid month *date 1984-13-31 ^~ ./cmd_datebad2.svx:43:15: warning: Invalid day of the month *date 1984-01-00 ^~ ./cmd_datebad2.svx:44:12: warning: Invalid month *date 1984-00-12 ^~ ./cmd_datebad2.svx:45:12: warning: Assuming 2 digit year is 1900 *date 1984-00 ^~ ./cmd_datebad2.svx:45:7: error: End of date range is before the start *date 1984-00 ^~~~~~~ ./cmd_datebad2.svx:46:12: warning: Assuming 2 digit year is 1913 *date 1984-13 ^~ ./cmd_datebad2.svx:46:7: error: End of date range is before the start *date 1984-13 ^~~~~~~ ./cmd_datebad2.svx:47:7: error: End of date range is before the start *date 1984-01-02 1984-01-01 ^~~~~~~~~~ ./cmd_datebad2.svx:48:7: warning: Assuming 2 digit year is 1971 *date 71 1970 ^~ ./cmd_datebad2.svx:48:7: error: End of date range is before the start *date 71 1970 ^~ ./cmd_datebad2.svx:49:7: warning: Invalid year (< 1900 or > 2078) *date 2079-01-01 ^~~~ ./cmd_datebad2.svx:50:7: warning: Invalid year (< 1900 or > 2078) *date 2079-12-31 ^~~~ ./cmd_datebad2.svx:51:7: warning: Invalid year (< 1900 or > 2078) *date 2099-06 ^~~~ ./cmd_datebad2.svx:52:7: warning: Invalid year (< 1900 or > 2078) *date 3033 ^~~~ ./cmd_datebad2.svx:53:7: warning: Invalid year (< 1900 or > 2078) *date 11974-02-03 ^~~~~ ./cmd_datebad2.svx:54:12: warning: Invalid year (< 1900 or > 2078) *date 2078 2079 ^~~~ ./cmd_datebad2.svx:55:7: warning: Invalid year (< 1900 or > 2078) *date 1899 2079 ^~~~ ./cmd_datebad2.svx:56:23: warning: Invalid month *date 1984-12-13 1984-13-12 ^~ ./cmd_datebad2.svx:57:26: warning: Invalid day of the month *date 1984-12-13 1985-02-29 ^~ ./cmd_datebad2.svx:59:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899-12-31 ^~~~ ./cmd_datebad2.svx:60:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899-12-31 ^~~~ ./cmd_datebad2.svx:61:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899-12 ^~~~ ./cmd_datebad2.svx:62:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899 ^~~~ ./cmd_datebad2.svx:63:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1800 ^~~~ ./cmd_datebad2.svx:64:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1700-12-01 ^~~~ ./cmd_datebad2.svx:65:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 100-01-01 ^~~ ./cmd_datebad2.svx:66:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899-02-03 ^~~~ ./cmd_datebad2.svx:67:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 999-9-9 ^~~ ./cmd_datebad2.svx:68:21: warning: Invalid month *date surveyed 1984-13-01 ^~ ./cmd_datebad2.svx:69:21: warning: Invalid month *date surveyed 1984-13-31 ^~ ./cmd_datebad2.svx:70:24: warning: Invalid day of the month *date surveyed 1984-01-00 ^~ ./cmd_datebad2.svx:71:21: warning: Invalid month *date surveyed 1984-00-12 ^~ ./cmd_datebad2.svx:72:21: warning: Invalid month *date surveyed 1984-00 ^~ ./cmd_datebad2.svx:73:21: warning: Invalid month *date surveyed 1984-13 ^~ ./cmd_datebad2.svx:74:16: error: End of date range is before the start *date surveyed 1984-01-02 1984-01-01 ^~~~~~~~~~ ./cmd_datebad2.svx:75:16: warning: Assuming 2 digit year is 1971 *date surveyed 71 1970 ^~ ./cmd_datebad2.svx:75:16: error: End of date range is before the start *date surveyed 71 1970 ^~ ./cmd_datebad2.svx:76:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 2079-01-01 ^~~~ ./cmd_datebad2.svx:77:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 2079-12-31 ^~~~ ./cmd_datebad2.svx:78:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 2099-06 ^~~~ ./cmd_datebad2.svx:79:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 3033 ^~~~ ./cmd_datebad2.svx:80:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 11974-02-03 ^~~~~ ./cmd_datebad2.svx:81:21: warning: Invalid year (< 1900 or > 2078) *date surveyed 2078 2079 ^~~~ ./cmd_datebad2.svx:82:16: warning: Invalid year (< 1900 or > 2078) *date surveyed 1899 2079 ^~~~ ./cmd_datebad2.svx:83:32: warning: Invalid month *date surveyed 1984-12-13 1984-13-12 ^~ ./cmd_datebad2.svx:84:35: warning: Invalid day of the month *date surveyed 1984-12-13 1985-02-29 ^~ ./cmd_datebad2.svx:86:7: error: Expecting "SURVEYED" or "EXPLORED" *date exploded 1984-12-13 ^~~~~~~~ ./cmd_datebad2.svx:87:25: error: Duplicate date type "surveyed" *date surveyed explored surveyed 1984-12-13 ^~~~~~~~ ./cmd_datebad2.svx:88:20: error: Expecting "-" *date surveyed 1984.12.13 ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 1 leg. There are 0 loops. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.05m Vertical range = 0.05m (from 1 at 0.00m to 2 at -0.05m) North-South range = 0.94m (from 2 at 0.94m to 1 at 0.00m) East-West range = 0.34m (from 2 at 0.34m to 1 at 0.00m) There were 76 warning(s) and 12 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_equate_bad.svx��������������������������������������������������������������0000644�0001750�0001750�00000000430�14647535025�013452� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=3 ; We used to report "End of line not blank" but 1.2.22 gives "Character "=" not ; allowed in station name (use *SET NAMES to set allowed characters)" instead. *fix 1 reference 0 0 0 *equate 1 = *equate 1 2 = *equate 3 4 *equate 2 1 3 ; test *equate foo ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv.pos��������������������������������������������������������0000664�0001750�0001750�00000000164�14756727464�014700� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) (328000.00, 5260000.00, 2500.00 ) test.0 (328029.51, 5260999.56, 2500.00 ) test.1 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/equate_bug.out������������������������������������������������������������������0000664�0001750�0001750�00000001347�14766114127�012655� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./equate_bug.svx:10: warning: Equating two equal fixed points: "a" and "b" *equate A B Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 9 survey stations, joined by 7 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 5.00m ( 5.00m adjusted) Total plan length of survey legs = 5.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 2d at 0.00m to 2d at 0.00m) North-South range = 1.00m (from 2d at 1.00m to 2 at 0.00m) East-West range = 0.00m (from 2d at 0.00m to 2d at 0.00m) There were 1 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/export2.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000211�14647535025�012135� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *begin outer *export inner.1 *begin inner *export 1 1 2 1.23 045 -6 *end inner *end outer *equate entrance outer.inner.1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/inferunknown.out����������������������������������������������������������������0000664�0001750�0001750�00000002405�14765126030�013246� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./inferunknown.svx:3:8: error: Found "qwerty", expecting "EQUATES", "EXPORTS", or "PLUMBS" *infer qwerty on ^~~~~~ ./inferunknown.svx:4:8: error: Found "exp0rts", expecting "EQUATES", "EXPORTS", or "PLUMBS" *infer exp0rts on ^~~~~~~ ./inferunknown.svx:5:8: error: Found "exp0rts", expecting "EQUATES", "EXPORTS", or "PLUMBS" *infer exp0rts 0n ^~~~~~~ ./inferunknown.svx:6:8: error: Found "", expecting "EQUATES", "EXPORTS", or "PLUMBS" *infer 99 off ^ ./inferunknown.svx:7:15: error: Found "", expecting "ON" or "OFF" *infer plumbs 0ff ^ ./inferunknown.svx:8:15: error: Found "", expecting "ON" or "OFF" *infer plumbs 66 ^ ./inferunknown.svx:9:15: error: Found "f00", expecting "ON" or "OFF" *infer plumbs f00 ^~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 7 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lrud.out������������������������������������������������������������������������0000664�0001750�0001750�00000001263�14765126030�011472� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./lrud.dat:10: info: Survey has no fixed points. Therefore I've fixed AA1 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 5 survey stations, joined by 4 legs. There are 0 loops. Total length of survey legs = 39.31m ( 39.31m adjusted) Total plan length of survey legs = 38.72m Total vertical length of survey legs = 6.55m Vertical range = 6.55m (from AA1 at 0.00m to AA5 at -6.55m) North-South range = 24.79m (from AA5 at 24.79m to AA1 at 0.00m) East-West range = 29.60m (from AA5 at 29.60m to AA1 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/reenterwarn.svx�����������������������������������������������������������������0000664�0001750�0001750�00000000107�14756727464�013107� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *begin 1 *end 1 *begin 1 *end 1 *fix A 0 0 0 A B 1 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix_bad2.svx����������������������������������������������������������������0000664�0001750�0001750�00000000154�14765126030�013034� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=1 a b 1 0 0 *equate a c *equate a d *solve *fix a 0 0 0 *fix c 1 1 1 *fix d 1 1 1 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extend.tst����������������������������������������������������������������������0000775�0001750�0001750�00000006055�14756727464�012047� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - extend tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests test -n "$*" && VERBOSE=1 test -x "$testdir"/../src/cavern || testdir=. : ${CAVERN="$testdir"/../src/cavern} : ${EXTEND="$testdir"/../src/extend} : ${DIFFPOS="$testdir"/../src/diffpos} : ${TESTS=${*:-"extend extend2names eswap eswap-break"}} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" CAVERN="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $CAVERN" EXTEND="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $EXTEND" DIFFPOS="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DIFFPOS" fi for file in $TESTS ; do echo $file EXTEND_ARGS="" test -f "$srcdir/$file.espec" && EXTEND_ARGS="--specfile $srcdir/$file.espec" rm -f tmp.* if test -n "$VERBOSE" ; then $CAVERN "$srcdir/$file.svx" --output=tmp exitcode=$? else $CAVERN "$srcdir/$file.svx" --output=tmp > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 if test -n "$VERBOSE" ; then $EXTEND $EXTEND_ARGS tmp.3d tmp.x.3d exitcode=$? else $EXTEND $EXTEND_ARGS tmp.3d tmp.x.3d > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 if test -n "$VERBOSE" ; then $DIFFPOS tmp.x.3d "$srcdir/${file}x.3d" exitcode=$? else $DIFFPOS tmp.x.3d "$srcdir/${file}x.3d" > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 rm -f tmp.* done test -n "$VERBOSE" && echo "Test passed" exit 0 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstn.out���������������������������������������������������������������������0000664�0001750�0001750�00000001473�14765126030�012207� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 11 survey stations, joined by 10 legs. There are 0 loops. Total length of survey legs = 21.20m ( 21.20m adjusted) Total plan length of survey legs = 4.24m Total vertical length of survey legs = 19.00m Vertical range = 14.00m (from anonymous station at 4.00m to anonymous station at -10.00m) Vertical range = 3.00m (from 2 at 3.00m to 1 at 0.00m) North-South range = 4.00m (from anonymous station at 4.00m to 1 at 0.00m) North-South range = 3.00m (from 2 at 3.00m to 1 at 0.00m) East-West range = 4.00m (from anonymous station at 4.00m to 1 at 0.00m) East-West range = 3.00m (from 2 at 3.00m to 1 at 0.00m) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dxfsurfequate.svx���������������������������������������������������������������0000664�0001750�0001750�00000000270�14756732050�013425� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dxf survexportopt=--surface-legs warn=0 *equate A.2 B.2 *flags surface *fix A.1 0 0 0 *begin A *export 1 *export 2 1 2 9.5 275 -26 *end A *begin B *export 2 2 3 3 042 +15 *end B ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012465� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, -0.00, 0.00 ) 1 ( 0.00, 2.00, 0.00 ) a ( 0.00, -2.00, 0.00 ) b ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/chinabug.out��������������������������������������������������������������������0000664�0001750�0001750�00000001354�14765126030�012305� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./chinabug.svx:4: info: e.s.1 ./chinabug.svx:3: info: j.m.1 ./chinabug.svx:2: info: n.g.1 Calculating network... Calculating traverses... Calculating trailing traverses... ./chinabug.svx:5: warning: Unused fixed point "x.1" Calculating statistics... Survey contains 7 survey stations, joined by 3 legs. There are 0 loops. Survey has 4 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 2 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurveyhanging2.svx������������������������������������������������������������0000664�0001750�0001750�00000000110�14765125512�014037� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=1 *begin *data nosurvey from to 0 1 1 2 *end 2 3 1 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix2.out��������������������������������������������������������������������0000664�0001750�0001750�00000001343�14765126030�012216� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 2 legs. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 2 at 0.00m) East-West range = 1.00m (from 4 at 1.00m to 3 at 0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_units_qlist.svx�������������������������������������������������������������0000644�0001750�0001750�00000000151�14647535025�013721� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=3 *fix 1 reference 0 0 0 *units position metres *units plumb metres *units level metres �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinormignall.pos�������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�013727� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/infereqtopofil.svx��������������������������������������������������������������0000644�0001750�0001750�00000000212�14647535025�013561� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *infer equates on *fix 1 0 0 0 *data topofil from to fromcount tocount compass clino *calibrate count 0 0.1 1 2 0 10 0 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cartesian2.out������������������������������������������������������������������0000664�0001750�0001750�00000001116�14765126030�012554� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 3 survey stations, joined by 2 legs. There are 0 loops. Total length of survey legs = 2.00m ( 2.00m adjusted) Total plan length of survey legs = 2.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 1 at 0.00m to 1 at 0.00m) North-South range = 2.00m (from a at 1.00m to b at -1.00m) East-West range = 0.00m (from 1 at 0.00m to 1 at 0.00m) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastarhanging.svx������������������������������������������������������������0000664�0001750�0001750�00000000247�14765126030�014055� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *fix F 0 0 0 F G 1 0 0 0 C 1 000 0 0 B 1 120 0 0 A 1 240 0 C B 1.73205080 150 0 B A 1.73205080 270 0 A C 1.73205080 030 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_solve_hanging.svx�����������������������������������������������������������0000664�0001750�0001750�00000000236�14756732050�014207� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error= ; Regression test distilled from example from Carlos Grohmann *begin A 1 2 1.23 123 12 *end A *solve *begin B 3 4 2.34 234 23 *end B ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_alias_bad.svx���������������������������������������������������������������0000664�0001750�0001750�00000000653�14765125402�013263� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=7 *fix 1 0 0 0 ; This '-' is an actual station 1 - 1.00 090 0 ; typo *alias statoin - .. ; invalid 2nd parameter *alias station _ ; invalid 2nd parameter *alias station = .. ; invalid 3rd parameter *alias station - ... 1 - 1.01 091 1 ; check error reporting in the presence of trailing comments *alias station _; comment *alias station - ...;comment ; check token includes numerics *alias station0 - .. �������������������������������������������������������������������������������������survex-1.4.17/tests/bad_back.svx��������������������������������������������������������������������0000644�0001750�0001750�00000000450�14647535025�012245� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=6 *data normal from to tape compass clino backcompass backclino *fix 1 0 0 0 1 2 1.0 - Down - Up 1 3 1.0 - Down - Down 1 4 1.0 - Up - Down 1 5 1.0 - Up - Up 1 A 1.0 - Up - +v 1 B 1.0 - -v - Down 1 C 1.0 000 -89 - Up 1 D 1.0 - Down - 30 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exportnakedbegin.svx������������������������������������������������������������0000644�0001750�0001750�00000000112�14647535025�014063� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=1 error=1 *begin 1 1 2 1 0 0 *begin *export 3 *end *end 1 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normal.pos����������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�012002� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ( 1.00, 0.00, 0.00 ) 4 ( 0.00, -0.00, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_quadrant_bearing.svx��������������������������������������������������������0000664�0001750�0001750�00000000542�14756727464�014672� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=15 *fix a reference 0 0 0 *units compass quadrants *data normal from to tape compass clino a b 10.0 X 0 a e 40.0 E12E 0 a f 10.0 E12N 0 a g 13.0 S99E 0 a h 05.0 N12N 0 a i 12.0 N999999999999E 0 a j 23.0 NE 0 a k 23.0 SW 0 a l 23.0 SX 0 a m 23.0 S-E 0 a n 23.0 S.E 0 a p 23.0 S90.1E 0 a q 23.0 S-0E 0 a r 23.0 45 0 a s 34.0 S99X 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/require_fail.out����������������������������������������������������������������0000664�0001750�0001750�00000000700�14765125402�013170� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./require_fail.svx:2:13: error: End of line not blank *require 1.0abc ; test warning with suffix (added in 1.4.11) ^~~ ./require_fail.svx:3:13: error: End of line not blank *require 1. 42 ; spaces in the version rejected in 1.4.11 and later ^~ ./require_fail.svx:5:10: error: Survex version 1.5 or greater required to process this survey data. *require 1.5 ; require a version later than the current one ^~~ ����������������������������������������������������������������survex-1.4.17/tests/nomeasure.dat�������������������������������������������������������������������0000644�0001750�0001750�00000000454�14567212227�012466� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave SURVEY NAME: C SURVEY DATE: 10 13 1986 COMMENT:Hello SURVEY TEAM: Them DECLINATION: 0 FORMAT: DDDDLRUDLAD CORRECTIONS: 0.00 0.00 0.00 FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS C1 C2 3.281 0 0 1 1 1 1 C2 C3 6.562 0 0 1 1 1 1 #|L# C3 C4 9.843 0 0 1 1 1 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multisurvey.dump����������������������������������������������������������������0000664�0001750�0001750�00000002705�14756727464�013316� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "FAKE CAVE" DATE "?" DATE_NUMERIC -1 VERSION -2 SEPARATOR ' ' -- NODE -21.40 37.64 -26.55 [Z+ Z6] UNDERGROUND ENTRANCE EXPORTED XSECT 0.46 0.30 0.15 0.15 [Z+ Z6] NODE -20.09 39.08 -26.46 [Z+ Z7] UNDERGROUND XSECT 0.00 0.91 0.30 0.91 [Z+ Z7] LEG -21.40 37.64 -26.55 -20.09 39.08 -26.46 [Z+] NODE -19.93 39.96 -26.00 [Z+ Z8] UNDERGROUND XSECT 1.07 0.61 1.52 0.30 [Z+ Z8] LEG -20.09 39.08 -26.46 -19.93 39.96 -26.00 [Z+] NODE -19.29 42.12 -25.15 [Z+ Z9] UNDERGROUND XSECT 0.00 0.00 0.00 0.00 [Z+ Z9] LEG -19.93 39.96 -26.00 -19.29 42.12 -25.15 [Z+] XSECT_END NODE -21.40 37.64 -26.55 [Z* Z6] UNDERGROUND ENTRANCE EXPORTED XSECT 0.46 0.30 0.15 0.15 [Z* Z6] 1999.12.31 NODE -24.11 36.21 -28.19 [Z* Z10] UNDERGROUND XSECT 0.46 0.30 0.76 0.91 [Z* Z10] 1999.12.31 LEG -21.40 37.64 -26.55 -24.11 36.21 -28.19 [Z*] 1999.12.31 NODE -23.10 37.19 -29.08 [Z* Z11] UNDERGROUND XSECT 0.76 0.15 0.76 0.46 [Z* Z11] 1999.12.31 LEG -24.11 36.21 -28.19 -23.10 37.19 -29.08 [Z*] 1999.12.31 NODE -24.11 39.56 -31.00 [Z* Z12] UNDERGROUND XSECT 0.15 1.22 0.15 0.46 [Z* Z12] 1999.12.31 LEG -23.10 37.19 -29.08 -24.11 39.56 -31.00 [Z*] 1999.12.31 NODE -25.27 40.97 -31.06 [Z* Z13] UNDERGROUND WALL XSECT 0.00 0.00 0.00 0.00 [Z* Z13] 1999.12.31 LEG -24.11 39.56 -31.00 -25.27 40.97 -31.06 [Z*] SPLAY 1999.12.31 XSECT_END XSECT 0.15 1.22 0.15 0.46 [Z* Z12] 1999.12.31 NODE -25.27 40.97 -30.75 [Z* Z14] UNDERGROUND WALL XSECT_END LEG -24.11 39.56 -31.00 -25.27 40.97 -30.75 [Z*] SPLAY 1999.12.31 STOP �����������������������������������������������������������survex-1.4.17/tests/surveytypo.out������������������������������������������������������������������0000664�0001750�0001750�00000002150�14765126030�012771� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... ./surveytypo.svx:15: error: Reference to station "gos.1" from non-existent survey "gos" ./surveytypo.svx:15: warning: Station "gos.1" referred to just once, with an explicit survey name - typo? cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./surveytypo.svx:10: info: cave.001 Calculating network... Calculating traverses... Calculating trailing traverses... ./surveytypo.svx:4: warning: Unused fixed point "gps.1" Calculating statistics... Survey contains 4 survey stations, joined by 2 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ./surveytypo.svx:15: error: Reference to station "gos.1" from non-existent survey "gos" ./surveytypo.svx:15: warning: Station "gos.1" referred to just once, with an explicit survey name - typo? There were 4 warning(s) and 2 error(s) - no output files produced. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/v1.3d���������������������������������������������������������������������������0000644�0001750�0001750�00000001243�14525274540�010551� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File Bv0.01 3dtopostst Sat,2001.09.15 17:12:56 BST ����������������������������G�����������D���������������������)��������������������(���������� ��������� ���������survey.2_9a ���(�����survey.2_a ��������survey.2_10 ��������survey.2_9 ���)�����survey.2 ��������survey.001 ���D������survey.0a ���G������survey.00 ��������survey.0 ��������survey.1 ��������2 ������������������1 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badinc2.out���������������������������������������������������������������������0000644�0001750�0001750�00000000273�14567212227�012030� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������In file included from ./badinc2.svx:3: ./badinc.svx:3:10: error: Couldn't open file "nonexistent_file" *include nonexistent_file ^~~~~~~~~~~~~~~~ cavern: error: No survey data �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/smoke.tst�����������������������������������������������������������������������0000775�0001750�0001750�00000004245�14756727464�011675� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - smoke tests # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi test -x "$testdir"/../src/cavern || testdir=. # Ensure that --version and --help work without an X display. DISPLAY= export DISPLAY PROGS="cavern diffpos extend sorterr survexport aven" # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vgrun= vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" vgrun="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error" fi for p in ${PROGS}; do echo $p for o in version help ; do if test -n "$VERBOSE"; then $vgrun "$testdir/../src/$p" --$o exitcode=$? else $vgrun "$testdir/../src/$p" --$o > /dev/null exitcode=$? fi 2> stderr.log if [ -s stderr.log ] ; then echo "$p --$o produced output on stderr:" cat stderr.log rm stderr.log exit 1 fi rm stderr.log if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 done done test -n "$VERBOSE" && echo "Test passed" exit 0 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set_dot_in_name.dump��������������������������������������������������������0000664�0001750�0001750�00000000646�14756727464�014662� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "cmd_set_dot_in_name" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '!' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [pull4] STYLE=NORMAL LEG 0.00 1.00 0.00 1.00 1.00 0.00 [pull4] STYLE=NORMAL LEG 1.00 1.00 0.00 1.00 0.00 0.00 [pull4] STYLE=NORMAL NODE 1.00 0.00 0.00 [pull4!2.2] UNDERGROUND NODE 1.00 1.00 0.00 [pull4!2.1] UNDERGROUND NODE 0.00 1.00 0.00 [pull4!2] UNDERGROUND NODE 0.00 0.00 0.00 [pull4!1] UNDERGROUND STOP ������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_set_bad.svx�����������������������������������������������������������������0000664�0001750�0001750�00000001040�14765125402�012754� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=10 *fix 1 reference 0 0 0 *begin *set blank ^ *fix^1 reference^0^0^0 ; error *end *begin *set comment %" " a comment % another comment ; comment ; error *set keyword ; *end ; error ;end *begin *set blank + *set+decimal+,/ *set+plus *set+NAMES+() *fix+(2)+reference+1.0+2/0+3 ; error *set+blank+& *fix&3&reference&+1.0&2&3 ; error *end *begin *set omit _ *set names *set separator - *equate foo.1 1 ; error *begin bar *export 1 1 2 100 - down ; error *end bar *end *set FormFeed = ; error *set ROOT $ *set names1 *set names2 _- ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multisurvey.plt�����������������������������������������������������������������0000664�0001750�0001750�00000002026�14756727464�013144� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Z -129.26 319.44 -94.30 439.00 -130.05 126.30 I 1357.3 SFAKE CAVE NZ+ D 1 1 1901 CFake Passage M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 0.0 D 128.2 -65.9 -86.8 SZ7 P 0.0 3.0 1.0 3.0 I 21.8 D 131.1 -65.4 -85.3 SZ8 P 3.5 2.0 5.0 1.0 I 45.5 D 138.2 -63.3 -82.5 SZ9 P 0.0 0.0 0.0 0.0 I 58.9 X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 SFAKE CAVE NZ* D 12 31 1999 CFake Passage 2 M 123.5 -70.2 -87.1 SZ6 P 1.5 1.0 0.5 0.5 I 72.8 D 118.8 -79.1 -92.5 SZ10 P 1.5 1.0 2.5 3.0 I 105.8 D 122.0 -75.8 -95.4 SZ11 P 2.5 0.5 2.5 1.5 I 126.8 D 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 I 105.8 D 134.4 -82.9 -101.9 SZ13 P 0.0 0.0 0.0 0.0 I 138.6 FS M 129.8 -79.1 -101.7 SZ12 P 0.5 4.0 0.5 1.5 D 134.4 -82.9 -100.9 SZ14 I 138.6 FS X 118.78 138.22 -82.94 -63.34 -101.90 -82.53 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/folder.mak����������������������������������������������������������������������0000664�0001750�0001750�00000000125�14756727464�011756� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/ pos=dump warn=0 / [subdir; #cave1a.dat; [subsubdir; #cave2.dat; ]; #cave1b.dat; ]; �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/doubleinc.svx�������������������������������������������������������������������0000664�0001750�0001750�00000000102�14756727464�012512� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=2 error=0 *include cmd_dummy *include cmd_dummy.svx ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bug5.svx������������������������������������������������������������������������0000664�0001750�0001750�00000000267�14756732050�011407� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= A B 1 0 0 *equate A C D C 1 0 0 *equate E C F D 1 0 0 F D 1 0 0 H B 1 0 0 B J 1 0 0 *equate C K *fix H 0 0 0 *fix J 1 1 1 *fix K 2 2 2 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurveyhanging2.out������������������������������������������������������������0000664�0001750�0001750�00000001650�14765126030�014034� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./nosurveyhanging2.svx:5: info: Survey has no fixed points. Therefore I've fixed 2 at (0,0,0) Removing trailing traverses... Concatenating traverses... Simplifying network... cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./nosurveyhanging2.svx:4: info: 1 ./nosurveyhanging2.svx:4: info: 0 Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 1 leg. There are 0 loops. Survey has 3 connected components. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from 3 at 0.00m to 3 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 2 at 0.00m) East-West range = 0.00m (from 3 at 0.00m to 3 at 0.00m) There were 1 warning(s). ����������������������������������������������������������������������������������������survex-1.4.17/tests/inferunknown.svx����������������������������������������������������������������0000664�0001750�0001750�00000000251�14765125402�013256� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=7 *fix 1 reference 0 0 0 *infer qwerty on *infer exp0rts on *infer exp0rts 0n *infer 99 off *infer plumbs 0ff *infer plumbs 66 *infer plumbs f00 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/normignall.svx������������������������������������������������������������������0000644�0001750�0001750�00000000262�14647535025�012702� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data normal from to tape compass clino 1 2 1.00 000 0 2 3 1.00 090 0 ; test *data normal clino compass to from tape 0 180 4 3 1.00 0 270 5 4 1.00 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/diving.pos����������������������������������������������������������������������0000664�0001750�0001750�00000000630�14756727464�012015� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, -0.00 ) 2 ( 1.00, 1.00, -0.00 ) 3 ( 1.00, 1.00, 1.03 ) 3a ( 1.00, 0.00, 0.00 ) 4 ( 0.00, 0.00, 0.00 ) 5 ( 0.00, 1.00, -0.00 ) 6 ( 1.00, 1.00, -0.00 ) 7 ( -3.00, 1.00, -3.00 ) 8 ( -3.00, 13.00, -8.00 ) 9 ( 3.93, 13.00, -12.00 ) 10 ��������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_cmd_flags.svx���������������������������������������������������������������0000664�0001750�0001750�00000000703�14765125402�013262� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail error=20 *fix 1 reference 0 0 0 *flags *flags; comment *flags ; comment *flags rubbish *flags not rubbish *flags not not *flags not *flags not; comment *flags not ; comment *flags splay rubbish *flags splay not rubbish *flags splay not not *flags splay not *flags rubbish splay *flags not rubbish splay *flags not not splay *flags splay rubbish surface *flags splay not rubbish surface *flags splay not not surface *flags splay n0t surface �������������������������������������������������������������survex-1.4.17/tests/omitclino.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012511� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 12.00, 0.00 ) 2 ( 11.00, 12.00, 0.00 ) 3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinosurv.dump����������������������������������������������������������������0000664�0001750�0001750�00000000743�14765126030�013273� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "multinosurv" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 1.00 0.00 0.00 0.50 0.50 0.50 [] STYLE=NOSURVEY LEG 1.00 0.00 0.00 0.00 0.00 1.00 [] STYLE=NOSURVEY LEG 1.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NOSURVEY LEG 0.00 0.00 0.00 1.00 0.00 0.00 [] STYLE=NOSURVEY NODE 0.00 0.00 1.00 [4] UNDERGROUND NODE 0.00 1.00 0.00 [3] UNDERGROUND NODE 0.00 0.00 0.00 [1] UNDERGROUND FIXED NODE 1.00 0.00 0.00 [2] UNDERGROUND FIXED NODE 0.50 0.50 0.50 [5] UNDERGROUND FIXED STOP �����������������������������survex-1.4.17/tests/utf8bom.out���������������������������������������������������������������������0000664�0001750�0001750�00000001045�14765126030�012106� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./utf8bom.svx:1:7: warning: Invalid year (< 1900 or > 2078) *date 9999.1.1 ; pos=no warn=1 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s). �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/jsonexport.json�����������������������������������������������������������������0000664�0001750�0001750�00000000343�14756727464�013121� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������{"bounds":[0.00,0.00,0.00,199.24,33.99,189.28], "traverses":[ [[0.00,33.99,189.28],[99.62,25.27,189.28],[99.62,16.56,89.66],[0.00,7.84,89.66],[0.00,0.00,179.32]], [[99.62,16.56,89.66],[199.24,7.84,89.66],[199.24,0.00,0.00]] ]} ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/equate_bug.svx������������������������������������������������������������������0000664�0001750�0001750�00000000523�14766114127�012661� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 error=0 ; Each of the examples below triggered an assertion failure starting with 1.4.13. ; Fixed in 1.4.17. ; https://trac.survex.com/ticket/143 *fix A 0 0 0 *fix B 0 0 0 ; warning: Equating two equal fixed points: "a" and "b" *equate A B *fix 1 0 0 0 1 1a 1 0 0 2 2a 1 0 0 2 2b 1 0 0 2 2c 1 0 0 2 2d 1 0 0 *equate 1 2 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/tapelessthandepth.svx�����������������������������������������������������������0000644�0001750�0001750�00000000371�14647535025�014261� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 ; the omittable data for topofil and diving styles were reversed in 0.95 *fix 1 123 456 789 *data topofil from to fromcount tocount compass 1 2 12345 67890 090 *data diving from to tape compass fromdepth todepth 2 3 1.00 090 0.0 1.2 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/legacytokens.out����������������������������������������������������������������0000664�0001750�0001750�00000004501�14765126030�013212� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./legacytokens.svx:4:5: warning: No blank after token *fix2 reference0 0 0 ^ ./legacytokens.svx:4:16: warning: No blank after token *fix2 reference0 0 0 ^ ./legacytokens.svx:6:6: warning: No blank after token 0 1 F- DOWN1.00 ^ ./legacytokens.svx:6:12: warning: No blank after token 0 1 F- DOWN1.00 ^ ./legacytokens.svx:7:10: warning: No blank after token 1 2 F - D1.00 ^ ./legacytokens.svx:8:11: warning: No blank after token 3 2 F - UP1.00 ^ ./legacytokens.svx:9:10: warning: No blank after token 4 3 F - U1.00 ^ ./legacytokens.svx:10:11: warning: No blank after token 5 4 F - +V1.00 ^ ./legacytokens.svx:11:11: warning: No blank after token 5 6 F - -V1.00 ^ ./legacytokens.svx:12:6: warning: No blank after token 6 7 F000 LEVEL1.00 ^ ./legacytokens.svx:12:15: warning: No blank after token 6 7 F000 LEVEL1.00 ^ ./legacytokens.svx:13:10: warning: No blank after token 7 8 F - D+1.00 ^ ./legacytokens.svx:15:14: warning: No blank after token 8 9 1.00 DOWN- ^ ./legacytokens.svx:16:13: warning: No blank after token 10 9 1.00 UP- ^ ./legacytokens.svx:18:5: warning: No blank after token DOWN11 F 10 1.00 - ^ ./legacytokens.svx:19:5: warning: No blank after token DOWN_12 F 11 1.00 - ^ ./legacytokens.svx:21:2: error: Unknown command "corrections2" *corrections2 3.00 ^~~~~~~~~~~~ ./legacytokens.svx:22:18: warning: No blank after token *declination auto0 0 0 ^ ./legacytokens.svx:22:14: error: Input coordinate system must be specified for "*DECLINATION AUTO" *declination auto0 0 0 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 13 survey stations, joined by 12 legs. There are 0 loops. Total length of survey legs = 12.00m ( 12.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 11.00m Vertical range = 9.00m (from 0 at 2.00m to 10 at -7.00m) North-South range = 1.00m (from _12 at 1.00m to 6 at 0.00m) East-West range = 0.00m (from _12 at 0.00m to _12 at 0.00m) There were 17 warning(s) and 2 error(s) - no output files produced. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/unconnected-bug.svx�������������������������������������������������������������0000664�0001750�0001750�00000000075�14756732050�013622� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=2 *fix 1 0 0 0 .. 2 1.00 000 0 2 .. 1.00 000 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_conv_proj_bug.svx�����������������������������������������������0000664�0001750�0001750�00000001504�14756727464�016605� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 ; Based on reduced testcase posted by Patrick Warren to the mailing list. ; ; The input coordinate system has been changed from OSGB:SD as that was giving ; different output on Linux and macOS depending whether the datum grid is ; installed. ; ; The convergence value was 90-v instead of v with PROJ < 9.3.0. Survex 1.4.6 ; works around the problem. ; ; Also if *cs out was after *declination auto a grid convergence of 0 degrees ; was used - Survex 1.4.6 calculates the convergence lazily which happens when ; we read a compass reading, and gives an error if the output coordinate system ; hasn't been set by then. *cs EPSG:25830 *declination auto 562696.24 6000557.63 225 *cs out EPSG:3042 *date 2005.12.15 *fix 1 562696.24 6000557.63 225 *data normal from to tape compass clino 1 2 25.0 000 0 ; due north, magnetic ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/deltastarhanging.out������������������������������������������������������������0000664�0001750�0001750�00000001451�14765126030�014042� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... cavern: warning: Survey not all connected to fixed stations The following survey stations are not attached to a fixed point: ./deltastarhanging.svx:5: info: c Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 7 legs. There are 3 loops. Survey has 2 connected components. Total length of survey legs = 1.00m ( 1.00m adjusted) Total plan length of survey legs = 1.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from g at 0.00m to g at 0.00m) North-South range = 1.00m (from g at 1.00m to f at 0.00m) East-West range = 0.00m (from g at 0.00m to g at 0.00m) There were 1 warning(s). �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlefix.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000102�14525274540�012477� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurvey2.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000206�14525274540�012470� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 2 ( 1.00, 1.00, 0.00 ) 3 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/dot17.svx�����������������������������������������������������������������������0000644�0001750�0001750�00000001041�14647535025�011472� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *begin 204 *begin midlevel *export 110_bidet_b.2 *begin 110_bidet_b *export 2 1 2 1.00 0 0 *end 110_bidet_b *end midlevel *begin trunk *export nopainnogain.2 *begin nopainnogain *export 1 2 1 2 1 90 0 *end nopainnogain *begin insignificant2 *export 0 0 1 1 300 0 1 2 1 180 0 2 0 1 60 0 *end insignificant2 *equate nopainnogain.1 insignificant2.0 *end trunk *equate midlevel.110_bidet_b.2 trunk.nopainnogain.2 *end 204 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr5.svx������������������������������������������������������������������0000644�0001750�0001750�00000000132�14647535025�012653� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin example *export 1 *export 1 1 2 1.24 045 -6 *end example ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/hpglexport.hpgl�����������������������������������������������������������������0000664�0001750�0001750�00000001606�14765125402�013046� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������IN;SP1;SI0.125,.179; PU0,15142;PD7969,15142;PD7969,7172;PU7969,7172;PD15939,7172;SP3;PU7969,7172;PD0,7172;SP1;PU15939,7172;PD15939,11;SP2;PU15939,7172;PD15939,0;SP3;PU7969,7172;PD7969,0;PU0,7172;PD0,0;SP1;PU15939,11;LB6a; PU15939,11;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU15939,0;LB6; PU15939,0;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU15939,7172;LB5; PU15939,7172;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU0,0;LB; PU0,0;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU0,7172;LB3; PU0,7172;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU7969,0;LB; PU7969,0;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU7969,7172;LB2; PU7969,7172;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU7969,15142;LB1; PU7969,15142;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; PU0,15142;LBbh; PU0,15142;PD;PR28,28;PR-56,-56;PU56,0;PD-56,56;PU28,-28;PA; IW;PG; ��������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/singlereffixerr.svx�������������������������������������������������������������0000644�0001750�0001750�00000000056�14647535025�013737� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 reference 0 0 0 1 1 1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/component_count_bug.svx���������������������������������������������������������0000664�0001750�0001750�00000000270�14765126030�014601� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 ; We counted two components here which led us to incorrectly think there was a ; loop. Fixed in 1.4.13. *fix _ 0 0 0 _ 4 1 0 0 _ 3 1 0 0 _ 2 1 0 0 _ 1 1 0 0 _ 0 1 0 0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/karstcompat.dump����������������������������������������������������������������0000664�0001750�0001750�00000001416�14756727464�013234� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "karstcompat" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 1.00 0.00 1.00 0.98 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 0.00 0.00 1.00 0.00 0.02 [] STYLE=NORMAL LEG 1.00 0.00 0.02 1.00 -1.00 0.00 [] STYLE=NORMAL LEG 0.00 0.00 0.00 0.00 1.00 0.00 [] STYLE=NORMAL 1986.10.13 LEG 0.00 1.00 0.00 0.59 2.15 0.52 [] STYLE=NORMAL 1999.12.01 LEG 0.59 2.15 0.52 0.59 2.15 -0.42 [] STYLE=NORMAL 1999.12.01 NODE 0.59 2.15 -0.42 [D2] UNDERGROUND NODE 0.59 2.15 0.52 [D1] UNDERGROUND NODE 0.00 1.00 0.00 [C2] UNDERGROUND NODE 1.00 -1.00 0.00 [B2] UNDERGROUND NODE 1.00 0.00 0.02 [B1] UNDERGROUND NODE 1.00 0.98 0.00 [c4] UNDERGROUND NODE 0.00 1.00 0.00 [C3] UNDERGROUND NODE 0.00 0.00 0.00 [C1] UNDERGROUND STOP ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/nosurv.out����������������������������������������������������������������������0000664�0001750�0001750�00000001160�14765126030�012054� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 0 legs. There are 0 loops. Survey has 4 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m Vertical range = 1.00m (from 4 at 1.00m to 3 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 4 at 0.00m) East-West range = 1.00m (from 2 at 1.00m to 4 at 0.00m) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/bad_quadrant_bearing.out��������������������������������������������������������0000664�0001750�0001750�00000004130�14765126030�014634� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./bad_quadrant_bearing.svx:5:10: error: Expecting quadrant bearing, found "X" a b 10.0 X 0 ^ ./bad_quadrant_bearing.svx:6:10: error: Expecting quadrant bearing, found "E12E" a e 40.0 E12E 0 ^~~~ ./bad_quadrant_bearing.svx:7:10: error: Expecting quadrant bearing, found "E12N" a f 10.0 E12N 0 ^~~~ ./bad_quadrant_bearing.svx:8:10: error: Suspicious compass reading a g 13.0 S99E 0 ^~~~ ./bad_quadrant_bearing.svx:9:10: error: Expecting quadrant bearing, found "N12N" a h 05.0 N12N 0 ^~~~ ./bad_quadrant_bearing.svx:10:10: error: Suspicious compass reading a i 12.0 N999999999999E 0 ^~~~~~~~~~~~~~ ./bad_quadrant_bearing.svx:11:10: error: Expecting quadrant bearing, found "NE" a j 23.0 NE 0 ^~ ./bad_quadrant_bearing.svx:12:10: error: Expecting quadrant bearing, found "SW" a k 23.0 SW 0 ^~ ./bad_quadrant_bearing.svx:13:10: error: Expecting quadrant bearing, found "SX" a l 23.0 SX 0 ^~ ./bad_quadrant_bearing.svx:14:10: error: Expecting quadrant bearing, found "S-E" a m 23.0 S-E 0 ^~~ ./bad_quadrant_bearing.svx:15:10: error: Expecting quadrant bearing, found "S.E" a n 23.0 S.E 0 ^~~ ./bad_quadrant_bearing.svx:16:10: error: Suspicious compass reading a p 23.0 S90.1E 0 ^~~~~~ ./bad_quadrant_bearing.svx:17:10: error: Expecting quadrant bearing, found "S-0E" a q 23.0 S-0E 0 ^~~~ ./bad_quadrant_bearing.svx:18:10: error: Expecting quadrant bearing, found "45" a r 23.0 45 0 ^~ ./bad_quadrant_bearing.svx:19:10: error: Expecting quadrant bearing, found "S99X" a s 34.0 S99X 0 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 0 warning(s) and 15 error(s) - no output files produced. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multinormignall.svx�������������������������������������������������������������0000644�0001750�0001750�00000000475�14647535025�013763� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data normal station ignoreall newline tape compass clino 1 blah blah wobble 1.00 000 0 2 ; test 1.00 090 0 ; test 3 *data normal station ignoreall newline tape compass clino ignoreall 3 1.00 180 0 _-=-_ ; testing 4 ickity ick ; testing 1.00 270 0 and the rest 5 6 7 8 9 10 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr3b.svx�����������������������������������������������������������������0000644�0001750�0001750�00000000263�14647535025�013020� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin outer *begin inner 1 2 1.23 045 -6 *end inner *end outer *equate entrance.a outer.inner.1 *begin entrance *export a a b 1.11 111 11 *end entrance ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_auto.out��������������������������������������������������������0000664�0001750�0001750�00000002356�14765126030�014674� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_declination_auto.svx:11: warning: No survey date specified - using 0 for magnetic declination 1 2 10.00 320 -06 ./cmd_declination_auto.svx:27: warning: No survey date specified - using 0 for magnetic declination 2 3 2.0 123 -66 ./cmd_declination_auto.svx:6: info: Declination: 1.7dg @ 2000-12-25, grid convergence: -0.9dg *declination auto 0410600 5282000 1234 ./cmd_declination_auto.svx:39: info: Declination: 2.0dg @ 2000-12-26 / 2.0dg @ 2000-12-27, grid convergence: -0.1dg *declination auto 0490600 5282000 1234 Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Approximate full range of grid convergence: -0.9dg at d.1 to -0.9dg at d.2b Survey contains 13 survey stations, joined by 12 legs. There are 0 loops. Total length of survey legs = 175.23m ( 175.23m adjusted) Total plan length of survey legs = 171.98m Total vertical length of survey legs = 5.00m Vertical range = 4.87m (from a.1 at 1234.00m to c.3 at 1229.13m) North-South range = 107.61m (from d.2 at 5282107.61m to a.1 at 5282000.00m) East-West range = 9.99m (from d.2b at 410603.72m to d.1 at 410593.73m) There were 2 warning(s). ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multidiving.out�����������������������������������������������������������������0000664�0001750�0001750�00000001307�14765126030�013056� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./multidiving.svx:17:3: warning: Tape reading is less than change in depth 0.99 000 ^~~~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 5 legs. There are 0 loops. Total length of survey legs = 4.99m ( 4.99m adjusted) Total plan length of survey legs = 4.00m Total vertical length of survey legs = 0.99m Vertical range = 0.99m (from 6 at 0.99m to 5 at 0.00m) North-South range = 1.00m (from 3 at 1.00m to 6 at -0.00m) East-West range = 1.00m (from 4 at 1.00m to 2 at 0.00m) There were 1 warning(s). �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/omitfixaroundsolve.svx����������������������������������������������������������0000664�0001750�0001750�00000000173�14756727464�014517� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 ; Regression test for bug fixed in 1.2.14 a 0 012 15.0 +12 *fix a *solve *fix b b 1 123 10.0 -01 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_prefix.svx������������������������������������������������������������������0000644�0001750�0001750�00000000127�14647535025�012660� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *fix 1 0 0 0 1 2 1 0 0 ; this should generate a warning *prefix wibble �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/begin_no_end.svx����������������������������������������������������������������0000644�0001750�0001750�00000000053�14647535025�013144� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *begin 1 2 0 0 0 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/exporterr6.svx������������������������������������������������������������������0000644�0001750�0001750�00000000257�14647535025�012664� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=1 *equate entrance outer.mid.inner.1 *begin outer *export mid.inner.1 *begin mid *begin inner *export 1 1 2 1.23 045 -6 *end inner *end mid *end outer �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_sd.svx����������������������������������������������������������������������0000664�0001750�0001750�00000001045�14756727464�012006� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=1 *fix 1 reference 0 0 0 ; so there's some survey data *sd tape 0.15 metres *sd tape 0.05 meters *sd tape .2 metric *sd tape 0.9 feet *sd tape 1. yards *sd counter 0.15 metres *sd depth 0.15 metres *sd tape counter 0.05 meters *sd tape counter depth 0.05 meters *sd compass 10 degrees *sd clino 1 grads *sd compass clino 5 degs *sd clino compass 3 mils ;*sd clino declination compass 3 mils ;*sd declination 3 minutes *sd dx 2 feet *sd dy 2 feet *sd dz 2 feet *sd dx dy 2 feet *sd dy dz 2 feet *sd dx dz 2 feet *sd dx dy dz 2 feet �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/badopts.srv���������������������������������������������������������������������0000664�0001750�0001750�00000000345�14756732050�012170� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail err=3 warn=0 dummycrprotection= #units save restore restore restore ; `restore` without corresponding `save` #units D=bad a=bad a=bad ab=bad v=bad vb=bad s=bad #units odrer=dav ract order=bad typeab=bad typevb=bad �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/compare.tst���������������������������������������������������������������������0000775�0001750�0001750�00000005761�14756727464�012211� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # # Survex test suite - compare 2 versions of cavern on a dataset # Copyright (C) 1999-2024 Olly Betts # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA testdir=`echo $0 | sed 's!/[^/]*$!!' || echo '.'` # allow us to run tests standalone more easily : ${srcdir="$testdir"} if [ -z "$SURVEXLIB" ] ; then SURVEXLIB=`cd "$srcdir/../lib" && pwd` export SURVEXLIB fi # force VERBOSE if we're run on a subset of tests #test -n "$*" && VERBOSE=1 test -x "$testdir"/../src/cavern || testdir=. : ${CAVERN="$testdir"/../src/cavern} : ${CAVERN_ORIG=cavern} : ${DIFFPOS="$testdir"/../src/diffpos} : ${TESTS=${*-""}} # Suppress checking for leaks on exit if we're build with lsan - we don't # generally waste effort to free all allocations as the OS will reclaim # memory on exit. LSAN_OPTIONS=leak_check_at_exit=0 export LSAN_OPTIONS vg_error=123 vg_log=vg.log if [ -n "$VALGRIND" ] ; then rm -f "$vg_log" CAVERN="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $CAVERN" DIFFPOS="$VALGRIND --log-file=$vg_log --error-exitcode=$vg_error $DIFFPOS" fi for file in $TESTS ; do if test -n "$file" ; then echo "$file" rm -f tmp.* tmp_orig.* if test -n "$VERBOSE" ; then $CAVERN_ORIG "$file" --output=tmp_orig | tee tmp_orig.out || exit 1 $CAVERN "$file" --output=tmp | tee tmp.out exitcode=$? else $CAVERN_ORIG "$file" --output=tmp_orig > tmp_orig.out || exit 1 $CAVERN "$file" --output=tmp > tmp.out exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 warn_orig=`sed '$!d;s/^There were \([0-9]*\).*/\1/;s/^[^0-9].*$/0/' tmp_orig.out warn=`sed '$!d;s/^There were \([0-9]*\).*/\1/;s/^[^0-9].*$/0/' tmp.out` if test x"$warn_orig" != x"$warn" ; then echo "$CAVERN_ORIG gave $warn_orig warning(s)" echo "$CAVERN gave $warn warning(s)" exit 1 fi if test -n "$VERBOSE" ; then $DIFFPOS tmp.3d tmp_orig.3d exitcode=$? else $DIFFPOS tmp.3d tmp_orig.3d > /dev/null exitcode=$? fi if [ -n "$VALGRIND" ] ; then if [ $exitcode = "$vg_error" ] ; then cat "$vg_log" rm "$vg_log" exit 1 fi rm "$vg_log" fi [ "$exitcode" = 0 ] || exit 1 fi done test -n "$VERBOSE" && echo "Test passed" exit 0 ���������������survex-1.4.17/tests/walls.out�����������������������������������������������������������������������0000664�0001750�0001750�00000007332�14765126030�011651� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./walls.srv:5:18: warning: End of line not blank #date 2024-03-09 walls appears to ignore anything here ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./walls.srv:27:28: warning: CLINO reading and BACKCLINO reading disagree by 4dg :U1 U2 10.1m N79E/S79W -28/24 *15 25 4 3* ^~ ./walls.srv:47:14: warning: End of line not blank #prefix test walls appears to ignore anything here ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./walls.srv:55:8: warning: Unknown command "inch" #units inch=1 ; regression test ^~~~ ./walls.srv:59:12: warning: Ignoring "gradeb)" #units uv=4gradeb) inch=1 ^~~~~~~ ./walls.srv:59:20: warning: Unknown command "inch" #units uv=4gradeb) inch=1 ^~~~ ./walls.srv:60:13: warning: Ignoring "gradeb" #units uvv=4gradeb inch=1 ^~~~~~ ./walls.srv:60:20: warning: Unknown command "inch" #units uvv=4gradeb inch=1 ^~~~ ./walls.srv:61:13: warning: Ignoring "gradeb" #units uvh=4gradeb inch=1 ^~~~~~ ./walls.srv:61:20: warning: Unknown command "inch" #units uvh=4gradeb inch=1 ^~~~ ./walls.srv:62:18: warning: Ignoring "Q)" #units typeab=n,4Q),X inch=1 ^~ ./walls.srv:62:23: warning: Unknown command "inch" #units typeab=n,4Q),X inch=1 ^~~~ ./walls.srv:63:20: warning: Ignoring "Q" #units typevb=c,1.2Q inch=1 ^ ./walls.srv:63:22: warning: Unknown command "inch" #units typevb=c,1.2Q inch=1 ^~~~ ./walls.srv:74:11: warning: Expecting station name U11 EMPTY: 1.00 -- 90 ^ ./walls.srv:83:36: warning: Ignoring ">" U13 U14 1.00 000 00 1 0.5 <0,1,0,1>> ^ ./walls.srv:84:48: warning: Ignoring "." U14 U15 0.5 354.4/174.5 -7.4/+7.4 *0.5 3 2.5 2*. ^ ./walls.srv:85:37: warning: Ignoring "3" U15 U16 1.5 45/224 +1/0 *15 0 3 1.5*3 ^ ./walls.srv:86:43: warning: Ignoring "0.5*" U16 U17 0.7 87.9/267.9 48.9/-48.9 *2,1,5,*0.5* ^~~~ ./walls.srv:87:15: warning: End of line not blank U17 <1,2,3,0> 'random comment here ^~~~~~~~~~~~~~~~~~~~ ./walls.srv:88:38: warning: Ignoring "6*" U17 U18 1.4 043/224 +5/-3.5 *0 9 4.5*6* ^~ ./walls.srv:89:40: warning: Ignoring "+" U18 U19 1.6 200/19 -34/+33 *0 20 100 5*+ #seg /X ^ ./walls.srv:90:38: warning: Ignoring "K1" U19 U20 1.2 0/180 -90/90 *20 5 0 3.2*K1 ^~ ./walls.srv:91:36: warning: Ignoring "/" U20 U21 1.10 265/84 -5/5 *2 3 15 4*/ ^ ./walls.srv:98:5: warning: Parsing as "to" station but may be isolated LRUD with missing closing delimiter U23 *8 5 15 3.58 ^~ ./walls.srv:100:5: warning: Parsing as "to" station but may be isolated LRUD with missing closing delimiter U23 <8 5 15 3.58 ^~ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 37 survey stations, joined by 35 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 105.38m ( 105.38m adjusted) Total plan length of survey legs = 77.59m Total vertical length of survey legs = 60.94m Vertical range = 56.04m (from U12b at 51.00m to anonymous station at -5.04m) Vertical range = 55.37m (from U12b at 51.00m to 12#4 at -4.37m) North-South range = 53.08m (from U12b at 40.00m to 12#4 at -13.08m) East-West range = 31.49m (from U12a at 30.00m to U1 at -1.49m) There were 26 warning(s). ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/imgtest_simple.svx��������������������������������������������������������������0000664�0001750�0001750�00000000036�14756727464�013601� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*fix 1 0 0 0 1 2 10.00 000 00 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination_auto.pos��������������������������������������������������������0000664�0001750�0001750�00000001033�14756727464�014677� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) (410600.00, 5282000.00, 1234.00 ) 1 (410600.00, 5282000.00, 1234.00 ) a.1 (410593.73, 5282007.72, 1232.95 ) a.2 (410593.74, 5282008.94, 1233.08 ) a.3 (410593.73, 5282007.72, 1232.95 ) b.1 (410593.73, 5282007.72, 1231.95 ) b.2 (410593.73, 5282007.72, 1231.95 ) c.1 (410593.73, 5282007.72, 1230.95 ) c.2 (410594.40, 5282007.26, 1229.13 ) c.3 (410593.73, 5282007.72, 1230.95 ) d.1 (410598.24, 5282107.61, 1230.95 ) d.2 (410595.52, 5282057.68, 1230.95 ) d.2a (410603.72, 5282007.36, 1230.95 ) d.2b �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lengthunits.pos�����������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�013056� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 10.00, 0.00 ) 2 ( 0.00, 13.05, 0.00 ) 3 ( 0.00, 23.05, 0.00 ) 4 ( 0.00, 32.19, 0.00 ) 5 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_case.pos��������������������������������������������������������������������0000644�0001750�0001750�00000000312�14525274540�012250� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 1.00, 0.00 ) B ( 0.00, 2.00, 0.00 ) C ( 0.00, 0.00, 0.00 ) a ( 0.00, 3.00, 0.00 ) d ( 0.00, 4.00, 0.00 ) e ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/repeatreading.pos���������������������������������������������������������������0000644�0001750�0001750�00000000144�14567212227�013327� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 10.25, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_declination.pos�������������������������������������������������������������0000644�0001750�0001750�00000000432�14567212227�013631� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 0.00, 0.00 ) a.1 ( 10.00, 0.00, 0.00 ) a.2 ( 10.00, 0.00, 0.00 ) b.1 ( 10.00, 10.00, 0.00 ) b.2 ( 10.00, 10.00, 0.00 ) c.1 ( 10.00, 0.00, 0.00 ) c.2 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_fix_bad.out�����������������������������������������������������������������0000664�0001750�0001750�00000015330�14765126030�012743� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������./cmd_fix_bad.svx:2:9: error: Expecting numeric field, found "" *fix A 0 ^ ./cmd_fix_bad.svx:3:11: error: Expecting numeric field, found "" *fix B 0 0 ^ ./cmd_fix_bad.svx:4:30: error: Expecting numeric field, found "" *fix C 0 0 0 1.0 2.0 3.0 3.14 ^ ./cmd_fix_bad.svx:5:35: error: Expecting numeric field, found "" *fix D 0 0 0 1.0 2.0 3.0 3.14 2.18 ^ ./cmd_fix_bad.svx:6:8: error: Expecting numeric field, found "test" *fix E test ^~~~ ./cmd_fix_bad.svx:8:20: error: Expecting numeric field, found "" *fix Ar reference 0 ^ ./cmd_fix_bad.svx:9:22: error: Expecting numeric field, found "" *fix Br reference 0 0 ^ ./cmd_fix_bad.svx:10:41: error: Expecting numeric field, found "" *fix Cr reference 0 0 0 1.0 2.0 3.0 3.14 ^ ./cmd_fix_bad.svx:11:46: error: Expecting numeric field, found "" *fix Dr reference 0 0 0 1.0 2.0 3.0 3.14 2.18 ^ ./cmd_fix_bad.svx:12:19: error: Expecting numeric field, found "test" *fix Er reference test ^~~~ ./cmd_fix_bad.svx:14:31: error: Standard deviation must be positive *fix W1 reference 123 456 789 0 ^ ./cmd_fix_bad.svx:15:31: error: Standard deviation must be positive *fix W2 reference 123 456 789 0 0 ^ ./cmd_fix_bad.svx:16:31: error: Standard deviation must be positive *fix W3 reference 123 456 789 0 0 0 ^ ./cmd_fix_bad.svx:17:32: error: Standard deviation must be positive *fix W1m reference 123 456 789 -1 ^~ ./cmd_fix_bad.svx:18:32: error: Standard deviation must be positive *fix W2m reference 123 456 789 -1 -1 ^~ ./cmd_fix_bad.svx:19:32: error: Standard deviation must be positive *fix W3m reference 123 456 789 -1 -1 -1 ^~ ./cmd_fix_bad.svx:20:32: error: Standard deviation must be positive *fix W1o reference 123 456 789 -1 0 ^~ ./cmd_fix_bad.svx:21:32: error: Standard deviation must be positive *fix W2o reference 123 456 789 0 -1 ^ ./cmd_fix_bad.svx:22:32: error: Standard deviation must be positive *fix W3o reference 123 456 789 0 -1 -1 ^ ./cmd_fix_bad.svx:23:32: error: Standard deviation must be positive *fix W4o reference 123 456 789 -1 0 -1 ^~ ./cmd_fix_bad.svx:24:32: error: Standard deviation must be positive *fix W5o reference 123 456 789 -1 -1 0 ^~ ./cmd_fix_bad.svx:25:32: error: Standard deviation must be positive *fix W6o reference 123 456 789 0 0 -1 ^ ./cmd_fix_bad.svx:26:32: error: Standard deviation must be positive *fix W7o reference 123 456 789 0 -1 0 ^ ./cmd_fix_bad.svx:27:32: error: Standard deviation must be positive *fix W8o reference 123 456 789 -1 0 0 ^~ ./cmd_fix_bad.svx:28:31: error: Standard deviation must be positive *fix X1 reference 123 456 789 0 0.1 ^ ./cmd_fix_bad.svx:29:35: error: Standard deviation must be positive *fix X2 reference 123 456 789 0.1 0 ^ ./cmd_fix_bad.svx:30:32: error: Standard deviation must be positive *fix X1m reference 123 456 789 -0.1 0.1 ^~~~ ./cmd_fix_bad.svx:31:36: error: Standard deviation must be positive *fix X2m reference 123 456 789 0.1 -0.1 ^~~~ ./cmd_fix_bad.svx:32:31: error: Standard deviation must be positive *fix Y1 reference 123 456 789 0 0.1 0.1 ^ ./cmd_fix_bad.svx:33:35: error: Standard deviation must be positive *fix Y2 reference 123 456 789 0.1 0 0.1 ^ ./cmd_fix_bad.svx:34:39: error: Standard deviation must be positive *fix Y3 reference 123 456 789 0.1 0.1 0 ^ ./cmd_fix_bad.svx:35:31: error: Standard deviation must be positive *fix Y4 reference 123 456 789 0 0 0.1 ^ ./cmd_fix_bad.svx:36:31: error: Standard deviation must be positive *fix Y5 reference 123 456 789 0 0.1 0 ^ ./cmd_fix_bad.svx:37:35: error: Standard deviation must be positive *fix Y6 reference 123 456 789 0.1 0 0 ^ ./cmd_fix_bad.svx:38:32: error: Standard deviation must be positive *fix Y1m reference 123 456 789 -1 0.1 0.1 ^~ ./cmd_fix_bad.svx:39:36: error: Standard deviation must be positive *fix Y2m reference 123 456 789 0.1 -1 0.1 ^~ ./cmd_fix_bad.svx:40:40: error: Standard deviation must be positive *fix Y3m reference 123 456 789 0.1 0.1 -1 ^~ ./cmd_fix_bad.svx:41:32: error: Standard deviation must be positive *fix Y4m reference 123 456 789 -1 -1 0.1 ^~ ./cmd_fix_bad.svx:42:32: error: Standard deviation must be positive *fix Y5m reference 123 456 789 -1 0.1 -1 ^~ ./cmd_fix_bad.svx:43:36: error: Standard deviation must be positive *fix Y6m reference 123 456 789 0.1 -1 -1 ^~ ./cmd_fix_bad.svx:51:6: error: Station already fixed or equated to a fixed point *fix W 0 0 1 ^ ./cmd_fix_bad.svx:49: info: Previously fixed or equated here ./cmd_fix_bad.svx:52:6: error: Station already fixed or equated to a fixed point *fix Wa 0 0 2 ^~ ./cmd_fix_bad.svx:50: info: Previously fixed or equated here ./cmd_fix_bad.svx:53:6: error: Station already fixed or equated to a fixed point *fix Wb 0 0 3 ^~ ./cmd_fix_bad.svx:50: info: Previously fixed or equated here ./cmd_fix_bad.svx:54:8: info: FIX command with no coordinates - fixing at (0,0,0) *fix Wa;comment ^ ./cmd_fix_bad.svx:54:6: warning: Station already fixed at the same coordinates *fix Wa;comment ^~ ./cmd_fix_bad.svx:50: info: Previously fixed or equated here ./cmd_fix_bad.svx:57:17: error: Expecting numeric field, found "" *fix Z reference ^ Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 4 survey stations, joined by 2 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 1 warning(s) and 44 error(s) - no output files produced. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cslonglat.out�������������������������������������������������������������������0000664�0001750�0001750�00000000707�14765126030�012514� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 2 survey stations, joined by 0 legs. There are 0 loops. Survey has 2 connected components. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m ���������������������������������������������������������survex-1.4.17/tests/fixedlollipop.out���������������������������������������������������������������0000664�0001750�0001750�00000001161�14765126030�013373� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 6 legs. There are 2 loops. Survey has 2 connected components. Total length of survey legs = 14.00m ( 14.00m adjusted) Total plan length of survey legs = 14.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from y at 0.00m to y at 0.00m) North-South range = 5.00m (from y at 5.00m to w at 0.00m) East-West range = 9.00m (from y at 9.00m to c at -0.00m) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/multicartesian.svx��������������������������������������������������������������0000644�0001750�0001750�00000000255�14647535025�013566� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 *fix 1 0 0 0 *data cartesian station newline easting northing altitude 1 0 1 0 2 ; test 1 0 0 ; test 3 3 0 -1 0 ; testing 4 ; testing -1 0 0 5 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_cartesian_bad.svx�����������������������������������������������������������0000664�0001750�0001750�00000000410�14765125402�014132� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=6 *fix 1 reference 0 0 0 *cartesian fridge *cartesian fridge 1.0 degrees *cartesian magnetic 0 *cartesian true degrees *cartesian grid2degrees *cartesian magnetic2 degrees ; FIXME: This should flag an error really. *cartesian true 2degrees ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lollipop.out��������������������������������������������������������������������0000664�0001750�0001750�00000001114�14765126030�012351� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 6 survey stations, joined by 6 legs. There is 1 loop. Total length of survey legs = 14.00m ( 12.00m adjusted) Total plan length of survey legs = 14.00m Total vertical length of survey legs = 0.00m Vertical range = 0.00m (from s at 0.00m to s at 0.00m) North-South range = 6.00m (from c at 5.00m to s at -1.00m) East-West range = 4.00m (from 2 at 4.00m to 1 at 0.00m) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/csbadsdfix.svx������������������������������������������������������������������0000644�0001750�0001750�00000000535�14647535025�012655� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=23 *fix 1 reference 0 0 0 1 1 1 *cs EPSG:-1 *cs ERSI:1234 *cs EUR79Z31 *cs IJTSK 03 *cs IJTSK04 *cs IJTSK99 *cs IJTSK3 *cs IJTSK032 *cs IJTSK03a *cs lat-lat *cs Long-LONG *cs OSGB:ZZ *cs OSGB:HI *cs S-LONG *cs UTM0 *cs UTM61N *cs UTM61S *cs custom "+proj=ection" *cs out lat-long *cs out long-lat *cs out jtsk *cs out jtsk03 �������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_cartesian.svx���������������������������������������������������������������0000664�0001750�0001750�00000000503�14756732050�013332� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=dump warn=0 *fix 0 0 0 0 *data cartesian from to dx dy dz *declination 90 degrees *cartesian true 0 true 10 0 0 *cartesian grid 0 grid 10 0 0 *cartesian magnetic 0 magnetic 0 10 0 *cartesian true 90 degrees 0 true2 0 -10 0 *cartesian grid 100 grads 0 grid2 0 -10 0 *cartesian magnetic 5400 minutes 0 magnetic2 10 0 0 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/anonstn.svx���������������������������������������������������������������������0000664�0001750�0001750�00000000454�14756732050�012223� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=yes warn=0 error=0 *fix 1 0 0 0 1 . 2.00 000 0 1 ... 10 - down *data normal tape compass clino from to 5.0 - down 1 .;comment 5.0 - down 1 ..;comment 5.0 - down 1 ...;comment *alias station - .. 5.0 - down 1 -;comment *data cartesian from to dx dy dz 1 2 3 3 3 2 . 1 0 0 2 .. 0 1 0 2 ... 0 0 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/surveytypo.svx������������������������������������������������������������������0000664�0001750�0001750�00000000343�14756732050�013011� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=4 dummycrprotection= *begin gps *export 1 *fix 1 66123.45 79123.45 123.45 *end gps *begin cave *export 000 000 001 05.55 038.0 -05.0 *end cave ; typo: gos should be gps *equate gos.1 cave.000 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/extend.svx����������������������������������������������������������������������0000644�0001750�0001750�00000000044�14647535025�012025� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1 2 10.00 010 -05 2 3 5.00 020 -05 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/3sdfixbug.pos�������������������������������������������������������������������0000644�0001750�0001750�00000000144�14525274540�012413� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������( Easting, Northing, Altitude ) ( 1.00, 0.00, 0.00 ) 1 ( 1.00, 1.00, 0.00 ) 2 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lech.svx������������������������������������������������������������������������0000664�0001750�0001750�00000000140�14756732050�011446� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 dummycrprotection= *fix B 0 0 0 A B 1 0 0 A C 1 0 0 A B 1 0 0 *equate A C ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/cmd_cartesian.dump��������������������������������������������������������������0000664�0001750�0001750�00000001276�14756732050�013467� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������TITLE "cmd_cartesian" DATE "?" DATE_NUMERIC -1 VERSION 8 SEPARATOR '.' -- LEG 0.00 0.00 0.00 10.00 0.00 0.00 [] STYLE=CARTESIAN LEG 0.00 0.00 0.00 10.00 0.00 0.00 [] STYLE=CARTESIAN LEG 0.00 0.00 0.00 10.00 0.00 0.00 [] STYLE=CARTESIAN LEG 0.00 0.00 0.00 -10.00 0.00 0.00 [] STYLE=CARTESIAN LEG 0.00 0.00 0.00 -10.00 0.00 0.00 [] STYLE=CARTESIAN LEG 0.00 0.00 0.00 -10.00 0.00 0.00 [] STYLE=CARTESIAN NODE -10.00 0.00 0.00 [magnetic2] UNDERGROUND NODE -10.00 0.00 0.00 [grid2] UNDERGROUND NODE -10.00 0.00 0.00 [true2] UNDERGROUND NODE 10.00 0.00 0.00 [magnetic] UNDERGROUND NODE 10.00 0.00 0.00 [grid] UNDERGROUND NODE 10.00 0.00 0.00 [true] UNDERGROUND NODE 0.00 0.00 0.00 [0] UNDERGROUND FIXED STOP ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/2fixbug.svx���������������������������������������������������������������������0000644�0001750�0001750�00000000146�14647535025�012107� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 *fix 3 0 0 0 1 3 1 0 0 3 1 1 0 0 5 2 1 0 0 2 5 1 0 0 2 6 1 0 0 6 1 1 0 0 *fix 6 1 1 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/baddatanosurv.svx���������������������������������������������������������������0000664�0001750�0001750�00000001052�14765126030�013366� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=fail warn=0 error=7 *fix 1 reference 0 0 0 ; this next line should ignore the data until the next *data *data nosurvey from too 1 a ; Check final token being bad gives an error *data nosurvey from to foo 1 b ; Check tokens include numerics *data nosurvey from to f0o 1 c ; "Interleaved" nosurvey data is just a list of stations so ; "newline" isn't allowed. *data nosurvey from newline to 1 d *data nosurvey station newline 1 e ; Check errors for mixing interleaved and non-interleaved *data nosurvey from station 1 f *data nosurvey station to 1 g ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/chinabug2.svx�������������������������������������������������������������������0000644�0001750�0001750�00000000135�14647535025�012401� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; pos=no warn=0 1 2 29.84 306 15 1 2 29.84 306 15 *sd compass 10.0 degrees 2 1 29.73 119 -15 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/lrud.dat������������������������������������������������������������������������0000664�0001750�0001750�00000001223�14756727464�011451� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Cave of the dimensioned passage SURVEY NAME: PASSAGEWAY SURVEY DATE: 1 1 1901 SURVEY TEAM: DECLINATION: 0.00 FORMAT: DMMDLRUDLAD FROM TO LENGTH BEARING INC LEFT UP DOWN RIGHT FLAGS COMMENTS AA1 AA2 37.10 45.00 -6.00 29.00 32.00 5.00 8.00 AA2 AA3 34.56 56.00 -11.00 19.00 24.00 5.00 7.00 AA3 AA4 20.66 53.00 -13.00 13.00 26.00 5.00 9.00 AA4 AA5 36.65 48.00 -10.00 8.00 29.00 5.00 12.00 AA5 AA5 0.00 0.00 0.00 12.99 25.00 5.00 6.00 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/eswapx.3d�����������������������������������������������������������������������0000644�0001750�0001750�00000000456�14525274540�011537� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Survex 3D Image File v3 eswap (extended) Tue,2005.02.22 23:57:05 GMT Bb��������R��������R��������Bc���������������������Bd����������������������nBd1������n���������:����Be:������������������������RBa������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������survex-1.4.17/tests/svgexport.svg�������������������������������������������������������������������0000664�0001750�0001750�00000002116�14766114231�012554� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="27.080mm" height="27.080mm" viewBox="0 0 27.080 27.080"> <title>svgexport svy.2 svy.1 entrance survex-1.4.17/tests/cmd_calibrate.svx0000644000175000017500000000025714647535025013315 ; pos=no *fix 1 0 0 0 *calibrate tape -10 0.5 1 2 100.00 090 0 ; corrected length should be 55 *calibrate tape -10 metres 0.5 1 3 100.00 090 0 ; corrected length should be 60 survex-1.4.17/tests/cmd_fix.svx0000664000175000017500000000054514756732050012155 ; pos=yes warn=3 *fix A ; generates an info diagnostic *fix B reference 0 0 0 *fix C reference 0 0 0 1.0 *fix D reference 0 0 0 1.0 2.0 *fix E reference 0 0 0 1.0 2.0 3.0 *fix F reference 0 0 0 1.0 2.0 3.0 3.14 2.18 1.44 ; Test warnings *fix W 0 0 0 *equate W1 W W2 *fix W 0 0 0 *fix W1 0 0 0 *fix W2 0 0 0 ; Suppress warning that A is unused *entrance A survex-1.4.17/tests/doubleinc.out0000664000175000017500000000151114765126030012464 In file included from ./doubleinc.svx:3: ./cmd_dummy.svx:2:8: warning: Reentering an existing survey is deprecated *begin it_all ^~~~~~ ./cmd_dummy.svx:2: info: Originally entered here ./cmd_dummy.svx:12:6: warning: Station already fixed at the same coordinates *fix no_warnings_please reference 0 0 0 ^~~~~~~~~~~~~~~~~~ ./cmd_dummy.svx:12: info: Previously fixed or equated here Removing trailing traverses... Concatenating traverses... Simplifying network... Calculating network... Calculating traverses... Calculating trailing traverses... Calculating statistics... Survey contains 1 survey station, joined by 0 legs. There are 0 loops. Total length of survey legs = 0.00m ( 0.00m adjusted) Total plan length of survey legs = 0.00m Total vertical length of survey legs = 0.00m There were 2 warning(s). survex-1.4.17/tests/diving.svx0000664000175000017500000000120514756727464012033 ; pos=yes warn=1 *fix 1 0 0 0 *data diving from to fromdepth todepth tape compass 1 2 0.0 0.0 1.00 000 2 3 0.0 0.0 1.00 090 3 3a 0.0 1.1 1.00 180 *data diving to from fromdepth todepth tape compass 4 3 1.0 1.0 1.00 180 5 4 1.0 1.0 1.00 270 *data diving to from depthchange tape compass 6 5 0.0 1.00 000 7 6 0.0 1.00 090 *data diving from fromcount fromdepth compass to tocount todepth ; 3:4:5 triangle... 7 123 5.0 270 8 128 2.0 *data diving station count depth newline compass ; 5:12:13 triangle... 8 128 2.0 000 9 141 -3.0 ; check diving leg with clino *data diving from to fromdepth todepth tape compass clino 9 10 0 -4.0 8.0 090 -30 survex-1.4.17/tests/cmd_truncate.pos0000644000175000017500000000051714525274540013171 ( Easting, Northing, Altitude ) ( 0.00, 0.00, 0.00 ) 1 ( 0.00, 1.00, 0.00 ) 20 ( 0.00, 2.00, 0.00 ) 30 ( 0.00, 1.00, 0.00 ) 301 ( 0.00, 3.00, 0.00 ) 40 ( 0.00, 3.00, 0.00 ) longername ( 0.00, 2.00, 0.00 ) veryveryveryveryveryveryveryveryveryveryverylongname survex-1.4.17/tests/utm.mak0000664000175000017500000000023714756727464011314 / pos=dump warn=1 / @1314000.0,5428000.0,50.0,-60,0.0; $-60; &WGS 1984; *fix bh reference 174.7767 -41.2784 30 #backread.dat, C1 [m,1313799.91,5427953.18,30]; survex-1.4.17/tests/export.svx0000644000175000017500000000021114647535025012053 ; pos=no warn=0 *equate entrance outer.inner.1 *begin outer *export inner.1 *begin inner *export 1 1 2 1.23 045 -6 *end inner *end outer survex-1.4.17/config.sub0000755000175000017500000010511614766657026010633 #! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale timestamp='2022-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. # The "shellcheck disable" line above the timestamp inhibits complaints # about features and limitations of the classic Bourne shell that were # superseded or lifted in POSIX. However, this script identifies a wide # variety of pre-POSIX systems that do not have POSIX shells at all, and # even some reasonably current systems (Solaris 10 as case-in-point) still # have a pre-POSIX /bin/sh. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Split fields of configuration type # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read field1 field2 field3 field4 <&2 exit 1 ;; *-*-*-*) basic_machine=$field1-$field2 basic_os=$field3-$field4 ;; *-*-*) # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two # parts maybe_os=$field2-$field3 case $maybe_os in nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | storm-chaos* | os2-emx* | rtmk-nova*) basic_machine=$field1 basic_os=$maybe_os ;; android-linux) basic_machine=$field1-unknown basic_os=linux-android ;; *) basic_machine=$field1-$field2 basic_os=$field3 ;; esac ;; *-*) # A lone config we happen to match not fitting any pattern case $field1-$field2 in decstation-3100) basic_machine=mips-dec basic_os= ;; *-*) # Second component is usually, but not always the OS case $field2 in # Prevent following clause from handling this valid os sun*os*) basic_machine=$field1 basic_os=$field2 ;; zephyr*) basic_machine=$field1-unknown basic_os=$field2 ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ | convergent* | ncr* | news | 32* | 3600* | 3100* \ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ | ultra | tti* | harris | dolphin | highlevel | gould \ | cbm | ns | masscomp | apple | axis | knuth | cray \ | microblaze* | sim | cisco \ | oki | wec | wrs | winbond) basic_machine=$field1-$field2 basic_os= ;; *) basic_machine=$field1 basic_os=$field2 ;; esac ;; esac ;; *) # Convert single-component short-hands not valid as part of # multi-component configurations. case $field1 in 386bsd) basic_machine=i386-pc basic_os=bsd ;; a29khif) basic_machine=a29k-amd basic_os=udi ;; adobe68k) basic_machine=m68010-adobe basic_os=scout ;; alliant) basic_machine=fx80-alliant basic_os= ;; altos | altos3068) basic_machine=m68k-altos basic_os= ;; am29k) basic_machine=a29k-none basic_os=bsd ;; amdahl) basic_machine=580-amdahl basic_os=sysv ;; amiga) basic_machine=m68k-unknown basic_os= ;; amigaos | amigados) basic_machine=m68k-unknown basic_os=amigaos ;; amigaunix | amix) basic_machine=m68k-unknown basic_os=sysv4 ;; apollo68) basic_machine=m68k-apollo basic_os=sysv ;; apollo68bsd) basic_machine=m68k-apollo basic_os=bsd ;; aros) basic_machine=i386-pc basic_os=aros ;; aux) basic_machine=m68k-apple basic_os=aux ;; balance) basic_machine=ns32k-sequent basic_os=dynix ;; blackfin) basic_machine=bfin-unknown basic_os=linux ;; cegcc) basic_machine=arm-unknown basic_os=cegcc ;; convex-c1) basic_machine=c1-convex basic_os=bsd ;; convex-c2) basic_machine=c2-convex basic_os=bsd ;; convex-c32) basic_machine=c32-convex basic_os=bsd ;; convex-c34) basic_machine=c34-convex basic_os=bsd ;; convex-c38) basic_machine=c38-convex basic_os=bsd ;; cray) basic_machine=j90-cray basic_os=unicos ;; crds | unos) basic_machine=m68k-crds basic_os= ;; da30) basic_machine=m68k-da30 basic_os= ;; decstation | pmax | pmin | dec3100 | decstatn) basic_machine=mips-dec basic_os= ;; delta88) basic_machine=m88k-motorola basic_os=sysv3 ;; dicos) basic_machine=i686-pc basic_os=dicos ;; djgpp) basic_machine=i586-pc basic_os=msdosdjgpp ;; ebmon29k) basic_machine=a29k-amd basic_os=ebmon ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson basic_os=ose ;; gmicro) basic_machine=tron-gmicro basic_os=sysv ;; go32) basic_machine=i386-pc basic_os=go32 ;; h8300hms) basic_machine=h8300-hitachi basic_os=hms ;; h8300xray) basic_machine=h8300-hitachi basic_os=xray ;; h8500hms) basic_machine=h8500-hitachi basic_os=hms ;; harris) basic_machine=m88k-harris basic_os=sysv3 ;; hp300 | hp300hpux) basic_machine=m68k-hp basic_os=hpux ;; hp300bsd) basic_machine=m68k-hp basic_os=bsd ;; hppaosf) basic_machine=hppa1.1-hp basic_os=osf ;; hppro) basic_machine=hppa1.1-hp basic_os=proelf ;; i386mach) basic_machine=i386-mach basic_os=mach ;; isi68 | isi) basic_machine=m68k-isi basic_os=sysv ;; m68knommu) basic_machine=m68k-unknown basic_os=linux ;; magnum | m3230) basic_machine=mips-mips basic_os=sysv ;; merlin) basic_machine=ns32k-utek basic_os=sysv ;; mingw64) basic_machine=x86_64-pc basic_os=mingw64 ;; mingw32) basic_machine=i686-pc basic_os=mingw32 ;; mingw32ce) basic_machine=arm-unknown basic_os=mingw32ce ;; monitor) basic_machine=m68k-rom68k basic_os=coff ;; morphos) basic_machine=powerpc-unknown basic_os=morphos ;; moxiebox) basic_machine=moxie-unknown basic_os=moxiebox ;; msdos) basic_machine=i386-pc basic_os=msdos ;; msys) basic_machine=i686-pc basic_os=msys ;; mvs) basic_machine=i370-ibm basic_os=mvs ;; nacl) basic_machine=le32-unknown basic_os=nacl ;; ncr3000) basic_machine=i486-ncr basic_os=sysv4 ;; netbsd386) basic_machine=i386-pc basic_os=netbsd ;; netwinder) basic_machine=armv4l-rebel basic_os=linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony basic_os=newsos ;; news1000) basic_machine=m68030-sony basic_os=newsos ;; necv70) basic_machine=v70-nec basic_os=sysv ;; nh3000) basic_machine=m68k-harris basic_os=cxux ;; nh[45]000) basic_machine=m88k-harris basic_os=cxux ;; nindy960) basic_machine=i960-intel basic_os=nindy ;; mon960) basic_machine=i960-intel basic_os=mon960 ;; nonstopux) basic_machine=mips-compaq basic_os=nonstopux ;; os400) basic_machine=powerpc-ibm basic_os=os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson basic_os=ose ;; os68k) basic_machine=m68k-none basic_os=os68k ;; paragon) basic_machine=i860-intel basic_os=osf ;; parisc) basic_machine=hppa-unknown basic_os=linux ;; psp) basic_machine=mipsallegrexel-sony basic_os=psp ;; pw32) basic_machine=i586-unknown basic_os=pw32 ;; rdos | rdos64) basic_machine=x86_64-pc basic_os=rdos ;; rdos32) basic_machine=i386-pc basic_os=rdos ;; rom68k) basic_machine=m68k-rom68k basic_os=coff ;; sa29200) basic_machine=a29k-amd basic_os=udi ;; sei) basic_machine=mips-sei basic_os=seiux ;; sequent) basic_machine=i386-sequent basic_os= ;; sps7) basic_machine=m68k-bull basic_os=sysv2 ;; st2000) basic_machine=m68k-tandem basic_os= ;; stratus) basic_machine=i860-stratus basic_os=sysv4 ;; sun2) basic_machine=m68000-sun basic_os= ;; sun2os3) basic_machine=m68000-sun basic_os=sunos3 ;; sun2os4) basic_machine=m68000-sun basic_os=sunos4 ;; sun3) basic_machine=m68k-sun basic_os= ;; sun3os3) basic_machine=m68k-sun basic_os=sunos3 ;; sun3os4) basic_machine=m68k-sun basic_os=sunos4 ;; sun4) basic_machine=sparc-sun basic_os= ;; sun4os3) basic_machine=sparc-sun basic_os=sunos3 ;; sun4os4) basic_machine=sparc-sun basic_os=sunos4 ;; sun4sol2) basic_machine=sparc-sun basic_os=solaris2 ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun basic_os= ;; sv1) basic_machine=sv1-cray basic_os=unicos ;; symmetry) basic_machine=i386-sequent basic_os=dynix ;; t3e) basic_machine=alphaev5-cray basic_os=unicos ;; t90) basic_machine=t90-cray basic_os=unicos ;; toad1) basic_machine=pdp10-xkl basic_os=tops20 ;; tpf) basic_machine=s390x-ibm basic_os=tpf ;; udi29k) basic_machine=a29k-amd basic_os=udi ;; ultra3) basic_machine=a29k-nyu basic_os=sym1 ;; v810 | necv810) basic_machine=v810-nec basic_os=none ;; vaxv) basic_machine=vax-dec basic_os=sysv ;; vms) basic_machine=vax-dec basic_os=vms ;; vsta) basic_machine=i386-pc basic_os=vsta ;; vxworks960) basic_machine=i960-wrs basic_os=vxworks ;; vxworks68) basic_machine=m68k-wrs basic_os=vxworks ;; vxworks29k) basic_machine=a29k-wrs basic_os=vxworks ;; xbox) basic_machine=i686-pc basic_os=mingw32 ;; ymp) basic_machine=ymp-cray basic_os=unicos ;; *) basic_machine=$1 basic_os= ;; esac ;; esac # Decode 1-component or ad-hoc basic machines case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) cpu=hppa1.1 vendor=winbond ;; op50n) cpu=hppa1.1 vendor=oki ;; op60c) cpu=hppa1.1 vendor=oki ;; ibm*) cpu=i370 vendor=ibm ;; orion105) cpu=clipper vendor=highlevel ;; mac | mpw | mac-mpw) cpu=m68k vendor=apple ;; pmac | pmac-mpw) cpu=powerpc vendor=apple ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) cpu=m68000 vendor=att ;; 3b*) cpu=we32k vendor=att ;; bluegene*) cpu=powerpc vendor=ibm basic_os=cnk ;; decsystem10* | dec10*) cpu=pdp10 vendor=dec basic_os=tops10 ;; decsystem20* | dec20*) cpu=pdp10 vendor=dec basic_os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) cpu=m68k vendor=motorola ;; dpx2*) cpu=m68k vendor=bull basic_os=sysv3 ;; encore | umax | mmax) cpu=ns32k vendor=encore ;; elxsi) cpu=elxsi vendor=elxsi basic_os=${basic_os:-bsd} ;; fx2800) cpu=i860 vendor=alliant ;; genix) cpu=ns32k vendor=ns ;; h3050r* | hiux*) cpu=hppa1.1 vendor=hitachi basic_os=hiuxwe2 ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) cpu=m68000 vendor=hp ;; hp9k3[2-9][0-9]) cpu=m68k vendor=hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) cpu=hppa1.1 vendor=hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) cpu=hppa1.1 vendor=hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) cpu=hppa1.0 vendor=hp ;; i*86v32) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv32 ;; i*86v4*) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv4 ;; i*86v) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=sysv ;; i*86sol2) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc basic_os=solaris2 ;; j90 | j90-cray) cpu=j90 vendor=cray basic_os=${basic_os:-unicos} ;; iris | iris4d) cpu=mips vendor=sgi case $basic_os in irix*) ;; *) basic_os=irix4 ;; esac ;; miniframe) cpu=m68000 vendor=convergent ;; *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) cpu=m68k vendor=atari basic_os=mint ;; news-3600 | risc-news) cpu=mips vendor=sony basic_os=newsos ;; next | m*-next) cpu=m68k vendor=next case $basic_os in openstep*) ;; nextstep*) ;; ns2*) basic_os=nextstep2 ;; *) basic_os=nextstep3 ;; esac ;; np1) cpu=np1 vendor=gould ;; op50n-* | op60c-*) cpu=hppa1.1 vendor=oki basic_os=proelf ;; pa-hitachi) cpu=hppa1.1 vendor=hitachi basic_os=hiuxwe2 ;; pbd) cpu=sparc vendor=tti ;; pbb) cpu=m68k vendor=tti ;; pc532) cpu=ns32k vendor=pc532 ;; pn) cpu=pn vendor=gould ;; power) cpu=power vendor=ibm ;; ps2) cpu=i386 vendor=ibm ;; rm[46]00) cpu=mips vendor=siemens ;; rtpc | rtpc-*) cpu=romp vendor=ibm ;; sde) cpu=mipsisa32 vendor=sde basic_os=${basic_os:-elf} ;; simso-wrs) cpu=sparclite vendor=wrs basic_os=vxworks ;; tower | tower-32) cpu=m68k vendor=ncr ;; vpp*|vx|vx-*) cpu=f301 vendor=fujitsu ;; w65) cpu=w65 vendor=wdc ;; w89k-*) cpu=hppa1.1 vendor=winbond basic_os=proelf ;; none) cpu=none vendor=none ;; leon|leon[3-9]) cpu=sparc vendor=$basic_machine ;; leon-*|leon[3-9]-*) cpu=sparc vendor=`echo "$basic_machine" | sed 's/-.*//'` ;; *-*) # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read cpu vendor <&2 exit 1 ;; esac ;; esac # Here we canonicalize certain aliases for manufacturers. case $vendor in digital*) vendor=dec ;; commodore*) vendor=cbm ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if test x$basic_os != x then # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. case $basic_os in gnu/linux*) kernel=linux os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` ;; os2-emx) kernel=os2 os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` ;; nto-qnx*) kernel=nto os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` ;; *-*) # shellcheck disable=SC2162 saved_IFS=$IFS IFS="-" read kernel os <&2 exit 1 ;; esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os in linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ | linux-musl* | linux-relibc* | linux-uclibc* ) ;; uclinux-uclibc* ) ;; -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 exit 1 ;; kfreebsd*-gnu* | kopensolaris*-gnu*) ;; vxworks-simlinux | vxworks-simwindows | vxworks-spe) ;; nto-qnx*) ;; os2-emx) ;; *-eabi* | *-gnueabi*) ;; -*) # Blank kernel with real OS is always fine. ;; *-*) echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 exit 1 ;; esac # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) case $cpu-$os in *-riscix*) vendor=acorn ;; *-sunos*) vendor=sun ;; *-cnk* | *-aix*) vendor=ibm ;; *-beos*) vendor=be ;; *-hpux*) vendor=hp ;; *-mpeix*) vendor=hp ;; *-hiux*) vendor=hitachi ;; *-unos*) vendor=crds ;; *-dgux*) vendor=dg ;; *-luna*) vendor=omron ;; *-genix*) vendor=ns ;; *-clix*) vendor=intergraph ;; *-mvs* | *-opened*) vendor=ibm ;; *-os400*) vendor=ibm ;; s390-* | s390x-*) vendor=ibm ;; *-ptx*) vendor=sequent ;; *-tpf*) vendor=ibm ;; *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; *-aux*) vendor=apple ;; *-hms*) vendor=hitachi ;; *-mpw* | *-macos*) vendor=apple ;; *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) vendor=atari ;; *-vos*) vendor=stratus ;; esac ;; esac echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: survex-1.4.17/vim/0000775000175000017500000000000014766657213007517 5survex-1.4.17/vim/Makefile.am0000644000175000017500000000040414563510437011456 # The caller can override this easily, e.g.: # make -C vim vimdir=/usr/share/vim/vimfiles install vimdir = $(datadir)/vim nobase_dist_vim_DATA = \ syntax/survex.vim \ syntax/survex-err.vim \ ftdetect/survex.vim \ ftplugin/survex.vim \ compiler/survex.vim survex-1.4.17/vim/compiler/0000775000175000017500000000000014766657213011331 5survex-1.4.17/vim/compiler/survex.vim0000644000175000017500000000153014563510437013306 " Copyright (C) 2006 Thomas Holder " " This program is free software; you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation; either version 2 of the License, or " (at your option) any later version. " " This program is distributed in the hope that it will be useful, " but WITHOUT ANY WARRANTY; without even the implied warranty of " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " GNU General Public License for more details. " " You should have received a copy of the GNU General Public License " along with this program; if not, write to the Free Software " Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA if exists("current_compiler") finish endif let current_compiler = "survex" lchdir %:p:h setlocal makeprg=cavern\ % survex-1.4.17/vim/Makefile.in0000664000175000017500000003563714766657026011524 # Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2024 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)) am__rm_f = rm -f $(am__rm_f_notfound) am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = vim ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(nobase_dist_vim_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = 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 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__installdirs = "$(DESTDIR)$(vimdir)" DATA = $(nobase_dist_vim_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_CXXFLAGS = @AM_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVEN_COPYRIGHT_MSG = @AVEN_COPYRIGHT_MSG@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COMMAVERSION = @COMMAVERSION@ COPYRIGHT_MSG = @COPYRIGHT_MSG@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIR = @DATADIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_TEXT = @EXTRA_TEXT@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ GDAL_CFLAGS = @GDAL_CFLAGS@ GDAL_LIBS = @GDAL_LIBS@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ 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@ PKGDOCDIR = @PKGDOCDIR@ PKGDOCDIR_EXPANDED = @PKGDOCDIR_EXPANDED@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PRETTYPACKAGE = @PRETTYPACKAGE@ PROJ_CFLAGS = @PROJ_CFLAGS@ PROJ_LIBS = @PROJ_LIBS@ RELEASE = @RELEASE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SPHINX_BUILD = @SPHINX_BUILD@ STRIP = @STRIP@ VERSION = @VERSION@ WERROR = @WERROR@ WXCONFIG = @WXCONFIG@ WX_CFLAGS = @WX_CFLAGS@ WX_CONFIG = @WX_CONFIG@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ 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@ # The caller can override this easily, e.g.: # make -C vim vimdir=/usr/share/vim/vimfiles install vimdir = $(datadir)/vim nobase_dist_vim_DATA = \ syntax/survex.vim \ syntax/survex-err.vim \ ftdetect/survex.vim \ ftplugin/survex.vim \ compiler/survex.vim all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vim/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu vim/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): install-nobase_dist_vimDATA: $(nobase_dist_vim_DATA) @$(NORMAL_INSTALL) @list='$(nobase_dist_vim_DATA)'; test -n "$(vimdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(vimdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(vimdir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(vimdir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(vimdir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(vimdir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(vimdir)/$$dir" || exit $$?; }; \ done uninstall-nobase_dist_vimDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_dist_vim_DATA)'; test -n "$(vimdir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(vimdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: 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 check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(vimdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_dist_vimDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_dist_vimDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_dist_vimDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_dist_vimDATA .PRECIOUS: Makefile # 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: # Tell GNU make to disable its built-in pattern rules. %:: %,v %:: RCS/%,v %:: RCS/% %:: s.% %:: SCCS/s.% survex-1.4.17/vim/ftdetect/0000775000175000017500000000000014766657213011321 5survex-1.4.17/vim/ftdetect/survex.vim0000644000175000017500000000012414563510437013274 au BufRead,BufNewFile *.svx setf survex au BufRead,BufNewFile *.err setf survex-err survex-1.4.17/vim/ftplugin/0000775000175000017500000000000014766657213011347 5survex-1.4.17/vim/ftplugin/survex.vim0000644000175000017500000000166614563510437013336 " Copyright (C) 2006 Thomas Holder " " This program is free software; you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation; either version 2 of the License, or " (at your option) any later version. " " This program is distributed in the hope that it will be useful, " but WITHOUT ANY WARRANTY; without even the implied warranty of " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " GNU General Public License for more details. " " You should have received a copy of the GNU General Public License " along with this program; if not, write to the Free Software " Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA if exists("b:did_ftplugin") finish endif let b:did_ftplugin = 1 setlocal tabstop=8 compiler survex map :!aven %<.3d map :write:make map :sview %<.err survex-1.4.17/vim/syntax/0000775000175000017500000000000014766657213011045 5survex-1.4.17/vim/syntax/survex-err.vim0000644000175000017500000000252114563510437013611 " Vim syntax file " Language: Survex loop closure errors " " Copyright (C) 2006 Thomas Holder " " This program is free software; you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation; either version 2 of the License, or " (at your option) any later version. " " This program is distributed in the hope that it will be useful, " but WITHOUT ANY WARRANTY; without even the implied warranty of " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " GNU General Public License for more details. " " You should have received a copy of the GNU General Public License " along with this program; if not, write to the Free Software " Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA syn match svxPErrSmall /Error\s\+\d\.\d\{2\}%/ syn match svxPErrBig /Error\s\+\d\{2,\}\.\d\{2\}%/ syn match svxErrSmall /^\d\.\d*$/ syn match svxErrBig /^\d\{2,\}\.\d*$/ syn match svxHVErrSmall /\<[HV]: \d\.\d*\>/ syn match svxHVErrBig /\<[HV]: \d\{2,\}\.\d*\>/ syn match svxPolygon /^[-_.a-zA-Z0-9]\+\( [-=] [-_.a-zA-Z0-9]\+\)\+$/ hi link svxPErrSmall Statement hi link svxErrSmall Statement hi link svxHVErrSmall Statement hi link svxPErrBig Error hi link svxErrBig Error hi link svxHVErrBig Error hi link svxPolygon Identifier map :quit survex-1.4.17/vim/syntax/survex.vim0000664000175000017500000001640314765125402013027 " Vim syntax file " Language: Survex " Maintainer: David Loeffler " Last Change: 2024-08-09 " Filenames: *.svx " URL: [NONE] " Note: This should be up to date for Survex 1.4.11 " " Copyright (C) 2005 David Loeffler " Copyright (C) 2006,2016,2017,2024 Olly Betts " " This program is free software; you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation; either version 2 of the License, or " (at your option) any later version. " " This program is distributed in the hope that it will be useful, " but WITHOUT ANY WARRANTY; without even the implied warranty of " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " GNU General Public License for more details. " " You should have received a copy of the GNU General Public License " along with this program; if not, write to the Free Software " Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " Always ignore case syn case ignore " * introduces a command syn match svxAsterisk "^\s*\*" nextgroup=SvxCmd,SvxCmdDeprecated skipwhite " Other lines are data lines syn match svxData ".*" contained nextgroup=svxDataTokens skipwhite " Command names: these first few take no interesting arguments syn keyword svxCmd contained alias begin cs date declination syn keyword svxCmd contained end entrance equate export syn keyword svxCmd contained include ref require syn keyword svxCmd contained solve title truncate syn keyword svxCmdDeprecated contained default prefix " These commands accept the whole of the rest of the line as argument, irrespective of whitespace. syn keyword svxCmd contained copyright instrument team nextgroup=svxAnything syn keyword svxCmd calibrate sd units contained nextgroup=svxQty skipwhite syn keyword svxQty contained altitude backbearing backclino backlength nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained backcompass backgradient backtape bearing clino nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained compass count counter declination nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained default depth dx dy dz easting gradient nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained length level northing plumb position nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained left right up down nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxQty contained tape nextgroup=svxQty,svxUnit,svxUnitDeprecated skipwhite syn keyword svxCmd case contained nextgroup=svxCase skipwhite syn keyword svxCase contained preserve toupper tolower contained syn keyword svxCmd data contained nextgroup=svxStyle skipwhite syn keyword svxStyle contained default ignore syn keyword svxStyle contained normal diving topofil nextgroup=svxField skipwhite syn keyword svxStyle contained cartesian cylpolar nosurvey nextgroup=svxField skipwhite syn keyword svxStyle contained passage nextgroup=svxField skipwhite syn keyword svxField contained nextgroup=svxField skipwhite altitude backbearing backclino backlength syn keyword svxField contained nextgroup=svxField skipwhite backcompass backgradient backtape bearing clino syn keyword svxField contained nextgroup=svxField skipwhite compass count counter depth depthchange syn keyword svxField contained nextgroup=svxField skipwhite direction dx dy dz easting from syn keyword svxField contained nextgroup=svxField skipwhite fromcount fromdepth gradient ignore syn keyword svxField contained nextgroup=svxField skipwhite ignoreall length newline northing syn keyword svxField contained nextgroup=svxField skipwhite station tape to tocount todepth syn keyword svxField contained nextgroup=svxField skipwhite left right up down ceiling floor syn keyword svxCmd contained nextgroup=svxFlag,svxNot skipwhite flags syn keyword svxFlag contained nextgroup=svxFlag,svxNot skipwhite duplicate surface splay syn keyword svxNot contained nextgroup=svxFlag,svxBadNot skipwhite not syn keyword svxBadNot contained nextgroup=svxFlag,svxBadNot skipwhite not syn keyword svxCmd contained nextgroup=svxInferrable skipwhite infer syn keyword svxInferrable contained nextgroup=svxOnOff skipwhite plumbs equates exports syn keyword svxOnOff contained on off syn keyword svxCmd contained nextgroup=svxNorthType skipwhite cartesian syn keyword svxNorthType contained skipwhite grid magnetic true syn keyword svxCmd contained nextgroup=svxVar,svxVarDeprecated skipwhite set syn keyword svxVar contained blank comment decimal eol keyword minus syn keyword svxVar contained names omit plus separator syn keyword svxVarDeprecated contained root syn keyword svxCmd contained nextgroup=svxQty skipwhite units syn keyword svxUnit contained yards feet metric metres meters syn keyword svxUnit contained degs degrees grads minutes syn keyword svxUnit contained percent percentage syn keyword svxUnitDeprecated contained mils syn keyword svxCmd contained skipwhite fix "FIXME: This is wrong - it's "*fix reference ..." "syn keyword svxCmd contained nextgroup=svxRef skipwhite fix "syn keyword svxRef contained reference " Miscellaneous things that are highlighted in data lines syn match svxDataTokens "\<\(d\|u\|down\|up\|level\)\>\|[-+]v\>\|\(\s\|^\)\@<=\(-\|\.\{1,3}\|[-+]v\)\(\s\|;\|$\)\@=" " Comments syn match svxComment ";.*" " Strings (double-quote) syn region svxString start=+"+ end=+"+ " Catch errors caused by filenames containing whitespace " This is just an example really, to show the kind of " error-trapping that's possible syn match svxFilenameError "\*\s*include\>\s*[^\s";]\+\s\+[^";]\+" " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_survex_syn_inits") if version < 508 let did_survex_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink svxString String HiLink svxComment Comment HiLink svxCmd Statement HiLink svxStyle Type HiLink svxUnit Identifier HiLink svxQty Identifier HiLink svxCase Identifier HiLink svxField Identifier HiLink svxFlag Identifier HiLink svxNot Identifier HiLink svxBadNot Error HiLink svxInferrable Identifier HiLink svxOnOff Special HiLink svxVar Identifier HiLink svxDataTokens Special HiLink svxAsterisk Statement HiLink svxFilenameError Error HiLink svxCmdDeprecated Todo HiLink svxUnitDeprecated Todo HiLink svxVarDeprecated Todo delcommand HiLink endif let b:current_syntax = "survex" survex-1.4.17/lib/0000775000175000017500000000000014766657207007475 5survex-1.4.17/lib/en_US.po0000664000175000017500000030433014766623474010770 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2016-09-29 05:38:46 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_US\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&File" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotation" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientation" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&View" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Controls" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Help" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Presentation" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Usage" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Out of memory" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Out of memory (couldn’t find %lu bytes)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Out of memory trying to read file “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Survex version %s or greater required to process this survey data." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "warning" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "error" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "In file included from %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix is deprecated - use *begin and *end instead" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Field may not be omitted" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Expecting numeric field, found “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "Expecting integer in range %d to %d" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Bug in program detected! Please report this to the authors" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Unknown command “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Station “%s” equated to itself" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Compass reading may not be omitted except on plumbed shots" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Tape reading may not be omitted" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "End of line not blank" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "No blank after token" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "There were %d warning(s)." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Couldn’t run external command: “%s”" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Error reading file" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Too many errors - giving up" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Compass reading given on plumbed shot" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s with no matching %s in this file" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Station “%s” not exported from survey “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Reference to station “%s” from non-existent survey “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” can’t be both a station and a survey" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Expecting station name" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Found “%s”, expecting “ON” or “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Only one station in EQUATE command" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Unknown quantity “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unknown units “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "Unknown team role “%s”" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "Units “%s” are deprecated, assuming “grads” - see manual for details" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Unknown coordinate system" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Invalid coordinate system: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Coordinate system unsuitable for output" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Failed to convert coordinates: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "The input projection is set but the output projection isn't" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "The output projection is set but the input projection isn't" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "Coordinates can't be omitted when coordinate system has been specified" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Input coordinate system must be specified for “%s”" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "Output coordinate system not set" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "Datum “%s” not supported" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Expected number or “AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "No survey date specified - using 0 for magnetic declination" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Declination: %s, grid convergence: %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "Matching BEGIN tag has no survey name" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Invalid units “%s” for quantity" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Unknown instrument “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Scale factor must be 1.0 for DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Scale factor must be non-zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Unknown setting “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Unknown character class “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "No survey data" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Filename “%s” refers to directory" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Survey not all connected to control points" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Station already fixed or equated to a control point" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "Previously fixed or equated here" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Failed to open output file “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Standard deviation must be positive" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Survey shot with same station (“%s”) at both ends - typing error?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Clino reading over %.f%s (absolute value)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tried to equate two non-equal control points: “%s” and “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Equating two equal control points: “%s” and “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "FIX command with no coordinates - fixing at (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Station already fixed at the same coordinates" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Already had FIX command with no coordinates for station “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "Station “%s” fixed before CS command first used" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT must immediately follow “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "Assuming 2 digit year is %d" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Invalid year (< 1900 or > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Invalid year" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Suspicious compass reading" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Negative tape reading" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Same station fixed twice with no coordinates" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Tape reading is less than change in depth" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Reading “%s” not allowed in data style “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Too few readings for data style “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Data style “%s” unknown" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Station “%s” already exported" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Duplicate reading “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "Duplicate date type “%s”" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” unknown" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Missing \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Station “%s” referred to just once, with an explicit survey name - typo?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "The following survey stations are not attached to a control point:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Survey has no control points. Therefore I’ve fixed %s at (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Unused control point “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Solving %d simultaneous equations" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Reading “%s” duplicates previous reading(s)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Solving one equation" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Negative adjusted tape reading" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Date is in the future!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "End of date range is before the start" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Cross section specified at non-existent station “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "CLINO and BACKCLINO readings must be of the same type" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "Plumbed CLINO and BACKCLINO readings can't be in the same direction" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Invalid month" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Invalid day of the month" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "3d file format versions %d to %d supported" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Expecting survey name" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Couldn’t open file “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Couldn’t write file “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Failed to create temporary file" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Further uses of this deprecated feature will not be reported" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "TAPE reading and BACKTAPE reading disagree by %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "COMPASS reading and BACKCOMPASS reading disagree by %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "CLINO reading and BACKCLINO reading disagree by %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” is deprecated - use “*data %s …” instead" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Bad 3d image file “%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Date and time not available." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Error reading from file “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Error writing to file “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Error writing to file" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "There were %d warning(s) and %d error(s) - no output files produced." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "File “%s” has a newer format than this program can understand" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "North" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Profile on" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "P&lan view" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "P&rofile" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Profile" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Plan" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "Kiwi Plan" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calculating statistics" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Expecting string field" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "too few arguments" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "too many arguments" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FILE" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Removing trailing traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Concatenating traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calculating traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calculating trailing traverses" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplifying network" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calculating network" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Found “%s”, expecting “F” or “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Total length of survey shots = %7.2f%s (%7.2f%s adjusted)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Total plan length of survey shots = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Total vertical length of survey shots = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "There is 1 loop." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "There are %ld loops." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "CPU time used %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Time used %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Time used unavailable" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Time used %5.2fs (%5.2fs CPU time)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Original length %6.2fm (%3d shots), moved %6.2fm (%5.2fm/shot). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Error %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Error N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "display this help and exit" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "output version information and exit" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPTION" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Scale" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Try “%s --help” for more information.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Processed: %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Extended 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Plan view, %s up page" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Profile facing %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "plan view (equivalent to --tilt=-90)" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Profile facing %s, tilted %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "profile view (equivalent to --tilt=0)" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Extended profile" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Survey contains 1 survey station," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Survey contains %ld survey stations," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " joined by 1 shot." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " joined by %ld shots." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "node" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nodes" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Survey has %ld connected components." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Save Log" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Reprocess" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "numeric argument “%s” out of range" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argument “%s” not an integer" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argument “%s” not a number" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Expecting “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Expecting “%s” or “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Expecting “%s”, “%s”, or “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Expecting “%s”, “%s”, “%s”, or “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "Expecting quadrant bearing, found “%s”" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Station “%s” referred to by *%s but never used" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "No matching %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "Survey name doesn’t match BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Survey name omitted from END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Easting, Northing, Altitude )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Display Depth: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (color)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Expecting date, found “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "only load the sub-survey with this prefix" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "print and exit (requires a 3d file)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "set location for output files" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "only show brief summary (-qq for errors only)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "do not create .err file" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "turn warnings into errors" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "log output to .log file" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "specify the 3d file format version to output" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr ".espec file to control extending" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "show breaks with surface survey shots in output" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "*UNITS factor must be non-zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "No survey data in 3d file “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Facing" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "About %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Select a terrain file to view" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "Select a geodata file to overlay" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Terrain files" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "Geodata files" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "No terrain data near area of survey" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Select a survey file to view" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3d files" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "All files" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "All survey files" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Survex svx files" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK files" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT files" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP files" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "Walls project files" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "Walls survey data files" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV files" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF files" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS files" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX files" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL for plotters" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML files" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT for use with Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex pos files" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG files" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON files" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "Shapefiles (lines)" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "Shapefiles (points)" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Log files" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Survey visualization tool" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FILE1 FILE2 [THRESHOLD]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in meters (default %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "INPUT_FILE [OUTPUT_3D_FILE]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR_FILE [HOW_MANY]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[SURVEY_FILE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "[SURVEY_DATA_FILE]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Undated" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Not in loop" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE can’t be the first reading" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE can’t be the last reading" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Interleaved readings, but no NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Reading “%s” must occur before NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Can’t calibrate angular and length quantities together" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Bad *alias command" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s Error Log" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Export..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Au&to-Rotate\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Reverse Direction" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "View &North" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "View &East" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "View &South" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "View &West" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Plan View" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Pro&file" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Restore Defaul&t View" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "View" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elements" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Export format" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d pages (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "One page" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Bearing" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "bearing (90, 90d, 100g all mean 90°)" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Station Name" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Station Names" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "station labels" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Crosses" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "station markers" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Underground Shots" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "underground survey shots" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Cross-sections" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "cross-sections" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Walls" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "walls" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passages" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "passages" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Origin in center" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "origin in center" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Full coordinates" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "full coordinates" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Clamp to ground" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "clamp to ground" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Tilt angle" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "tilt (45, 45d, 50g, 100% all mean 45°)" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Page Borders" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legend" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Blank Pages" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "Station &Names\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Passage &Tubes\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "Terr&ain" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Crosses\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grid\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Bounding Box\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Underground Shots\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "&Surface Shots\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "surface shots" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "&Overlapping Names" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "Co&lor by" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Highlight &Entrances" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Highlight Cont&rol Points" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Highlight E&xported Points" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Entrances" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "entrances" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Control Points" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "control points" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Exported Stations" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "exported stations" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "&Perspective" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Textured &Walls" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "&Fade Distant Objects" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Smoot&hed Survey Shots" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Full Screen &Mode\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Color by &Depth" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Color by D&ate" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Color by &Error" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Colour by &Horizontal Error" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Colour by &Vertical Error" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Color by &Gradient" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Color by &Length" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Color by &Survey" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "Color by St&yle" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Compass" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "C&linometer" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "Color &Key" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Scale Bar" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Reverse Sense\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Cancel Measuring Line\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "&Indicators" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: option “%s” is ambiguous\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: option “%c%s” doesn’t allow an argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: option “--%s” doesn’t allow an argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: option “%s” requires an argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: option requires an argument -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: unrecognized option “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: unrecognized option “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: invalid option -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&New Presentation" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Open Presentation..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Save Presentation" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Sa&ve Presentation As..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Mark" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Pla&y" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Export as Movie..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Export Movie" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Select an output filename" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Aven presentations" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Save Screenshot" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Select a presentation to open" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Error in format of presentation file “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Compass PLT files" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "CMAP XYZ files" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Modified Presentation" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "The current presentation has been modified. Abandon unsaved changes?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "No matches were found." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Find" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "Find stations" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "%d stations match %s%s%s" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "Station name search (substring or wildcard)" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "Z exaggeration factor" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altitude" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "You may only view one 3d file at a time." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Side Panel" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f E, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "From %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metric" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Degrees" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Percent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " miles" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " mile" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Hide Compass" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Hide Clino" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Hide scale bar" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&Hide color key" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Brg %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Surveys" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Presentation" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Show all" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Hide others" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "Hide si&blings" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Easting" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Northing" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Open...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Open &Terrain..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "Overlay &Geodata..." #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Show &Log" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Print...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "P&age Setup..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Screenshot..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "E&xtended Profile..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Export as..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Export as:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Export" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "System Information:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Print Preview" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Print" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Print..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Sur&face Shots" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Edit Waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (unused in perspective view)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Time: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " secs (0 = auto; *6 = 6 times auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "This version of %s requires OpenGL to work, but it isn’t available." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Separator in survey name" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "anonymous station" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Can't have a shot between two anonymous stations" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "Spla&y Shots" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "splay shots" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "&Duplicate Shots" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Hide" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Fade" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "&Dashed" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Show" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Reading in data - please wait…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Failed to find station %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Failed to find shot %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Starting from station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Extending to the left from station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Extending to the right from station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Extending to the left from shot %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Extending to the right from shot %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Breaking survey loop at station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Breaking survey loop at shot %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Swapping extend direction from station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Swapping extend direction from shot %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Applying specfile: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Writing %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "sort by horizontal error factor" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "sort by vertical error factor" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "sort by percentage error" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "sort by error per shot" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "replace .err file with re-sorted version" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Couldn’t parse .err file" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Moved by (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Added: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Deleted: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Reentering an existing survey is deprecated" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Originally entered here" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "Corresponding %s was here" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT is deprecated" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "rewind file and read it a second time" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "show survey date information (if present)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "equivalent to --show-dates=-" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "convert MOVE and LINE into LEG" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Failed to initialize input coordinate system “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Failed to initialize output coordinate system “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "File “%s” not georeferenced" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "generate grid (default %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "station labels text height (default %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "station marker size (default %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "produce Survex 3d output" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "produce CSV output" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "produce DXF output" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "produce EPS output" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "produce GPX output" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "produce HPGL output" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "produce JSON output" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "produce KML output" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "produce Compass PLT output for Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "produce Survex POS output" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "produce Shapefile (lines) output" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "produce Shapefile (points) output" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "produce SVG output" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "Export format not specified and not known from output file extension" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "Export format not specified" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "include items exported by default" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "Macro “%s” not defined" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "Ignoring “%s”" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "Failed to initialize GDAL “%s” driver" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "Failed to create GDAL layer" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "Failed to create GDAL field" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "Failed to create GDAL feature" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Error in format of font file “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Solid Su&rface" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d found" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferences..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Draw passage walls" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimate LRUD readings based on heuristics" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Mark survey stations with crosses" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Highlight stations marked as entrances" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Highlight stations marked as control points" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Highlight stations which are exported" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Mark survey stations with their names" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Allow names to overlap on the display (faster)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Display underground survey shots" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Display surface survey shots" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Color surface surveys by depth" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Draw surface shots with dashed lines" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Draw a grid" #: n:362 #~ msgid "metric units" #~ msgstr "metric units" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "english units" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "degrees (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grads" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Display measurements in" #: n:367 #~ msgid "Display angles in" #~ msgstr "Display angles in" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Reverse the sense of the controls" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Display scale bar" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Display depth bar" #: n:371 #~ msgid "Display compass" #~ msgstr "Display compass" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Display clinometer" #: n:373 #~ msgid "Display side panel" #~ msgstr "Display side panel" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Coordinate projection" survex-1.4.17/lib/pl.po0000664000175000017500000030475314766623454010401 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2016-08-20 00:43:08 +0000\n" "Last-Translator: Mateusz Golicz \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Plik" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Obrót" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "Orientac&ja" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Widok" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Sterowanie" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "Pomo&c" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "Pre&zentacja" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Użycie" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Brak wolnej pamięci" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Brak wolnej pamięci (nie mogę przydzielić %lu bajtów)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Brak wolnej pamięci podczas odczytu pliku: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Wersja Survex'a co najmniej %s jest wymagana aby przetworzyć ten plik" #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "ostrzeżenie" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "błąd" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "W pliku dołączonym z %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix jest przestarzały - użyj *begin i *end" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Znak “%c” nie jest dozwolony w nazwie punktu (użyj *SET NAMES aby ustalić dozwolone znaki)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Nie można pominąć tego pola" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Spodziewałem się liczby, znalazłem “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Znalazłem “%s”, spodziewałem się “PRESERVE”, “TOUPPER” lub “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Wykryto błąd w programie! Proszę poinformować autorów!" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Nieznane polecenie “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Punkt “%s” utożsamiony sam z sobą" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Nie można pominąć azymutu, z wyjątkiem odcinków pionowych" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Nie można pominąć długości" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Niespodziewana treść na końcu linii" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Zanotowano ostrzeżeń: %d" #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Wywołanie zewnętrznego polecenia “%s” nie powiodło się" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Błąd podczas odczytu pliku" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Za dużo błędów - poddaję się" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT jest przestarzały - użyj *CALIBRATE/DATA/SD/UNITS z argumentem DEFAULT" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Wskazano azymut na odcinku pionowym" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s bez odpowiadającego mu %s" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Punkt “%s” nie wyeksportowany z sesji “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Odniesienie do punktu “%s” z nieistniejącej sesji “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” nie może być jednocześnie nazwą punktu i sesji" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Spodziewałem się nazwy punktu" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Znalazłem “%s”, spodziewałem się “EQUATES”, “EXPORTS” lub “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Znalazłem “%s”, spodziewałem się “ON” lub “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Podano tylko jeden punkt w poleceniu EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Nieznana wielkość “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Nieznana jednostka “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Nieznany układ współrzędnych" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Nieprawidłowy układ współrzędnych: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Układ współrzędnych nieodpowiedni dla wyjścia" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Nie udało się przetworzyć współrzędnych: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "Ustalono wejściowy układ współrzędnych, ale brak instrukcji co do wyjściowego" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "Ustalono wyjściowy układ współrzędnych, ale brak instrukcji co do wejściowego" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "Nie można pominąć współrzędnych jeśli wskazano układ współrzędnych" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Należy wskazać wejściowy układ współrzędnych dla “%s”" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Spodziewałem się liczby lub “AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "Brak danych o dacie pomiaru - przyjmuję 0 jako deklinację magnetyczną" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "Odpowiednie polecenie BEGIN jest bez nazwy sesji" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Nieprawidłowa jednostka “%s” dla wielkości" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Nieznany instrument “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Współczynnik skalowania musi wynosić 1.0 dla DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Współczynnik skalowania musi być niezerowy" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Nieznana opcja “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Nieznana klasa znaków “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Brak danych pomiarowych" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Nazwa “%s” odnosi się do katalogu" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Pomiar nie tworzy spójnej całości" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Punkt już został ustalony lub zrównany z punktem ustalonym" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Nie udało się otworzyć pliku wyjściowego “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Odchylenie standardowe musi być dodanie" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Odcinek pomiarowy z tym samym punktem (“%s”) po obydwóch stronach - literówka?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Wartość klinometru powyżej %.f%s (bezwzględnie)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Próba zrównania dwóch różnych punktów ustalonych: “%s” i “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Zrównuję dwa tożsame punkty ustalone: “%s” and “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Polecenie FIX bez współrzędnych - ustalam na (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Ponowne ustalenie punktu na tych samych współrzędnych" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Ponowny FIX bez współrzędnych dla punktu “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "Punkt “%s” ustalony przed użyciem polecenia CS" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT musi następować bezpośrednio po “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Wprowadź rok pomiędzy 1900 a 2078" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Podejrzany azymut" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Ujemna wartość długości" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Ten sam punkt ustalony dwukrotnie bez współrzędnych" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Wartość długości jest mniejsza niż zmiana głębokości" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Wartość “%s” nie jest dozwolona w formacie danych “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Za mało wartości dla formatu danych “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Format danych “%s” jest nieznany" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Punkt “%s” już został wyeksportowany" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Zdublowana wartość “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "Nieznany FLAG “%s”" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Brakujący \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Jednorazowe odwołanie do punktu “%s” - literówka?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Następujące punkty nie są dołączone do pomiaru:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Pomiar nie ma żadnych punktów ustalonych. W związku z tym, ustalam %s w pozycji (0, 0, 0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Niewykorzystany punkt ustalony “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Rozwiązywanie układu %d równań" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Wartość “%s” dubluje poprzednio określone wartości" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Rozwiązywanie jednego równania" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Po korekcji wartość długości jest ujemna!" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Data w przyszłości!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Data końcowa jest wcześniejsza niż początkowa" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Przekrój określony na nieistniejącym punkcie “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Wartości CLINO i BACKCLINO muszą być tego samego typu" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "Pionowe wartości CLINO i BACKCLINO nie mogą być w tym samym kierunku" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Błędny miesiąc" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Błędny dzień miesiąca" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "obsługiwane wersje formatu 3d od %d do %d" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Spodziewałem się nazwy sesji" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Nie można otworzyć pliku “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Nie da się zapisywać do pliku “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Nie można utworzyć pliku tymczasowego" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Kolejne zauważone użycia tej przestarzałej opcji nie będą raportowane" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "wartości TAPE i BACKTAPE nie zgadzają się o %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "wartości COMPASS i BACKCOMPASS nie zgadzają się o %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "wartości CLINO i BACKCLINO nie zgadzają się o %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” jest przestarzałe - proszę używać “*data %s …”" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Błędny plik 3d “%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Data i czas nie są dostępne" #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Błąd przy odczycie pliku “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Błąd zapisu do pliku “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Błąd zapisu do pliku" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Wystąpiło ostrzeżeń: %d i błędów: %d - nie wygenerowano plików wyjściowych." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Plik “%s” jest w nowszym formacie, którego ten program nie rozumie" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Północ" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Przekrój zrzutowany na" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "Widok p&lanu" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Przekrój" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Przekrój" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Plan" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "Kiwi Plan" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Obliczanie statystyk" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Oczekiwałem pola tekstowego" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "za mało argumentów" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "za dużo argumentów" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "PLIK" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Usuwanie ślepych sekwencji" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Łączenie sekwencji" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Przeliczanie sekwencji" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Przeliczanie ślepych sekwencji" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Upraszczanie sieci" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Obliczanie sieci" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Znalazłem “%s”, oczekiwałem “F” or “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Łączna długość odcinków pomiarowych = %7.2f%s (%7.2f%s po poprawkach)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Łączna długość zrzutowana odcinków pomiarowych = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Łączne przewyższenie odcinków pomiarowych = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rozciągłość pionowa = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rozciągłość Północ-Południe = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rozciągłość Wschód-Zachód = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Wykryto 1 pętlę." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Wykryto %ld pętli." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Czas CPU %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Czas pracy %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Brak informacji o czasie pracy" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Czas pracy %5.2fs (%5.2fs czasu CPU)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Pierwodna długość %6.2fm (%3d odcinków), przesunięto o %6.2fm (%5.2fm/odcinek). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Błąd %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Błąd N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "wyświetl tę pomoc i wyjdź" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "wyświetl informacje o wersji i wyjdź" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPCJA" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Skala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Użyj “%s --help” aby uzyskać więcej informacji.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Przetworzono: %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Rozwinięty 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Widok planu, %s w górę strony" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Przekrój patrząc na %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Przekrój patrząc na %s, pochylony o %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Przekrój rozwinięty" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Pomiar zawiera 1 punkt" #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Pomiar zawiera %ld punktów" #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " połączonych 1 odcinkiem." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " połączonych %ld odcinkami." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "węzeł" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "węzły" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Pomiar posiada %ld spójnych komponentów" #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Zapisz dziennik" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Przetwórz ponownie" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argument liczbowy “%s” poza dozwolonym zakresem" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argument “%s” nie jest liczbą całkowitą" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argument “%s” nie jest liczbą" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Spodziewałem się “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Spodziewałem się “%s” albo “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Spodziewałem się “%s”, “%s”, albo “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Spodziewałem się “%s”, “%s”, “%s”, albo “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Nazwa punktu “%s” jest przywoływana w *%s, ale poza tym nie używana" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Brak odpowiadającego %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "Nazwa sesji nie odpowiada tej z BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Nie wskazano nazwy sesji po END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Wschód, Północ, Wysokość )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Głębokość koloru: %dbpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (kolor)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Spodziewałem się daty, znalazłem “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "wczytaj tylko sesje z tym prefiksem" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "drukuj i wyjdź (wymaga pliku 3d)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "ustaw ścieżkę plików wyjściowych" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "wyświetl tylko krótkie podsumowanie (-qq pokaże tylko błędy)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "nie generuj pliku .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "traktuj ostrzeżenia jak błędy" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "zapisuj komunikaty do pliku dziennika" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "określ wersję formatu 3d na wyjściu" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "Plik .espec z instrukcjami rozwinięcia" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Współczynnik *UNITS musi być niezerowy" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Brak danych pomiarowych w pliku 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Patrząc na" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "O %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Wybierz plik terenu do wczytania" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Pliki terenu" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Wybierz plik pomiarowy do wczytania" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Pliki Survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Wszystkie pliki" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Wszystkie pliki pomiarowe" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Pliki Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Pliki Compass MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Pliki Compass DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Pliki Compass CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "Pliki pomiarowy Walls" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Pliki CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Pliki DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Pliki EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Pliki GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL dla plotterów" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Pliki KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Pliki PLT do użytku z Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Pliki Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Pliki SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Pliki JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Pliki dziennika" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Narzędzie do wizualizacji danych pomiarowych" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2-giej tej Licencji lub którejś z późniejszych wersji." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "PLIK1 PLIK2 [PRÓG]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "PLIK1 oraz PLIK2 mogą być plikami .pos lub .3d\nPRÓG jest maksymalną wielkością przesunięcia w każdej z osi, która będzie ignorowana (domyślnie: %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "WEJŚCIOWY_PLIK [WYJŚCIOWY_PLIK_3D]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "PLIK_ERR [JAK_WIELE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[PLIK_POMIAROWY]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[PLIK_POMIAROWY]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Bez daty" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Nie w pętli" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE nie może być pierwszą wielkością" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE nie może być ostatnią wielkością" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Brak NEWLINE w definicji przeplatanego formatu" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Wartość “%s” musi poprzedzać NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE może następować tylko po STATION, DEPTH i COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Nie można kalibrować równocześnie wielkości kątowych i liniowych" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Nieprawidłowe polecenie *alias" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "Dziennki błędów %s" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Eksport..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Au&toobrót\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Odwróć kierunki" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Na &północ" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Na &wschód" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Na połu&dnie" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Na &zachód" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "Widok p&lanu" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Prze&krój" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Przywróć do&myślny widok" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Widok" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elementy" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Format eksportu" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d stron (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Jedna strona" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azymut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nazwy punktów" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "nazwy punktów" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Krzyże" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "znaczników punktów" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Odcinki podziemne" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "odcinki podziemne" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Przekroje" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "przekroje" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Ściany" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "ściany" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Obrys korytarzy" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "obrys korytarzy" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Zero na środku" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "zero na środku" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Pełne współrzędne" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "pełne współrzędne" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Obcięte do wysokości terenu" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "obcięte do wysokości terenu" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Kąt pochyłu" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Ramki" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Puste strony" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Nazwy punktów\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Obrys korytar&zy\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "Te&ren" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Krzyże\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Siatka\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Pudełko\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Od&cinki podziemn\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "O&dcinki powierzchniowe\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "odcinki powierzchniowe" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nakłada&j nazwy" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "Ko&loruj według" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Podświetl &otwory" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Podświetl punkty &ustalone" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Podświetl w&yeksportowane punkty" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Otwory" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "otwory" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Punkty ustalone" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "punkty ustalone" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Wyeksportowane punkty" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "wyeksportowane punkty" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Perspektyw&a" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "&Teksturuj ściany" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Przyciemnij dalekie Ob&iekty" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "&Wygładzone odcinki pomiarowe" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Pełny &Ekran\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Koloruj po &Głębokości" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Koloruj po Da&cie" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Koloruj po &Błędzie" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Koloruj po Błędzie Po&ziomym" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Koloruj po Błędzie &Pionowym" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Koloruj po &Upadzie" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Koloruj po &Długości" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Koloruj po &Sesji" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompas" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "Kli&nometr" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "&Objaśnienie kolorów" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Podziałka liniowa" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Odwróć sens\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Anuluj pomiar długości\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "&Wskaźniki" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: opcja “%s” jest niejednoznaczna\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: opcja “%c%s” nie pozwala na argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: opcja “--%s” nie pozwala na argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: opcja “%s” wymaga argumentu\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opcja wymaga argumentu -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: nieznana opcja “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: nieznana opcja “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: nieprawidłowa opcja -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nowa prezentacja" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "Otwórz &prezentację..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Zapisz prezentację" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Zap&isz prezentację jako..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Oznacz" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "O&dtwarzaj" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Eksportuj jako film..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Eksportuj klip" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Wybierz nazwę pliku wyjściowego" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Prezentacje Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Zapisz zrzut ekranu" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Wybierz prezentację do wczytania" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Błąd w formacie pliku prezentacji “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Pliki Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Pliki CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Prezentacja zmodyfikowana" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Aktualna prezentacja była modyfikowana. Porzucić niezachowane zmiany?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nie znaleziono pasujących." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Szukaj" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Wysokość" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Możesz przeglądać tylko jeden plik 3d" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "Panel &boczny" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, fuzzy, c-format msgid "%.2f E, %.2f N" msgstr "%.2f W, %.2f P" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Od %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Odlg %.2f%s, Az %03.1f%s, Upadzie %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metryczne" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Stopni" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Procent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " mil" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " mila" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Ukryj kompas" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Ukryj klinometr" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Ukryj podziałkę linową" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&Ukryj objaśnienie kolorów" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Az %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Sesje pomiarowe" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Prezentacja" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Pokaż wszystko" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Ukryj inne" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Wschód" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Północ" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Otwórz...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Otwórz &Teren..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "&Pokaż dziennik" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Drukuj...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Ustawienia strony..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Zrzut ekranu..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Przekrój &Rozwinięty..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Eksportuj jako..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Eksportuj jako:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Eksport" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informacje o systemie:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Podgląd wydruku" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Drukuj" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Drukuj..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Odcinki &powierzchniowe" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Edytuj punkt nawigacyjny" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (nieużywany w widoku perspektywy)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Czas: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " sekund (0 = auto, *6 = 6 razy auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Ta wersja %s wymaga OpenGL, który jednak nie jest dostępny." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Separator w nazwie sesji pomiarowej" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "punkt anonimowy" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Nie można dokonać pomiaru pomiędzy dwoma anonimowymi punktami" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "Domiary &boczne" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "domiary boczne" #: ../src/mainfrm.cc:857 #: n:251 #, fuzzy msgid "&Duplicate Legs" msgstr "Duplicate Le&gs" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Ukryj" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Przyciemnij" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "Po&każ" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Odczytuję dane - proszę czekać…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Nie odnaleziono punktu %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Nie odnaleziono odcinka %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Rozpoczynam od punktu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Rozwijam w lewo od punktu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Rozwijam w prawo od punktu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Rozwijam w lewo od odcinka %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Rozwijam w prawo od odcinka %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Łamię pętlę na punkcie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Łamię pętlę na odcinku %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Zamieniam kierunek rozwinięcia począwszy od punktu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Zamieniam kierunek rozwinięcia począwszy od odcinka %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Stosuję specfile: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Zapisuję %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "posortuj po błędzie poziomym" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "posortuj po błędzie pionowym" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "posortuj po błędzie procentowym" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "posortuj po wielkości błędu na odcinek" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "zastąp plik .err przesortowaną wersją" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Błąd podczas przetwarzania pliku .err" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Przesunięto o (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Dodano: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Usunięto: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Ponowne wejście do wprowadzonego już pomiaru jest wycofywane z użycia" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Pierwotnie wprowadzono tutaj" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT jest wycofywany z użycia" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "przewiń plik i odczytaj go po raz drugi" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "pokaż daty pomiarów (jeśli dostępne)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Błąd podczas inicjalizacji wejściowego układu współrzędnych “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Błąd podczas inicjalizacji wyjściowego układu współrzednych “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "wygeneruj siatkę (domyślnie %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "wysokość czcionki nazw punktów (domyślnie %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "rozmiar znacznika punktu (domyślnie %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "wyjście w formacie Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "wyjście w formacie CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "wyjście w formacie DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "wyjście w formacie EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "wyjście w formacie GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "wyjście w formacie HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "wyjście w formacie JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "wyjście w formacie KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "wyjście w formacie Compass PLT dla programu Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "wyjście w formacie Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "wyjście w formacie SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Nieprawidłowy format pliku czcionki “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "znaleziono: %d" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferencje..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Rysuj obrys korytarza" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Oszacuj LRUDy metodą heurystyczną" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Oznacz punkty pomiarowe krzyżami" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Podświetl punkty oznaczone jako otwory" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Podświetl punkty o ustalonej pozycji" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Podświetl wyeksportowane punkty pomiarowe" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Oznacz punkty pomiarowe ich nazwami" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Nazwy mogą się nakładać (działa szybciej)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Pokaż odcinki podziemne" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Pokaż odcinki powierzchniowe" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Koloruj odcinki powierzchniowe po głębokości" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Rysuj odcinki powierzchniowe linią przerywaną" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Rysuj siatkę" #: n:362 #~ msgid "metric units" #~ msgstr "jednostkach metrycznych" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "jednostkach brytyjskich" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "stopniach (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "gradach" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Pokaż odległości w" #: n:367 #~ msgid "Display angles in" #~ msgstr "Pokaż kąty w" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Odwrotne kierunki obrotu" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Pokaż skalę liniową" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Pokaż skalę głębokości" #: n:371 #~ msgid "Display compass" #~ msgstr "Pokaż kompas" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Pokaż klinometr" #: n:373 #~ msgid "Display side panel" #~ msgstr "Pokaż panel boczny" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Układ współrzędnych" survex-1.4.17/lib/en_US.msg0000664000175000017500000003457514766643344011151 Svx Msg 9i©Couldn’t open file “%s”Out of memory trying to read file “%s”Failed to open output file “%s”Bad 3d image file “%s”Filename “%s” refers to directoryError reading from file “%s”Error writing to file “%s”File “%s” has a newer format than this program can understandExpecting numeric field, found “%s”Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”Bug in program detected! Please report this to the authorsUnknown command “%s”Station “%s” equated to itselfCompass reading may not be omitted except on plumbed shotsEnd of line not blankThere were %d warning(s).Couldn’t run external command: “%s”Error reading fileToo many errors - giving up*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT insteadCompass reading given on plumbed shotCorresponding %s was here%s with no matching %s in this fileOut of memory (couldn’t find %lu bytes).ROOT is deprecatedStation “%s” not exported from survey “%s”“%s” can’t be both a station and a surveyExpecting station nameReentering an existing survey is deprecatedOriginally entered hereFound “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”Found “%s”, expecting “ON” or “OFF”Only one station in EQUATE commandUnknown quantity “%s”Unknown units “%s”Matching BEGIN tag has no survey nameInvalid units “%s” for quantitySurvex version %s or greater required to process this survey data.Unknown instrument “%s”Scale factor must be 1.0 for DECLINATIONUnknown setting “%s”Unknown character class “%s”No survey dataIn file included from %s:%u: Survey not all connected to control pointsStation already fixed or equated to a control pointCan't have a shot between two anonymous stationsStandard deviation must be positiveUsageSurvey shot with same station (“%s”) at both ends - typing error?Clino reading over %.f%s (absolute value)Tried to equate two non-equal control points: “%s” and “%s”Equating two equal control points: “%s” and “%s”FIX command with no coordinates - fixing at (0,0,0)Station already fixed at the same coordinatesanonymous station*EXPORT must immediately follow “*BEGIN ”Invalid year (< 1900 or > 2078)Suspicious compass readingNegative tape readingSame station fixed twice with no coordinatesTape reading is less than change in depthReading “%s” not allowed in data style “%s”Too few readings for data style “%s”Data style “%s” unknownStation “%s” already exportedDuplicate reading “%s”FLAG “%s” unknownMissing "Station “%s” referred to just once, with an explicit survey name - typo?The following survey stations are not attached to a control point:Survey has no control points. Therefore I’ve fixed %s at (0,0,0)Unused control point “%s”No blank after tokenSolving %d simultaneous equationsAssuming 2 digit year is %dReading “%s” duplicates previous reading(s)Solving one equationNegative adjusted tape readingDate is in the future!End of date range is before the startColor by &LengthCross section specified at non-existent station “%s”CLINO and BACKCLINO readings must be of the same typeColor by &GradientInvalid monthInvalid day of the month3d file format versions %d to %d supportedExpecting survey name.espec file to control extendingshow breaks with surface survey shots in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionerrorTape reading may not be omittedFurther uses of this deprecated feature will not be reported%TAPE reading and BACKTAPE reading disagree by %sCOMPASS reading and BACKCOMPASS reading disagree by %sCLINO reading and BACKCLINO reading disagree by %sStation NameCSV filesproduce CSV outputExpecting “%s” or “%s”“*data %s %c …” is deprecated - use “*data %s …” insteadReading in data - please wait…warning%a,%Y.%m.%d %H:%M:%S %ZDate and time not available.*prefix is deprecated - use *begin and *end insteadCharacter “%c” not allowed in station name (use *SET NAMES to set allowed characters)Error writing to fileCouldn’t parse .err fileThere were %d warning(s) and %d error(s) - no output files produced.Field may not be omittedNorthProfile onP&lan viewProfileprint and exit (requires a 3d file)Calculating statisticsExpecting string fieldtoo few argumentstoo many argumentsFILERemoving trailing traversesConcatenating traversesCalculating traversesCalculating trailing traversesSimplifying networkCalculating networkFound “%s”, expecting “F” or “B”Total length of survey shots = %7.2f%s (%7.2f%s adjusted)Total plan length of survey shots = %7.2f%sTotal vertical length of survey shots = %7.2f%sVertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)There is 1 loop.There are %ld loops.CPU time used %5.2fsTime used %5.2fsTime used unavailableTime used %5.2fs (%5.2fs CPU time)Show &LogOriginal length %6.2fm (%3d shots), moved %6.2fm (%5.2fm/shot). Error %6.2f%%Error N/Agenerate grid (default %sm)station labels text height (default %s)display this help and exitoutput version information and exitstation marker size (default %s)OPTIONScaleinclude items exported by defaultproduce DXF outputTry “%s --help” for more information. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsSurvex pos filesProcessed: %sPlan view, %s up pageProfile facing %slog output to .log filespecify the 3d file format version to outputSurvey contains 1 survey station,Survey contains %ld survey stations, joined by 1 shot. joined by %ld shots.nodenodesSurvey has %ld connected components.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per shotreplace .err file with re-sorted version&Reprocessnumeric argument “%s” out of rangeargument “%s” not an integerargument “%s” not a numberExpecting “%s”, “%s”, or “%s”Expecting “%s”, “%s”, “%s”, or “%s”Station “%s” referred to by *%s but never usedExtended profileNo matching %sSurvey name doesn’t match BEGINSurvey name omitted from END( Easting, Northing, Altitude )Display Depth: %d bpp (color)Expecting date, found “%s”only load the sub-survey with this prefix*UNITS factor must be non-zero&Screenshot...No survey data in 3d file “%s”Facingrewind file and read it a second timeAbout %sSelect a survey file to viewSurvex 3d filesAll filesSurvey visualization tool&File&Rotation&Orientation&View&Controls&Help&Presentationscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.&Open... Ctrl+OUndatedNEWLINE can’t be the first readingNEWLINE can’t be the last readingInterleaved readings, but no NEWLINEReading “%s” must occur before NEWLINENEWLINE can only be preceded by STATION, DEPTH, and COUNTCan’t calibrate angular and length quantities together%s Error LogAll survey files&Export...Au&to-Rotate Space%d/%d↑%s 1:%.0f&Reverse Direction%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&PerspectiveTextured &Walls&Fade Distant ObjectsView &NorthView &EastView &SouthView &WestExtended 1:%.0fShow allHide othersE&xtended Profile...&Plan ViewPro&file&Dashed&Duplicate ShotsExport format not specified and not known from output file extensionExport format not specifiedRestore Defaul&t ViewFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in meters (default %s)Elements%d pages (%dx%d)One pageBearingStation NamesCrossesUnderground ShotsTilt anglePage BordersLegendBlank PagesINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Station &Names Ctrl+N&Crosses Ctrl+X&Underground Shots Ctrl+L&Overlapping Names&CompassC&linometerColor &Key&Scale Bar (unused in perspective view)Time: &Reverse Sense Ctrl+R&Cancel Measuring Line Escape secs (0 = auto; *6 = 6 times auto)ViewProfile facing %s, tilted %sP&rofileReference to station “%s” from non-existent survey “%s”Failed to initialize input coordinate system “%s”Failed to initialize output coordinate system “%s”Color by &ErrorNot in loop&Surface Shots Ctrl+FColor by &DepthColor by D&ateHighlight &EntrancesHighlight Cont&rol PointsHighlight E&xported Points&Grid Ctrl+GSmoot&hed Survey Shots&Indicators%s: option “%s” is ambiguous Input coordinate system must be specified for “%s”%s: option “%c%s” doesn’t allow an argument %s: option “--%s” doesn’t allow an argument No survey date specified - using 0 for magnetic declination%s: option “%s” requires an argument %s: option requires an argument -- %c %s: unrecognized option “--%s” %s: unrecognized option “%c%s” Expected number or “AUTO”%s: invalid option -- %c &New Presentation&Open Presentation...&Save PresentationSa&ve Presentation As...&MarkPla&y&Export as Movie...&Bounding Box Ctrl+BSelect an output filenameAven presentationsSave ScreenshotSelect a presentation to openError in format of presentation file “%s”Compass PLT filesCMAP XYZ filesModified PresentationThe current presentation has been modified. Abandon unsaved changes?No matches were found.Survex svx filesCompass MAK filesExport MovieFindFind stations%d stations match %s%s%sAltitudeYou may only view one 3d file at a time.&Side Panel%.2f E, %.2f NFrom %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s&Metric&Degrees°ᵍPassage &Tubes Ctrl+T&Preferences...Draw passage wallsEstimate LRUD readings based on heuristicsMark survey stations with crossesHighlight stations marked as entrancesHighlight stations marked as control pointsHighlight stations which are exportedMark survey stations with their namesAllow names to overlap on the display (faster)Full Screen &Mode F11Display underground survey shotsDisplay surface survey shotsColor surface surveys by depthDraw surface shots with dashed linesDraw a gridmetric unitsenglish unitsdegrees (°)gradsDisplay measurements inDisplay angles inReverse the sense of the controlsDisplay scale barDisplay depth barDisplay compassDisplay clinometerDisplay side panel%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveysPresentationEastingNorthing&Print... Ctrl+PP&age Setup...&Export as...Export&Hide Clino&Hide scale bar&Hide color key&Hide CompassHide si&blingsOut of memorySystem Information:Scale factor must be non-zeroSeparator in survey nameCross-sectionsWallsPassagesshow survey date information (if present)Bad *alias commandPrint PreviewPrint&Print...Export as:Couldn’t write file “%s”Sur&face ShotsEdit WaypointThis version of %s requires OpenGL to work, but it isn’t available.Spla&y Shots&Hide&Fade&ShowExport formatDXF filesEPS filesGPX filesHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”SVG filesEntrancesControl PointsExported StationsOrigin in centerFull coordinateskmmcm miles mile′″&Percent∞PlanKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionAlready had FIX command with no coordinates for station “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sKML filesJSON files&Save LogLog filesColor by &SurveyTerr&ainCo&lor bySelect a terrain file to viewTerrain filesOpen &Terrain...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)profile view (equivalent to --tilt=0)surface shotssplay shotsentrancescontrol pointsexported stationscross-sectionswallspassagesorigin in centerfull coordinatesstation markersstation labelsunderground survey shotsClamp to groundclamp to groundUnits “%s” are deprecated, assuming “grads” - see manual for detailsColour by &Horizontal ErrorColour by &Vertical ErrorColor by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dCompass DAT filesCompass CLP filesFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayExpecting “%s”Failed to create temporary fileMacro “%s” not definedMoved by (%3.2f,%3.2f,%3.2f): %sAdded: %sDeleted: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Failed to find station %sFailed to find shot %s → %sStarting from station %sExtending to the left from station %sExtending to the right from station %sExtending to the left from shot %s → %sExtending to the right from shot %s → %sBreaking survey loop at station %sBreaking survey loop at shot %s → %sSwapping extend direction from station %sSwapping extend direction from shot %s → %sApplying specfile: “%s”Writing %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialize GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/bcra3.svx0000644000175000017500000000067614567212227011144 ; BCRA Grade 3 specification file ; tape error ; 95.44% of readings are within 0.5m (2 S.D.) *sd length backlength 0.25 metres ; compass error ; 95.44% of readings are within 2.5 degrees (2 S.D.) *sd bearing backbearing 1.25 degrees ; clino error ; 95.44% of readings are within 2.5 degrees (2 S.D.) *sd gradient backgradient 1.25 degrees ; station position error ; 95.44% of positions are within 0.5m (2 S.D.) *sd position 0.25 metres survex-1.4.17/lib/Makefile.am0000664000175000017500000000473214765126030011437 ## Process this file with automake to produce Makefile.in # Makefile for survex support files check-local: survex.pot srcdir=$(srcdir) LANG=C perl $(srcdir)/checkshortcut.pl $(msg_files) if grep '^#: n:' $(srcdir)/survex.pot|sort|uniq -c|grep -v '^ *1 '; then\ echo 'Duplicate message code(s) in survex.pot'; exit 1;\ fi for po in $(po_files) ; do\ $(MSGFMT) -c --check-accelerators -o /dev/null "$(srcdir)/$$po" || exit 1;\ done if cd "$(srcdir)" && grep 'msgstr "[0-9][0-9]*"' $(po_files); then\ echo '.po file with numeric code'; exit 1;\ fi SUBDIRS = icons images po_files = bg.po ca.po de.po de_CH.po el.po en_US.po es.po fr.po\ hu.po id.po it.po pl.po pt.po pt_BR.po ro.po ru.po sk.po zh_CN.po msg_files = $(po_files:.po=.msg) en.msg EXTRA_DIST = survex.pot $(po_files)\ po-to-msg.pl checkshortcut.pl extract-msgs.pl\ ChineseSimplified.isl\ ChineseTraditional.isl\ EnglishBritish.isl\ Greek.isl\ Indonesian.isl\ Romanian.isl\ make-pixel-font preload_font.h MAINTAINERCLEANFILES = $(msg_files) unifont.pixelfont preload_font.h dist_pkgdata_DATA = bcra3.svx bcra5.svx $(msg_files) unifont.pixelfont appsdir = $(datadir)/applications dist_apps_DATA = survex-aven.desktop gtksourceview3dir = $(datadir)/gtksourceview-3.0/language-specs dist_gtksourceview3_DATA = survex.lang gtksourceview4dir = $(datadir)/gtksourceview-4/language-specs dist_gtksourceview4_DATA = survex.lang $(msg_files): survex.pot $(po_files) po-to-msg.pl LANG=C perl $(srcdir)/po-to-msg.pl $(po_files) packagesdir = $(datadir)/mime/packages dist_packages_DATA = survex.xml unifont.pixelfont preload_font.h: $(srcdir)/make-pixel-font $(srcdir)/make-pixel-font merge-pos: cd '$(srcdir)' && ./merge-po $(po_files) generate-todo: cd '$(srcdir)' && ./generate-po-todo $(po_files) launchpad-upload.tar.bz2: survex.pot $(po_files) cd '$(srcdir)' && tar --transform='s!^!survex/!' -jcf $@ $^ @echo 'Upload $@ to' @echo 'https://translations.launchpad.net/survex/trunk/+translations-upload' launchpad-diff: rm -rf lib mkdir lib cd lib && tar --strip-components=1 -xf ../launchpad-export.tar.gz for po in $(po_files) ; do \ lpo="lib/survex-$$po" ;\ [ -r "$$lpo" ] || continue ;\ perl ./unlaunchpad-po "$$lpo" | ./launchpad-merge-po "$$po" - > "lib/$$po" ;\ if ! diff -q "$$po" "lib/$$po" ; then \ echo "Edit changes for $$po ? (Y/n/q)" ;\ read ;\ case $$REPLY in \ q*) exit 0 ;;\ n*) ;;\ *) vimdiff "$$po" "lib/$$po" ;;\ esac ;\ fi ;\ done .PHONY: merge-pos survex-1.4.17/lib/de.po0000664000175000017500000030467414766623453010357 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-16 03:14:41 +0000\n" "Last-Translator: Dennis Baudys \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Datei" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotieren" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientierung" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Ansicht" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Steuerung" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Hilfe" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Präsentation" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Aufruf" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Nicht genug Speicher vorhanden" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Nicht genug Speicher vorhanden (%lu Bytes nicht gefunden)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Nicht genug Speicher vorhanden beim Einlesen der Datei »%s«" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Zum Verarbeiten dieser Vermessungsdaten ist Survex-Version %s oder neuer erforderlich." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "Information" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "Warnung" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "Fehler" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "In von %s:%u aus eingelesener Datei:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix ist veraltet - stattdessen *begin und *end verwenden" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Ungültiges Zeichen »%c« in Messpunktname (erlaubte Zeichen können mit *SET NAMES definiert werden)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Eintragung fehlt" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Zahl erwartet, »%s« gelesen" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "»PRESERVE«, »TOUPPER« oder »TOLOWER« erwartet, »%s« gelesen" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Fehler im Programm, bitte informieren Sie die Programmierer darüber" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Unbekanntes Befehl »%s«" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Messpunkt »%s« mit sich selbst gleichgesetzt" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Kompassablesung darf nur bei Lotstrecken weggelassen werden" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Längeneintrag fehlt" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Ende der Zeile ist nicht leer" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Es gab %d Warnungen." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Externer Befehl konnte nicht ausgeführt werden: »%s«" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Fehler beim Einlesen der Datei" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Abbruch wegen zu vieler Fehler" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT ist veraltet - stattdessen *CALIBRATE/DATA/SD/UNITS mit DEFAULT-Argument verwenden" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Kompassablesung für geloteten Schacht angegeben" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s ohne entsprechendes %s in dieser Datei" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Messpunkt »%s« nicht aus Vermessung »%s« exportiert" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Referenz zu Messpunkt »%s« aus nicht existierender Vermessung »%s«" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "»%s« kann nicht ein Messpunkt und eine Vermessung sein" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Messpunktname erwartet" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "»EQUATES«, »EXPORTS« oder »PLUMBS« erwartet, »%s« gelesen" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "»ON« oder »OFF« erwartet, »%s« gelesen" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Nur ein Messpunkt im EQUATE-Befehl angegeben" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Unbekannte Größe »%s«" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unbekannte Einheit(en) »%s«" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Deklination: %s, Meridiankonvergenz: %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "Zugehöriges BEGIN hatte kein Vermessungsnamen" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unpassende Einheit »%s« für diese Größe" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Unbekanntes Instrument »%s«" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Skalenfaktor für die DECLINATION muss 1.0 sein" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Skalenfaktor muss von Null verschieden sein" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Ungültige Einstellung »%s«" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Unbekannte Zeichenklasse »%s«" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Keine Vermessungsdaten vorhanden" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Dateiname »%s« bezeichnet ein Verzeichnis" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Teile der Vermessung sind nicht mit festen Messpunkten verbunden" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Messpunkt ist schon fest oder gleich einem festen Punkt" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Ausgabedatei »%s« konnte nicht geöffnet werden" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Standardabweichung muss positiv sein" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Messstrecke mit einem auf sich selbst bezogenen Messpunkt (»%s«) – Tippfehler?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Neigungseintrag übertrifft %.f%s (Absolutwert)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Versuch, zwei verschiedene feste Messpunkte gleichzusetzen: »%s« und »%s«" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Zwei identische feste Punkte miteinander gleichgesetzt: »%s« und »%s«" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "FIX-Befehl ohne Koordinatenwerte, wurde auf (0,0,0) gesetzt" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Messpunkt schon auf die gleichen Koordinaten festgelegt" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Mehr als ein FIX-Befehl ohne Koordinaten für Messpunkt »%s«" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT muss unmittelbar auf »*BEGIN « folgen" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Ungültiges Jahr (< 1900 oder > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Ungültiges Jahr" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Seltsamer Kompasswert" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Negativer Längeneintrag" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Gleicher Messpunkt zweimal ohne Koordinaten angegeben" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Längeneintrag ist kleiner als Höhenunterschied" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Messgröße »%s« ist beim Datenformat »%s« nicht erlaubt" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Zu wenige Messwerte für Datenformat »%s«" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Datenformat »%s« unbekannt" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Messpunkt »%s« ist bereits exportiert" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Messgröße »%s« mehrfach angegeben" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG »%s« unbekannt" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "\" fehlt" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Messpunkt »%s« nur einmal erwähnt, mit explizitem Vermessungsnamen - Tippfehler?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Die folgenden Messpunkte haben keine festen Koordinaten:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Vermessung hat keine Festpunkte. %s wurde als Nullpunkt (0,0,0) gewählt" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Fester Messpunkt »%s« wird nicht verwendet" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Löse System mit %d Gleichungen und Unbekannten" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Eintrag »%s« wiederholt frühere(n)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Eine Gleichung wird gelöst" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Negative korrigierte Streckenlänge" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Datum liegt in der Zukunft!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Das Enddatum ist früher als das Anfangsdatum" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Überschneidung an nicht existierendem Messpunkt »%s« angegeben" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "CLINO- und BACKCLINO-Eintrag müssen den gleichen Typ haben" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Ungültiger Monat" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Ungültiger Monatstag" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Versionen %d bis %d des 3D-Dateiformats werden unterstützt" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Name einer Vermessung erwartet" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Konnte Datei »%s« nicht öffnen" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "In die Datei »%s« konnte nicht geschrieben werden" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Es ist nicht möglich, eine temporäre Datei anzulegen" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Weitere Vorkommen dieser veralteten Funktionalität werden nicht gemeldet werden" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "TAPE- und BACKTAPE-Eintrag differieren um %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "COMPASS- und BACKCOMPASS-Eintrag differieren um %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "CLINO- und BACKCLINO-Eintrag differieren um %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "»*data %s %c …« ist veraltet - verwenden Sie stattdessen »*data %s …«" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "3D-Bilddatei »%s« ist fehlerhaft" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Datum und Uhrzeit nicht feststellbar." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Fehler beim Lesen der Datei »%s«" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Fehler beim Schreiben in die Datei »%s«" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Fehler beim Schreiben in eine Datei" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Es gab %d Warnungen und %d Fehler - keine Ausgabedatei erstellt." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Datei »%s« ist in einem neueren Format, als dieses Programm verarbeiten kann" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Norden" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Aufriss auf die Ebene" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Grundriss" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Aufriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Aufriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Grundriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Statistik wird berechnet" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Textfeld erwartet" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "zu wenige Argumente" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "zu viele Argumente" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "DATEI" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Einseitig angeschlossene Messzüge werden entfernt" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Messzüge zwischen Abzweigungen werden verbunden" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Messzüge zwischen Abzweigungen werden berechnet" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Einseitig angeschlossene Messzüge werden berechnet" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Netzwerk wird vereinfacht" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Netzwerk wird ausgeglichen" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "»F« oder »B« erwartet, »%s« gelesen" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Gesamtlänge der Messstrecken = %7.2f%s (%7.2f%s ausgeglichen)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Gesamte Horizontallänge der Messstrecken = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Gesamte Vertikallänge der Messstrecken = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Vertikale Erstreckung = %4.2f%s (von %s auf %4.2f%s bis %s auf %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Nord-Süd-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Ost-West-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Es gibt eine Ringverbindung." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Es gibt %ld Ringverbindungen." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Benötigte Rechenzeit (CPU) %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Benötigte Zeit %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Benötigte Zeit nicht feststellbar" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Benötigte Zeit %5.2fs (%5.2fs CPU-Zeit)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Ursprüngliche Länge %6.2fm (%3d Strecken), verändert um %6.2fm (%5.2fm/Messstrecke). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Fehler %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Fehler belanglos" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "Diese Hilfemeldung anzeigen und Beenden" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "Versionsinformation ausgeben und beenden" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPTION" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Maßstab" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Versuchen Sie »%s --help« für weitere Hinweise.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Berechnung von Seite %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Grundriß, %s oben" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Aufriss in Richtung %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Aufriss in Richtung %s, Neigung %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Abwicklung" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Vermessung enthält 1 Messpunkt," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Vermessung enthält %ld Messpunkte," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " verbunden durch 1 Messstrecke." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " verbunden durch %ld Messstrecken." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "Verzweigungspunkt" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "Verzweigungspunkte" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Netzwerk hat %ld zusammenhängende Teile." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Protokoll Speichern" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Neu berechnen" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "Numerisches Argument »%s« ist nicht im gültigen Bereich" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "Argument »%s« ist keine Ganzzahl" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "Argument »%s« ist keine Zahl" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "»%s« erwartet" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "»%s« oder »%s« erwartet" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "»%s«, »%s« oder »%s« erwartet" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "»%s«, »%s«, »%s« oder »%s« erwartet" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "In *%2$s wird sich auf den Messpunkt »%1$s« bezogen, er wird aber nirgends verwendet" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Kein entsprechendes %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Vermessungsnamen passt nicht zu BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Vermessungsnamen vor END fehlt" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Rechtsw.,Hochwert, Höhe )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Farbtiefe: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (Farbe)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Datum erwartet, »%s« gelesen" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "Nur Teilvermessung mit diesem Präfix laden" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "Drucken und Beenden (3D-Datei erforderlich)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "Ort für Ausgabedateien festlegen" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "Nur kurze Zusammenfassung zeigen (-qq zeigt nur Fehler)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "Keine .err-Datei erstellen" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "Warnungen als Fehler behandeln" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "Ausgabe in .log-Datei protokollieren" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "Version des 3D-Dateiformats für die Ausgabe" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Faktor nach *UNITS muss von Null verschieden sein" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Keine Vermessungsdaten in 3D-Datei »%s«" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Blickricht." #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Über %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Geländedatei zur Ansicht wählen" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Geländedateien" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Vermessungsdatei zur Ansicht wählen" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3D-Dateien" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Alle Dateien" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Alle Vermessungsdateien" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "SVX-Dateien für Survex" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK-Dateien" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT-Dateien" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP-Dateien" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 #, fuzzy msgid "Walls survey data files" msgstr "Walls Vermessungsdatei" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF-Dateien" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS-Dateien" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX-Dateien" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL-Dateien für Plotter" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML-Dateien" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT-Dateien für Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex POS-Dateien" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG-Dateien" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON-Dateien" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Protokolldateien" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Visualisierungsprogramm für Vermessungsdaten" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "DATEI1 DATEI2 [SCHWELLE]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "DATEI1 und DATEI2 können .pos- oder .3d-Dateien sein\nSCHWELLE ist die max. zu ignorierende Abweichung entlang beliebiger Achsen in Metern (Vorgabe %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "EINGABE-DATEI [AUSGABE-3D-DATEI]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR-DATEI [WIE_VIELE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[VERMESSUNGSDATEI]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[VERMESSUNGSDATEI]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Nicht datiert" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Nicht in Schleife" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE kann nicht der erste Eintrag sein" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE kann nicht der letzte Eintrag sein" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Abwechselnde Einträge, aber kein NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Eintrag »%s« muss vor NEWLINE stehen" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "Vor NEWLINE kann nur STATION, DEPTH oder COUNT stehen" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Winkel und Längen können nicht gleichzeitig kalibriert werden" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "*alias-Befehl ist fehlerhaft" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s-Fehlerprotokoll" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportieren..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Auto&matisch rotieren\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Andere Richtung" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Nach &Norden" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Nach &Osten" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Nach &Süden" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Nach &Westen" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Grundriss" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "&Aufriss" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Zurück zur voreingestellten Ansicht" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Ansicht" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elemente" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Exportformat" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d Seiten (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Eine Seite" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Richtung" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Messpunktname" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Messpunktnamen" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "Messpunktbezeichnungen" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Kreuze" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "Messpunktmarkierungen" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Messstrecken unter Grund" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "Messstrecken unter Grund" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Überschneidungen" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "Überschneidungen" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Wände" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "Wände" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passagen" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "Passagen" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Ursprung in der Mitte" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "Ursprung in der Mitte" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Vollständige Koordinaten" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "Vollständige Koordinaten" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Befestigt am Boden" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "Befestigt am Boden" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Neigung" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Seitenrahmen" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legende" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Leerseiten" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "Messpunkt&namen\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "3D-Pa&ssagen\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "Kreu&ze\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Gitter\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Begrenzendes Rechteck\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Messstrecken unter Gr&und\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Messstrecken an der &Oberfläche\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "Messstrecken an der Oberfläche" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Über&lappende Namen" #: ../src/mainfrm.cc:873 #: n:450 #, fuzzy msgid "Co&lour by" msgstr "&Colour by" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "&Eingänge hervorheben" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "&Festpunkte hervorheben" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "E&xportierte Punkte hervorheben" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Eingänge" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "Eingänge" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Festpunkte" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "Festpunkte" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Exportierte Punkte" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "Exportierte Punkte" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "&Perspektive" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "&Wandtextur" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Dunsteffe&kt" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Geglättete &Messstrecken" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Vollbild-Modus\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Farbe je nach &Tiefe" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Farbe je nach &Datum" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Farbe je nach &Fehlern" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Farbe je nach &horizontalen Fehlern" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Farbe je nach &vertikalen Fehlern" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 #, fuzzy msgid "Colour by &Gradient" msgstr "Farbe je nach &Gefälle" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Farbe je nach &Länge" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Farbe je nach Verme&ssung" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompass" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Neigungsanzeige" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "&Farbschlüssel" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Maßstab" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "Richtung &umkehren\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "Messlinie &abschalten\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "&Richtungsanzeiger" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: Die Option »%s« ist nicht eindeutig\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: Die Option »%c%s« erlaubt kein Argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: Die Option »--%s« erlaubt kein Argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: Die Option »%s« benötigt ein Argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Die Option verlangt ein Argmuent -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: Unbekannte Option »--%s«\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: Unbekannte Option »%c%s«\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ungültige Option -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Neue Präsentation" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Präsentation öffnen..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "Präsentation &speichern" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Präsentation speichern &als..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Markieren" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Abspie&len" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exportieren als Film..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Film exportieren" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Name der Ausgabedatei wählen" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Aven Präsentationen" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Bildschirmabzug speichern" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Zu öffnende Präsentation auswählen" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Formatfehler in der Präsentationsdatei »%s«" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Compass PLT Datei" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "CAMP XYZ Datei" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Modifizierte Präsentation" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Die aktuelle Präsentation wurde verändert. Abbrechen, ohne die Änderungen zu speichern?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Kein Treffer gefunden." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Suchen" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, fuzzy, c-format msgid "%d stations match %s%s%s" msgstr "%d Messpunkt(e) entsprechen %s%s%s" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Höhe" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Es kann nur eine 3D-Datei zugleich angezeigt werden." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Seitliches Kontrollfeld" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f R, %.2f H" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Von %s aus" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Richt. %03.1f%s, Gefälle %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metrisch" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Grad" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Prozentual" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " Meilen" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " Meile" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Kompass verstecken" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Clino verstecken" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "Maßstab &verstecken" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "Farbschlüssel &verstecken" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Richt. %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Vermessungen" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Präsentation" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Alles zeigen" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Andere ausblenden" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Rechtswert" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Hochwert" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "Ö&ffnen...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Gelände&modell öffnen..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "&Protokoll anzeigen" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Drucken...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Seite einrichten..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Bildschirmabzug..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "&Abwicklung..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exportieren als..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exportieren als:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportieren" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Systeminformation:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Druckvorschau" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Drucken" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Drucken..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Messstrecken an der Ober&fläche" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Wegpunkt bearbeiten" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (in Ansicht »Perspektive« ungenutzt)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Zeit: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " Sekunden (0 = auto; *6 = 6 mal auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Diese Version von %s benötigt zum Funktionieren OpenGL, was jedoch nicht verfügbar ist." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Trennzeichen im Vermessungsnamen" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 #, fuzzy msgid "anonymous station" msgstr "anonymer Messpunkt" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Zwischen zwei anonymen Messpunkten kann keine Messstrecke sein" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "&Hilfslinien (splay)" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "Hilfslinien (splay)" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "&Doppelte Messstrecken" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Verstecken" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Dunsteffekt" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "&Gestrichelt" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Zeigen" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Daten werden eingelesen - bitte warten…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Messpunkt konnte nicht gefunden werden: %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Messstrecke konnte nicht gefunden werden: %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Bei diesem Messpunkt wird begonnen: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Von diesem Messpunkt aus nach links erweitern: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Von diesem Messpunkt aus nach rechts erweitern: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Von dieser Messstrecke aus nach links erweitern: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Von dieser Messstrecke aus nach rechts erweitern: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Messschleife wird an diesem Messpunkt unterbrochen: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Messschleife wird an dieser Messstrecke unterbrochen: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Erweiterungsrichtung von Messpunkt %s wird umgekehrt" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Erweiterungsrichtung von Messstrecke wird umgekehrt: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Spezifikationsdatei wird angewendet: »%s«" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "%s wird geschrieben…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "Nach horizontalem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "Nach vertikalem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "Nach prozentualem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "Nach Fehlern pro Messstrecke sortieren" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr ".err-Datei durch sortierte Version ersetzen" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr ".err-Datei konnte nicht interpretiert werden" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Verschoben um (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Hinzugefügt: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Entfernt: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "Erneutes Einführen einer Vermessung ist veraltet" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Bereits hier verwendet" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT ist veraltet" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "An den Anfang der Datei und neu einlesen" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "Datumsangaben einer Vermessung zeigen (wenn vorhanden)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Initialisierung des Eingabekoordinatensystems »%s« ist gescheitert" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Initialisierung des Ausgabekoordinatensystems »%s« ist gescheitert" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "Gitter erzeugen (Vorgabe %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "Texthöhe der Messpunktbezeichnungen (Vorgabe %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "Messpunktmarkierungsgröße (Vorgabe %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "Survex 3d-Ausgabe erzeugen" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "CSV-Ausgabe erzeugen" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "DXF-Ausgabe erzeugen" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "EPS-Ausgabe erzeugen" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "GPX-Ausgabe erzeugen" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "HPGL-Ausgabe erzeugen" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "JSON-Ausgabe erzeugen" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "KML-Ausgabe erzeugen" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "Compass PLT-Ausgabe für Carto erzeugen" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "Survex POS-Ausgabe erzeugen" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "SVG-Ausgabe erzeugen" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Formatfehler in der Schriftdatei »%s«" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "&Durchgezogene Oberfläche" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d gefunden" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Einstellungen..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Wände einzeichnen" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "LROU-Werte heuristisch schätzen" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Messpunkte durch Kreuze markieren" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Messpunkte an den Eingängen hervorheben" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Feste Messpunkte hervorheben" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Exportierte Messpunkte hervorheben" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Messpunkte mit ihren Namen beschriften" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Überlappende Beschriftungen zulassen (schneller)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Messstrecken unter Grund anzeigen" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Messstrecken an der Oberfläche anzeigen" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Oberflächenvermessung nach Höhe einfärben" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Oberflächenstrecken gestrichelt zeichnen" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Gitter einzeichnen" #: n:362 #~ msgid "metric units" #~ msgstr "Meter" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "englische Einheiten" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "Altgrad (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "Neugrad (gon)" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Längen anzeigen in" #: n:367 #~ msgid "Display angles in" #~ msgstr "Winkel anzeigen in" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Maus-Steuerung umkehren" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Maßstab anzeigen" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Tiefenskala anzeigen" #: n:371 #~ msgid "Display compass" #~ msgstr "Kompass anzeigen" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Neigungsmesser anzeigen" #: n:373 #~ msgid "Display side panel" #~ msgstr "Seitliches Kontrollfeld anzeigen" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/zh_CN.msg0000664000175000017500000003303014766643344011122 Svx Msg 6©无法打开文件 “%s”试图读取文件“%s”时内存不足无法打开输出文件“%s”错误的3d图像文件“%s”文件名“%s”引用了目录读取文件“%s”时出错写入文件“%s”时出错文件“%s”的格式比此程序所能理解的要新需要数字字段,找到“%s”找到“%s”,需要“PRESERVE”、“TOUPPER”、“TOLOWER”检测到程序错误!请将此报告给作者未知的命令 “%s”站“%s”等同于它自身除了垂直测量段,方位数据不可省略行尾不为空有 %d 条警告。命令 “%s” 执行失败读取文件时发生错误错误太多 - 放弃不推荐*DEFAULT - 使用带DEFAULT参数的*CALIBRATE/DATA/SD/UNITS代替垂直测量段上的罗盘读数Corresponding %s was here此文件中%s没有匹配的%s内存耗尽(不足 %lu 字节)ROOT is deprecated站“%s”未从测量“%s”中导出“%s”不能既是一个测站又是一个测量需要站名Reentering an existing survey is deprecatedOriginally entered here找到“%s”,需要“EQUATES”、“EXPORTS”或“PLUMBS”找到“%s”,需要“ON”或“OFF”EQUATE命令中只有一个站未知量“%s”未知单位“%s”匹配的BEGIN命令没有测量名称量的单位“%s”无效处理此测量数据需要Survex %s 或以上版本。未知工具“%s”DECLINATION的比例因子必须为1.0未知设置“%s”未知字符类“%s”无测量数据在文件中包括 %s:%u: 测量并非全部连接到固定站站已经固定或等同到一个固定点Can't have a leg between two anonymous stations标准偏差必须是正数使用测量段的两端有同一个站(“%s”)—输入错误?倾角读数超过 %.f%s(绝对值)尝试等同两个不相等的固定站“%s”和“%s”等同两个相等的固定点:“%s”和“%s”FIX命令没有坐标—固定在 (0,0,0)站已经固定在同一坐标anonymous station*EXPORT必须紧跟着“*BEGIN ”无效年份(<1900 或 >2078)可疑的罗盘读数负的皮尺读数同一个站点固定两次,无坐标皮尺读数小于深度变化不允许读取“%s”为“%s”数据样式数据样式“%s”的读数太少未知的数据样式“%s”站“%s”已导出重复读取“%s”未知的标志“%s”已丢失 "站“%s”只引用了一次,并且有明确的测量名称—输入错误?下列测量站未连接到固定点:测量没有固定点。 因此,我将%s固定在 (0,0,0)未使用的固定点“%s”No blank after token解%d联立方程假设两位数年份为%d读取“%s”与以前的读取重复解一个方程负调整距离读数日期在未来!结束日期范围在开始日期之前Colour by &Length在不存在的站“%s”处指定的横截面倾角和后视倾角的读数必须是同一类型Colour by &Gradient无效的月份无效的日期号数支持%d到%d的3d文件格式版本需要测量名称用.espec文件来控制扩展使用输出中的地面测量段显示中断垂直的倾角和后视倾角度数不能在同一方向错误距离数据不可胜路不会报告此已弃用功能的进一步使用%%s的距离读取和后视距离读取不一致%s的方位读数和后视方位读数不一致%s的倾角读数和后视倾角读数不一致站名CSV 文件produce CSV output应为“%s”或“%s”“*data %s %c …”已弃用-请改用“*data %s …”Reading in data - please wait…警告%a,%Y.%m.%d %H:%M:%S %Z日期和时间不可用。*prefix已弃用 - 请改用*begin和*end站名中不允许使用字符“%c”(使用 *SET NAMES 设置允许使用的字符)写入文件出错Couldn’t parse .err file有%d个警告和%d个错误-未生成输出文件。字段不能省略北仰角平面图(&L)立面打印并退出(需要3d文件)正在计算统计数据应为字符串字段太少参数的参数太多文件删除尾部导线串联导线计算导线计算尾部导线简化网络计算网络找到“%s”,应为“F”或“B”测量段的总长度 = %7.2f%s (%7.2f%s 调整过的)测量段的总平面长度 = %7.2f%s测量段的总垂直长度 = %7.2f%s垂直范围 = %4.2f%s(从%s位于%4.2f%s处到%s位于%4.2f%s处)North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)有一个环路有%ld个环路CPU使用时间%5.2fs使用时间%5.2fs使用时间不可用使用时间%5.2fs(%5.2fs CPU时间)显示日志(&L)原始长度%6.2fm(%3d个段),移动了%6.2fm(%5.2fm/段)。 误差 %6.2f%%误差 不适用(导线长度为0)generate grid (default %sm)station labels text height (default %s)显示该求助信息并退出显示版本信息并退出station marker size (default %s)选项比例尺include items exported by defaultproduce DXF output请尝试“%s --help”获取更多信息。 Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG output测量区域附近无地形数据设置输出文件的位置仅显示简要摘要(-qq仅用于错误)不创建.err文件将警告转换为错误Survex pos 打开已处理:%s平面图,纸上%s立面,面朝%s日志输出到.log文件指定要输出的3d文件格式版本测量包含1个测量站,测量包含%ld个测量站, 由1条测量段连接。 由%ld条测量段连接。节点节点测量有%ld个连接的组件。sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version重新处理(&R)数值参数“%s”超出范围参数“%s”不是整数参数“%s”不是数字应为“%s”、“%s”或“%s”应为“%s”、“%s”、“%s”或“%s”测量站“%s”由 *%s 引用,但从未使用立面展开图没有匹配%s测量名称与BEGIN不匹配调查名称被从END处省略( 向东, 向北, 海拔 )显示深度:%d bpp(每像素位数) (彩色)需要日期,发现“%s”仅加载具有此前缀的子测量*UNITS 因子必须为非零截图(&S)...3d文件“%s”中没有测量数据封面rewind file and read it a second time关于%s选择要查看的测量文件Survex 3d 文件全部文件测量可视化工具文件(&F)旋转(&R)方向(&O)查看(&V)控制(&C)帮助(&H)演示文档(&P)比例(50、 0.02、1:50 和 2:100 均为 1:50)文件1 文件2 [阈值]本程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新发布和/或修改它;许可证的第2版或(由您选择)任何更高版本。打开(&O)... Ctrl+O取消隐藏NEWLINE can’t be the first readingNEWLINE can’t be the last reading交错的读数,但没有NEWLINE必须在NEWLINE前读取“%s”NEWLINE前只能有STATION、DEPTH和COUNT无法同时校准角度和长度量%s错误日志所有测量文件导出(&E)...Au&to-Rotate Space%d/%d↑%s 1:%.0f反向(&R)%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&PerspectiveTextured &WallsFade Distant Ob&jectsView &NorthView &EastView &SouthView &West扩展1:%.0f显示全部隐藏其他E&xtended Elevation...&Plan ViewEle&vation&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specifiedRestore De&fault View文件1和文件2可以是.pos或.3d文件 阈值为延任何轴可忽略的改变的最大值,单位“米”(默认 %s)元素%d页(%dx%d)一页方位站名格点地下测量段倾角页面边框图例空白页INPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Station &Names Ctrl+N格点(&C) Ctrl+X&Underground Survey Legs Ctrl+L&Overlapping Names罗盘(&C)C&linometerColour &Key缩放栏(&S) (unused in perspective view)时间: &Reverse Sense Ctrl+R&Cancel Measuring Line Escape 秒 (0 = 自动; *6 = 6 times 自动)查看立面朝向%s,倾斜%s立面(&E)站“%s”引用自不存在的测量“%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Colour by &Error不在环路中&Surface Survey Legs Ctrl+FColour by &DepthColour by D&ateHighlight &EntrancesHighlight &Fixed PointsHighlight E&xported Points网格(&G) Ctrl+GSmoot&hed Survey Legs&Indicators%s:选项“%s”含义不明确 必须为“%s”指定输入坐标系%s:选项“%c%s”不接受参数 %s:选项“--%s”不接受参数 未指定测量日期-使用0作为磁偏角%s:参数“%s”需要参数 %s:选项需要一个参数 -- %c %s:无法识别的选项“--%s” %s:无法识别的选项“%c%s” 需要数字或“AUTO”%s:选项无效 -- %c 新演示文档(&N)打开演示文档...(&O)保存演示文档(&S)保存演示文档为...(&V)&Mark播放(&Y)&Export as Movie...&Bounding Box Ctrl+B选择输出文件名Aven演示文档保存截图选择打开一个演示文档演示文档“%s”的格式错误Compass PLT 打开CMAP XYZ 打开修改演示文档当前演示文档已被修改。要放弃未保存的更改吗?未找到匹配内容。Survex svx 文件Compass MAK 文件导出视频查找Find stations%d stations match %s%s%s海拔You may only view one 3d file at a time.&Side Panel%.2f东%.2f北自 %s横%.2f%s, 垂直 %.2f%s%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s&Metric&Degrees°ᵍPassage &Tubes Ctrl+T首选项(&P)...Draw passage walls基于启发法估计左右上下读数Mark survey stations with crosses突出显示标记为入口的站突出显示标记为固定点的站Highlight stations which are exported使用站名标记测量站允许名称在显示时重叠(更快)Full Screen &Mode F11显示地下测量段显示地表测量段地表颜色按深度渲染使用虚线画地表测量段绘制网格公制单位英制单位度(°)gradsDisplay measurements in角度显示为Reverse the sense of the controls显示比例尺显示深度栏显示罗盘Display clinometer显示侧面板%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveys演示文档向东向北打印(&P)... Ctrl+P页面设置(&a)...&Export as...导出&Hide Clino&Hide scale bar&Hide colour key&Hide CompassHide si&blings内存耗尽System Information:比例因子必须为非零Separator in survey name截面墙通道show survey date information (if present)错误的*alias命令打印预览打印打印(&P)...Export as:无法写入文件“%s”Sur&face Survey Legs编辑航点此版本的%s运行需要的OpenGL不可用。Spla&y Legs隐藏(&H)&Fade显示(&S)导出格式DXF 文件EPS 文件GPS 文件绘图仪用HPGL与Carto一起使用的Compass PLTDuplicate date type “%s”SVG 文件入口固定点导出站Origin in centre全坐标千米米厘米英里英里′″百分比(&P)∞计划仰视平面未知坐标系坐标系不适合输出转换坐标失败:%s设置了输入投影,但未设置输出投影设置了输出投影,但未设置输入投影指定坐标系后,坐标不能省略Coordinate projection站“%s”已经有FIX命令但没有坐标在首次使用CS命令前,站“%s”已固定无效坐标系:%sKML 文件JSON 文件保存日志(&S)日志文件Colour by &SurveyTerr&ainCo&lour by选择要查看的地形文件地形文件打开地形...(&T)produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS output方位 (90, 90d, 100g 均为 90°)倾斜角(45, 45d, 50g, 100% 均等同于 45°)平面图 (equivalent to --tilt=-90)立面图(equivalent to --tilt=0)地表测量段splay legs入口固定点导出站截面墙通道origin in centre全坐标站标志站标签地下测量段贴着地面贴着地面单位“%s”已弃用,假定为“grads”-有关详细信息,请参阅手册Colour by &Horizontal ErrorColour by &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%s信息convert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dCompass DAT 文件Compass CLP 文件File “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlay应为“%s”无法创建临时文件Macro “%s” not definedMoved by (%3.2f,%3.2f,%3.2f): %s已添加:%s已删除:%sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Failed to find station %sFailed to find leg %s → %sStarting from station %sExtending to the left from station %sExtending to the right from station %sExtending to the left from leg %s → %sExtending to the right from leg %s → %sBreaking survey loop at station %sBreaking survey loop at leg %s → %sSwapping extend direction from station %sSwapping extend direction from leg %s → %sApplying specfile: “%s”Writing %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)无效年份Z exaggeration factorsurvex-1.4.17/lib/make-pixel-font0000755000175000017500000000472714567212227012337 #!/usr/bin/perl use warnings; use strict; my %bitno = (0 => 0); for (0 .. 31) { $bitno{1 << $_} = $_; } my $last_ch = -1; open U, '<', 'unifont.hex' or open U, '<', '/usr/share/unifont/unifont.hex' or die $!; open O, '>', 'unifont.pixelfont' or die $!; while () { my ($ch, $hex) = /^([[:xdigit:]]+):([[:xdigit:]]+)$/; if (!defined $ch) { print "Bad line: $_"; next; } $ch = hex($ch); if ($ch == 256) { close O; open O, '<', 'unifont.pixelfont' or die $!; open P, '>', 'preload_font.h' or die $!; print P "static const unsigned char fontdata_preloaded[] = {"; my $c = 0; while () { for (split //, $_) { if ($c++ % 8 == 0) { print P "\n "; } printf P "% 4d,", ord $_; } } print P "\n};\n"; close P; close O; open O, '>', 'unifont.pixelfont' or die $!; } while (++$last_ch < $ch) { # print "Missing entry for ".($last_ch - 1 )."\n"; print O pack 'C', 0x00; } # $len is 0, 2 or 4 my $len = length($hex) / 16; my $packcode; if ($len == 4) { $packcode = 'n'; } elsif ($len == 2) { $packcode = 'C'; } elsif ($len == 0) { $packcode = ''; } else { die "No handling for len = $len\n"; } my $data = ''; my $start; my $n = 0; my $pixels_set = 0; my $width = $len * 4; if ($len) { my @data = (); for (0 .. 15) { my $c = substr($hex, (15 - $_) * $len, $len); my $row = hex($c); $pixels_set |= $row; if (!defined $start) { # Skip blank rows at the bottom. next unless $row; $start = $_; } $n = $_ if $row; push @data, $row; # my $b = sprintf $fmt, $row; # $b =~ y/01/ @/; # print "\t$b\n"; } my $left_gap = 0; my $lsb_used = $pixels_set & -$pixels_set; my $msb_used = 1 << ($len * 4 - 1); while ($msb_used > $pixels_set) { $msb_used >>= 1; ++$left_gap; } $data = join '', map {pack($packcode, $_ << $left_gap)} @data; my $right_gap = $bitno{$lsb_used} + $left_gap; $right_gap = 0 if ($left_gap == 16); $width -= $right_gap; } else { $width -= 2; } if (!defined $start) { # No set pixels. print O pack 'C', ($len * 4 - 4); die "not really empty!" unless $hex =~ /^0*$/; } else { die "really empty!" if $hex =~ /^0*$/; $n = $n + 1 - $start; print O pack 'C', (($len / 2) << 6) | $width; print O pack 'C', ($start << 4) | ($n - 1); die "too little data (".length($data)." < ".$n."*".($len/2).")" if length($data) < $n * $len/2; print O substr($data, 0, $n * $len / 2); } } close O or die $!; survex-1.4.17/lib/id.msg0000664000175000017500000003776214766643344010535 Svx Msg ?©Tidak bisa membuka berkas “%s”Kehabisan memori mencoba membaca berkas “%s”Gagal membuka berkas keluaran “%s”Berkas gambar 3d yang buruk “%s”Namaberkas “%s” mengacu pada direktoriKesalahan pembacaan dari berkas “%s”Galat saat menulis ke berkas “%s”Berkas “%s” memiliki format baru dari program ini dapat memahamiMengharapkan bidang angka, ditemukan “%s”Ditemukan “%s”, mengharapkan “PRESERVE”, “TOUPPER”, atau “TOLOWER”Bug dalam program terdeteksi! Silakan laporkan hal ini kepada penulisPerintah tidak dikenal “%s”Stasiun “%s” disamakan dengan sendirinyaMembaca kompas tidak dapat diabaikan kecuali pada plumbed legHentikan jika baris tidak kosongTerdapat peringatan %dGagal mengeksekusi “%s”Kesalahan membaca berkasTerlalu banyak galat - menyerah*DEFAULT sudah ditinggalkan - gunakan *CALIBRATE/DATA/SD/UNITS dengan argumen DEFAULT sebagai gantinyaPembacaan kompas diberikan pada leg plumbedCorresponding %s was here%s tanpa pencocokan %s di berkas iniKehabisan memori (tidak dapat menemukan %lu byte).ROOT sudah ditinggalkanStasiun “%s” tidak diekspor dari survei “%s”“%s” tidak dapat menjadi stasiun dan surveiMengharapkan nama stasiunMemasukkan kembali survei yang ada sudah ditinggalkanAslinya dimasukkan di siniDitemukan “%s”, mengharapkan “EQUATES”, “EXPORTS”, atau “PLUMBS”Menemukan “%s”, seharusnya “ON” atau “OFF”Hanya satu stasiun pada perintah EQUATEKuantitas tidak diketahui “%s”Unit tidak diketahui “%s”Pencocokan perintah BEGIN tidak memiliki nama surveiUnit tidak valid “%s” untuk kuantitasSurvex versi %s atau selanjutnya dibutuhkan untuk memproses data survei ini.Instrumen tidak diketahui “%s”Faktor skala harus 1.0 untuk DECLINATIONPengaturan tidak dikenal “%s”Klas karakter tidak dikenal “%s”Tidak ada data surveiDalam berkas disertakan dari %s:%u: Survei tidak semua terhubung ke stasiun tetapStasiun yang sudah tetap atau disamakan dengan titik tetapTidak bisa memiliki kaki antara dua stasiun anonimStandar deviasi harus positifPenggunaanKaki survei dengan stasiun yang sama (“%s”) pada kedua ujungnya - salah ketik?Membaca clino lebih dari %.f%s (nilai absolut)Mencoba untuk menyamakan dua stasiun tetap tidak-setara: “%s” dan “%s”Menyamakan dua titik tetap setara: “%s” dan “%s”Perintah FIX tanpa koordinat - menetapkan pada (0,0,0)Stasiun yang sudah ditetapkan pada koordinat yang samastasiun anonim*EXPORT harus segera mengikuti “*BEGIN ”Tahun tidak valid (< 1900 or > 2078)Pembacaan kompas yang meragukanPembacaan pita negatifStasiun yang sama tetap dua kali tanpa koordinatPembacaan pita kurang dari perubahan kedalamanMembaca “%s” tidak diperbolehkan pada model data “%s”Terlalu sedikit bacaan untuk model data “%s”Model data “%s” tidak diketahuiStasiun “%s” sudah dieksporDuplikasi pembacaan “%s”FLAG “%s” tidak diketahuiHilang "Stasiun “%s” disebut hanya sekali, dengan nama survei secara eksplisit - salah ketik?Stasiun survei berikut tidak melekat pada titik tetap:Survei tidak memiliki titik tetap. Oleh karena itu saya telah memperbaiki %s di (0,0,0)Titik tetap yang tidak digunakan “%s”No blank after tokenMenyelesaikan %d persamaan simultanAssuming 2 digit year is %dPembacaan “%s” duplikasi pembacaan sebelumnyaMenyelesaikan satu persamaanNegatif yang disesuaikan pembacaan pitaTanggal ini di masa depan!Akhir rentang tanggal sebelum memulaiWarna menurut &PanjangPenampang yang ditentukan di stasiun yang tidak ada “%s”Pembacaan CLINO dan BACKCLINO harus dari tipe yang samaWarna menurut &GradienBulan tidak validHari yang tidak valid bulan ituFormat berkas 3d versi %d ke %d didukungMengharapkan nama survei.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionkesalahanPembacaan pita tidak dapat diabaikanPenggunaan lebih lanjut dari fitur yang ditinggalkan ini tidak perlu dilaporkan%Pembacaan TAPE dan pembacaan BACKTAPE tidak sama %sPembacaan Azimuth Kompass (COMPASS) dan pembacaan Back Azimuth Kompass (BACKCOMPASS) tidak sama %sPembacaan CLINO dan pembacaan BACKCLINO tidak sama %sStation NameBerkas CSVmenghasilkan keluaran CSVMengharapkan “%s” atau “%s”“*data %s %c …” sudah ditinggalkan - gunakan “*data %s …” sebagai gantinyaPembacaan data - mohon tunggu…peringatan%a,%Y.%m.%d %H:%M:%S %ZTanggal dan waktu tidak tersedia.*prefix sudah ditinggalkan - gunakan *begin dan *end sebagai gantinyaKarakter “%c” tidak diperbolehkan pada nama stasiun (gunakan *SET NAMES untuk mengatur karakter yang diizinkan)Galat saat menulis ke berkasTidak dapat mengurai berkas .errAda peringatan %d dan kesalahan %d - tidak ada berkas keluaran yang dihasilkan.Kolom mungkin tidak dihilangkanUtaraElevasi padaTampilan P&lanElevasicetak dan keluar (memerlukan berkas 3d)Menghitung statistikMengharapkan bidang stringargumen terlalu sedikitterlalu banyak argumenBERKASMenghapus trailing traversesConcatenating traversesMenghitung traversesMenghitung trailing traversesMenyederhanakan jaringanMenghitung jaringanDitemukan “%s”, mengharapkan “F” atau “B”Total panjang dari kaki survei = %7.2f%s (%7.2f%s yang disesuaikan)Total panjang tampak atas kaki survei = %7.2f%sTotal panjang vertikal kaki survei = %7.2f%sRentang vertikal = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)Rentang Utara-Selatan = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)Rentang Timur-Barat = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)Ada 1 putaran.Ada %ld putaran.Waktu CPU yang digunakan %5.2fsWaktu yang digunakan %5.2fsWaktu yang digunakan tidak tersediaWaktu yang digunakan %5.2fs (%5.2fs waktu CPU)Tampilkan &LogPanjang asli %6.2fm (%3d kaki), dipindah %6.2fm (%5.2fm/kaki). Kesalahan %6.2f%%Kesalahan N/Amenghasilkan grid (baku %sm)station labels text height (baku %s)tampilkan bantuan ini dan keluarmenampilkan informasi versi dan keluarUkuran penanda stasiun (baku %s)OPSISkalainclude items exported by defaultmenghasilkan keluaran DXFCoba “%s --help” untuk informasi lebih lanjut. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangemenghasilkan keluaran Compass PLT untuk Cartomenghasilkan keluaran SVGNo terrain data near area of surveyset lokasi untuk berkas keluaranhanya menampilkan ringkasan singkat (-qq hanya kesalahan)tidak membuat berkas .errmengaktifkan peringatan menjadi kesalahanBerkas Survex posDiproses: %sTampak atas, %s halaman atasmenghadap elevasi %skeluaran log ke berkas .logmenentukan versi format berkas 3d pada keluaranSurvei yang mengandung 1 stasiun survei,Survei yang mengandung %ld stasiun survei, bergabung dengan 1 kaki. bergabung dengan %ld kaki.TitiktitikSurvei yang memiliki %ld komponen terhubung.urutkan berdasarkan faktor kesalahan horisontalurutkan berdasarkan faktor kesalahan vertikalurutkan berdasarkan presentase kesalahanurutkan berdasarkan kesalahan per kakiganti berkas .err dengan versi dipulihkan&Proses ulangargumen numerik “%s” diluar rentangargumen “%s” bukan bilangan bulatargumen “%s” bukan angkaMengharapkan “%s”, “%s”, atau “%s”Mengharapkan “%s”, “%s”, “%s”, atau “%s”Stasiun “%s” dimaksud pada *%s tetapi tidak pernah digunakanElevasi diperpanjangTidak ada yang cocok %sNama survei yang tidak cocok BEGINNama Survei yang dihilangkan dari END( Timur, Utara, Ketinggian )Tampilan Kedalaman: %d bpp (warna)Mengharapkan tanggal, ditemukan “%s”hanya memuat sub-survei dengan prefiks ini*UNITS faktor harus non-zero&Screenshot...Tidak ada data survei di berkas 3d “%s”Menghadap kememutar mundur berkas dan membacanya untuk kedua kalinyaTetang %sPilih berkas survei untuk melihatBerkas survex 3dSemua berkasAlat visualisasi survei&Berkas&Rotasi&Orientasi&Tilik&KontrolBa&ntuan&Presentasiscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]Program ini merupakan perangkat lunak bebas; Anda diizinkan untuk mendistribusikan dan/atau memodifikasinya di bawah GNU General Public Licence yang diterbitkan oleh Free Software Foundation; baik versi 2 dari Lisensi, atau (dengan pilihan Anda) versi yang lebih baru.&Buka... Ctrl+OTidak bertanggalNEWLINE tidak bisa menjadi bacaan pertamaNEWLINE tidak bisa menjadi bacaan terakhirBacaan yang disisipkan, tapi tidak ada NEWLINEPembacaan “%s” harus terjadi sebelum NEWLINENEWLINE hanya dapat didahului oleh STATION, DEPTH, dan COUNTTidak dapat mengkalibrasi jumlah sudut dan panjang bersama%s Kesalahan LogSemua berkas survei&Ekspor...Au&to-Rotate Space%d/%d↑%s 1:%.0fA&rah Sebaliknya%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspekti&fTekstur &Dinding&Obyek Jauh PudarLihat &UtaraLihat &TimurLihat &SelatanLihat &BaratDiperpanjang 1:%.0fTampilkan semuaSembunyikan yang lainnyaElevasi Di&perpanjang...Tam&pilan AtasEle&vasi&DashedDupli&cate LegsExport format not specified and not known from output file extensionExport format not specifiedKembali ta&mpilan BakuBerkas FILE1 dan FILE2 bisa saja .pos atau .3d THRESHOLD merupakan max. Perubahan dapat diketahui sepanjang sumbu dalam meter (baku %s)Bagian%d halaman (%dx%d)Satu halamanArahNama StasiunSilangKaki Survei di Bawah tanahSudut kemiringanBatas halamanLegendaHalaman kosongINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Stasiun &Nama Ctrl+N&Silang Ctrl+X&Kaki Survei di bawah tanah Ctrl+LNama Tumpang Tindi&h&KompasK&linometer&Warna Kunci&Skala Bar (tidak digunakan dalam tampak perspektif)Waktu: Memuta&r Ctrl+R&Batal Mengukur Garis Escape detik (0 = otomatis; *6 = 6 waktu otomatis)Tilikmenghadap elevasi %s, kemiringan %s&ElevationReferensi ke stasiun “%s” dari survei yang tidak ada “%s”Gagal menginisialisasi masukan sistem koordinat “%s”Gagal menginisialisasi keluaran sistem koordinat “%s”Warna menurut &ErorTidak di putaranKaki survei perm&ukaan Ctrl+FWarna berdasarkan &KedalamanWarna berdasarkan &TanggalSorot &Mulut GuaSorot &Titik TetapSorot titik yang di&ekspor&Grid Ctrl+GMerap&ikan Kaki Survei&Indikator%s: pilihan “%s” ambigu Masukan sistem koordinat ada harus dicantumkan untuk “%s”%s: pilihan “%c%s” tidak mengizinkan argumen %s: pilihan “--%s” tidak mengizinkan argumen Tidak ada tanggal survei yang ditentukan - menggunakan 0 untuk deklinasi magnetik%s: opsi “%s” membutuhkan sebuah argumen %s: opsi membutuhkan argumen -- %c %s: opsi tidak di-kenal “--%s” %s: opsi tidak di-kenal “%c%s” Angka yang diharapkan atau “AUTO”%s: opsi tidak-valid -- %c Presentasi &BaruBu&ka Presentasi...&Simpan PresentasiSi&mpan Presentasi sebagai...&TandaiPut&ar&Ekspor sebagai film...&Batas Kotak Ctrl+BPilih nama berkas keluaranPresentasi AvenSimpan tangkapan layarPilih presentasi untuk membukaKesalahan pada format berkas presentasi “%s”Berkas Compass PLTBerkas CMAP XYZPresentasi dimodifikasiPresentasi saat ini telah dimodifikasi. Abaikan perubahan yang belum disimpan?Tidak ditemukan kecocokan.Berkas Survex svxBerkas Compass MAKEkspor FilmCariFind stations%d stations match %s%s%sKetinggianAnda hanya dapat melihat satu berkas 3d pada satu waktu.Panel &Samping%.2f T, %.2f UDari %sH %.2f%s, V %.2f%s%s: %s, Jarak %.2f%s, Arah %03.1f%s, Gradien %s&Metrik&Derajat°ᵍLorong &Pipa Ctrl+T&Preferensi...Menggambar dinding lorongPembacaan LRUD estimasi berdasarkan heuristikMenandai stasiun survei dengan silangSorot stasiun ditandai sebagai mulut guaSorot stasiun ditandai sebagai titik tetapSorot stasiun yang dieksporStasiun survei tandai dengan nama merekaBiarkan nama tumpang tindih pada layar (lebih cepat)La&yar Penuh Mode F11Tampilan kaki survei bawah tanahTampilan kaki survei permukaanWarna survei permukaan berdasarkan kedalamanMenggambar kaki permukaan dengan garis putus-putusMenggambar gridunit metrikunit imperialderajat (°)gradsMenampilkan ukuran padaMenampilkan sudut padaMembalikkan arti kontrolMenampilkan skala barMenampilkan bar kedalamanMenampilkan kompasMenampilkan klinometerMenampilkan panel%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveiPresentasiArah timurArah Utara&Cetak... Ctrl+P&Tata Halaman...&Ekpor sebagai...Ekspor&Sembunyikan Klino&Sembunyikan bar skala&Sembunyikan kunci warna&Sembunyikan KompasHide si&blingsKehabisan memoriInformasi Sistem:Faktor skala harus non-zeroSeparator pada nama surveiPotongan melintangDindingLorongMenampilkan informasi tanggal survei (jika ada)Perintah *alias burukPratilik CetakCetak&Cetak...Ekspor sebagai:Gagal membuka “%s” untuk menulisKaki Survei Per&mukaanEdit WaypointVersi %s membutuhkan OpenGL untuk bekerja, tetapi tidak tersedia.Kaki Leba&r&Sembunyikan&Pudar&TampilkanEkspor formatBerkas DXFBerkas EPSBerkas GPXHPGL untuk plotterCompass PLT untuk digunakan dengan CartoDuplicate date type “%s”Berkas SVGMulut guaTitik tetapStasiun dieksporDi tengahKoordinat penuhkmmcm mil mil′″&Persen∞Tampak AtasTampak Atas KiwiSistem koordinat tidak diketahuiSistem koordinat tidak cocok pada keluaranGagal mengkonversi koordinat: %sProyeksi masukan diatur tetapi proyeksi keluaran tidakProyeksi keluaran diatur tetapi proyeksi masukan tidakKoordinat tidak dapat diabaikan saat sistem koordinat yang telah ditentukanProyeksi koordinatSudah memiliki perintah FIX tanpa koordinat stasiun “%s”Stasiun “%s” ditetapkan sebelum perintah CS pertama kali digunakanSistem koordinat tidak valid: %sBerkas KMLBerkas JSON&Simpan LogBerkas logWarna menurut &Survei&Lahan&Warna menurutPilih satu berkas dataran untuk melihatBerkas-berkas dataranBuka &Dataran...menghasilkan keluaran EPSmenghasilkan keluaran GPXmenghasilkan keluaran HPGLmenghasilkan keluaran JSONmenghasilkan keluaran KMLmenghasilkan keluaran Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)kaki survei permukaankaki lebarmulut guatitik tetapstasiun dieksporpotongan melintangdindinglorongdi tengahkoordinat penuhpenanda stasiunlabel stasiunkaki survei di bawah tanahJepit ke tanahjepit ke tanahUnits “%s” are deprecated, assuming “grads” - see manual for detailsWarna menurut Eror &horisontalWarna menurut Eror &vertikalColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGmenghasilkan keluaran Survex 3dOutput coordinate system not setExpecting integer in range %d to %dBerkas Compass DATBerkas Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayMengharapkan “%s”Tidak dapat membuat berkas sementaraMacro “%s” not definedDipindahkan oleh (%3.2f,%3.2f,%3.2f): %sDitambahkan: %sDihapus: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Gagal menemukan stasiun %sGagal menemukan kaki %s → %sMulai dari stasiun %sMembentang ke kiri dari stasiun %sMembentang ke kanan dari stasiun %sMembentang ke kiri dari kaki %s → %sMembentang ke kanan dari kaki %s → %sMematahkan putaran survei pada stasiun %sMematahkan putaran survei kaki kaki %s → %sMenukar arah diperluas dari stasiun %sMenukar arah diperluas dari kaki %s → %sMenerapkan berkas spesifikasi: “%s”Menulis %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Tahun tidak validZ exaggeration factorsurvex-1.4.17/lib/survex-aven.desktop0000644000175000017500000000063114567212227013255 [Desktop Entry] Version=1.0 Name=Aven Cave Surveying Tool GenericName=Cave Surveying Tool Comment=Visualise cave surveys Type=Application Exec=aven %f Icon=aven Categories=Education;Geology;Science; Keywords=caving;survey;data;visualisation;visualization;OpenGL;wxWidgets;3D MimeType=application/x-survex-svx;application/x-survex-3d;application/x-survex-pos;application/x-compass-plot;application/x-cmap-xyz; survex-1.4.17/lib/zh_CN.po0000664000175000017500000027227314766623454010770 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Qingqing Li \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "文件(&F)" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "旋转(&R)" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "方向(&O)" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "查看(&V)" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "控制(&C)" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "帮助(&H)" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "演示文档(&P)" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "使用" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "内存耗尽" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "内存耗尽(不足 %lu 字节)" #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "试图读取文件“%s”时内存不足" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "处理此测量数据需要Survex %s 或以上版本。" #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "信息" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "警告" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "错误" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "在文件中包括 %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix已弃用 - 请改用*begin和*end" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "站名中不允许使用字符“%c”(使用 *SET NAMES 设置允许使用的字符)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "字段不能省略" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "需要数字字段,找到“%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "找到“%s”,需要“PRESERVE”、“TOUPPER”、“TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "检测到程序错误!请将此报告给作者" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "未知的命令 “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "站“%s”等同于它自身" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "除了垂直测量段,方位数据不可省略" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "距离数据不可胜路" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "行尾不为空" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "有 %d 条警告。" #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "命令 “%s” 执行失败" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "读取文件时发生错误" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "错误太多 - 放弃" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "不推荐*DEFAULT - 使用带DEFAULT参数的*CALIBRATE/DATA/SD/UNITS代替" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "垂直测量段上的罗盘读数" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "此文件中%s没有匹配的%s" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "站“%s”未从测量“%s”中导出" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "站“%s”引用自不存在的测量“%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s”不能既是一个测站又是一个测量" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "需要站名" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "找到“%s”,需要“EQUATES”、“EXPORTS”或“PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "找到“%s”,需要“ON”或“OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "EQUATE命令中只有一个站" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "未知量“%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "未知单位“%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "单位“%s”已弃用,假定为“grads”-有关详细信息,请参阅手册" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "未知坐标系" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "无效坐标系:%s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "坐标系不适合输出" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "转换坐标失败:%s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "设置了输入投影,但未设置输出投影" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "设置了输出投影,但未设置输入投影" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "指定坐标系后,坐标不能省略" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "必须为“%s”指定输入坐标系" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "需要数字或“AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "未指定测量日期-使用0作为磁偏角" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "匹配的BEGIN命令没有测量名称" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "量的单位“%s”无效" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "未知工具“%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "DECLINATION的比例因子必须为1.0" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "比例因子必须为非零" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "未知设置“%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "未知字符类“%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "无测量数据" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "文件名“%s”引用了目录" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "测量并非全部连接到固定站" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "站已经固定或等同到一个固定点" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "无法打开输出文件“%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "标准偏差必须是正数" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "测量段的两端有同一个站(“%s”)—输入错误?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "倾角读数超过 %.f%s(绝对值)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "尝试等同两个不相等的固定站“%s”和“%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "等同两个相等的固定点:“%s”和“%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "FIX命令没有坐标—固定在 (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "站已经固定在同一坐标" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "站“%s”已经有FIX命令但没有坐标" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "在首次使用CS命令前,站“%s”已固定" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT必须紧跟着“*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "假设两位数年份为%d" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "无效年份(<1900 或 >2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "无效年份" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "可疑的罗盘读数" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "负的皮尺读数" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "同一个站点固定两次,无坐标" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "皮尺读数小于深度变化" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "不允许读取“%s”为“%s”数据样式" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "数据样式“%s”的读数太少" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "未知的数据样式“%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "站“%s”已导出" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "重复读取“%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "未知的标志“%s”" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "已丢失 \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "站“%s”只引用了一次,并且有明确的测量名称—输入错误?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "下列测量站未连接到固定点:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "测量没有固定点。 因此,我将%s固定在 (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "未使用的固定点“%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "解%d联立方程" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "读取“%s”与以前的读取重复" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "解一个方程" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "负调整距离读数" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "日期在未来!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "结束日期范围在开始日期之前" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "在不存在的站“%s”处指定的横截面" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "倾角和后视倾角的读数必须是同一类型" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "垂直的倾角和后视倾角度数不能在同一方向" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "无效的月份" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "无效的日期号数" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "支持%d到%d的3d文件格式版本" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "需要测量名称" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "无法打开文件 “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "无法写入文件“%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "无法创建临时文件" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "不会报告此已弃用功能的进一步使用" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "%s的距离读取和后视距离读取不一致" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "%s的方位读数和后视方位读数不一致" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "%s的倾角读数和后视倾角读数不一致" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …”已弃用-请改用“*data %s …”" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "错误的3d图像文件“%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "日期和时间不可用。" #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "读取文件“%s”时出错" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "写入文件“%s”时出错" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "写入文件出错" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "有%d个警告和%d个错误-未生成输出文件。" #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "文件“%s”的格式比此程序所能理解的要新" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "北" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "仰角" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "平面图(&L)" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "立面(&E)" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "立面" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "计划" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "仰视平面" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "正在计算统计数据" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "应为字符串字段" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "太少参数" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "的参数太多" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "文件" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "删除尾部导线" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "串联导线" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "计算导线" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "计算尾部导线" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "简化网络" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "计算网络" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "找到“%s”,应为“F”或“B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "测量段的总长度 = %7.2f%s (%7.2f%s 调整过的)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "测量段的总平面长度 = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "测量段的总垂直长度 = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "垂直范围 = %4.2f%s(从%s位于%4.2f%s处到%s位于%4.2f%s处)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "有一个环路" #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "有%ld个环路" #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "CPU使用时间%5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "使用时间%5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "使用时间不可用" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "使用时间%5.2fs(%5.2fs CPU时间)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "原始长度%6.2fm(%3d个段),移动了%6.2fm(%5.2fm/段)。 " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "误差 %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "误差 不适用(导线长度为0)" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "显示该求助信息并退出" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "显示版本信息并退出" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "选项" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "比例尺" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "比例(50、 0.02、1:50 和 2:100 均为 1:50)" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "请尝试“%s --help”获取更多信息。\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "已处理:%s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "扩展1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "平面图,纸上%s" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "立面,面朝%s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "平面图 (equivalent to --tilt=-90)" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "立面朝向%s,倾斜%s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "立面图(equivalent to --tilt=0)" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "立面展开图" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "测量包含1个测量站," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "测量包含%ld个测量站," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " 由1条测量段连接。" #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " 由%ld条测量段连接。" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "节点" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "节点" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "测量有%ld个连接的组件。" #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "保存日志(&S)" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "重新处理(&R)" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "数值参数“%s”超出范围" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "参数“%s”不是整数" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "参数“%s”不是数字" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "应为“%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "应为“%s”或“%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "应为“%s”、“%s”或“%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "应为“%s”、“%s”、“%s”或“%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "测量站“%s”由 *%s 引用,但从未使用" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "没有匹配%s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "测量名称与BEGIN不匹配" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "调查名称被从END处省略" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( 向东, 向北, 海拔 )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "显示深度:%d bpp(每像素位数)" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (彩色)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "需要日期,发现“%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "仅加载具有此前缀的子测量" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "打印并退出(需要3d文件)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "设置输出文件的位置" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "仅显示简要摘要(-qq仅用于错误)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "不创建.err文件" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "将警告转换为错误" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "日志输出到.log文件" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "指定要输出的3d文件格式版本" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "用.espec文件来控制扩展" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "使用输出中的地面测量段显示中断" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "*UNITS 因子必须为非零" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "3d文件“%s”中没有测量数据" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "封面" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "关于%s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "选择要查看的地形文件" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "地形文件" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "测量区域附近无地形数据" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "选择要查看的测量文件" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3d 文件" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "全部文件" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "所有测量文件" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Survex svx 文件" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK 文件" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT 文件" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP 文件" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV 文件" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF 文件" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS 文件" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPS 文件" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "绘图仪用HPGL" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML 文件" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "与Carto一起使用的Compass PLT" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex pos 打开" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG 文件" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON 文件" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "日志文件" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "测量可视化工具" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "本程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新发布和/或修改它;许可证的第2版或(由您选择)任何更高版本。" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "文件1 文件2 [阈值]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "文件1和文件2可以是.pos或.3d文件\n阈值为延任何轴可忽略的改变的最大值,单位“米”(默认 %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "取消隐藏" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "不在环路中" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "交错的读数,但没有NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "必须在NEWLINE前读取“%s”" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE前只能有STATION、DEPTH和COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "无法同时校准角度和长度量" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "错误的*alias命令" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s错误日志" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "导出(&E)..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "反向(&R)" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "查看" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "元素" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "导出格式" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d页(%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "一页" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "方位" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "方位 (90, 90d, 100g 均为 90°)" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "站名" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "站名" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "站标签" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "格点" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "站标志" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "地下测量段" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "地下测量段" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "截面" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "截面" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "墙" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "墙" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "通道" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "通道" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "全坐标" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "全坐标" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "贴着地面" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "贴着地面" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "倾角" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "倾斜角(45, 45d, 50g, 100% 均等同于 45°)" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "页面边框" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "图例" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "空白页" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "格点(&C)\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "网格(&G)\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "地表测量段" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "入口" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "入口" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "固定点" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "固定点" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "导出站" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "导出站" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "罗盘(&C)" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "缩放栏(&S)" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s:选项“%s”含义不明确\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s:选项“%c%s”不接受参数\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s:选项“--%s”不接受参数\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s:参数“%s”需要参数\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s:选项需要一个参数 -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s:无法识别的选项“--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s:无法识别的选项“%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s:选项无效 -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "新演示文档(&N)" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "打开演示文档...(&O)" #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "保存演示文档(&S)" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "保存演示文档为...(&V)" #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "播放(&Y)" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "" #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "导出视频" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "选择输出文件名" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Aven演示文档" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "保存截图" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "选择打开一个演示文档" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "演示文档“%s”的格式错误" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Compass PLT 打开" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "CMAP XYZ 打开" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "修改演示文档" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "当前演示文档已被修改。要放弃未保存的更改吗?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "未找到匹配内容。" #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "查找" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "海拔" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f东%.2f北" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "自 %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, fuzzy, c-format msgid "H %.2f%s, V %.2f%s" msgstr "横%.2f%s, 垂直 %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "百分比(&P)" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "千米" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "米" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "厘米" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "英里" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "英里" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "演示文档" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "显示全部" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "隐藏其他" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "向东" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "向北" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "打开(&O)...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "打开地形...(&T)" #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "显示日志(&L)" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "打印(&P)...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "页面设置(&a)..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "截图(&S)..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "" #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "" #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "导出" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "打印预览" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "打印" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "打印(&P)..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "编辑航点" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "时间: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 #, fuzzy msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " 秒 (0 = 自动; *6 = 6 times 自动)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "此版本的%s运行需要的OpenGL不可用。" #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "隐藏(&H)" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "显示(&S)" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "已添加:%s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "已删除:%s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "首选项(&P)..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "基于启发法估计左右上下读数" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "突出显示标记为入口的站" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "突出显示标记为固定点的站" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "使用站名标记测量站" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "允许名称在显示时重叠(更快)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "显示地下测量段" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "显示地表测量段" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "地表颜色按深度渲染" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "使用虚线画地表测量段" #: n:361 #~ msgid "Draw a grid" #~ msgstr "绘制网格" #: n:362 #~ msgid "metric units" #~ msgstr "公制单位" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "英制单位" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "度(°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "" #: n:366 #~ msgid "Display measurements in" #~ msgstr "" #: n:367 #~ msgid "Display angles in" #~ msgstr "角度显示为" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "" #: n:369 #~ msgid "Display scale bar" #~ msgstr "显示比例尺" #: n:370 #~ msgid "Display depth bar" #~ msgstr "显示深度栏" #: n:371 #~ msgid "Display compass" #~ msgstr "显示罗盘" #: n:372 #~ msgid "Display clinometer" #~ msgstr "" #: n:373 #~ msgid "Display side panel" #~ msgstr "显示侧面板" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/fr.po0000664000175000017500000031146414766623453010371 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2020-07-09 23:39:00 +0000\n" "Last-Translator: Wassil Janssen \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Fichier" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotation" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientation" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "Afficha&ge" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Commandes" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Aide" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Présentation" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Utilisation" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Mémoire insuffisante" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Mémoire insuffisante (%lu octets nécessaires, non disponibles)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Mémoire insuffisante lors de la lecture du fichier « %s »" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Une version %s ou supérieure de Survex est nécessaire pour traiter ces données." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "avertissement" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "erreur" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "Dans le fichier inclus depuis %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix n’est plus utilisé - employer *begin et *end à la place" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Le caractère « %c » est interdit dans un nom de station (cf *SET NAMES pour modifier la liste des caractères autorisés)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Ce champ ne peut pas être vide" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "On attendait une valeur numérique, on a trouvé « %s »" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Vous avez écrit « %s » ; on attendait « PRESERVE », « TOUPPER » ou « TOLOWER »" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Bogue détecté dans le programme ! Veuillez le signaler à l’auteur." #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Commande « %s » inconnue" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "La station « %s » ne doit pas être déclarée égale à elle-même" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "La valeur de l’azimut ne peut être omise, sauf sur les visées verticales" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Lecture de longueur ne peut être omise" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Fin de ligne non vide" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Il y a %d avertissement(s)." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Ne peut pas exécuter la commande externe : « %s »" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Erreur lors de la lecture du fichier" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Trop d’erreurs, j’abandonne" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT est obsolète - employer *CALIBRATE/DATA/SD/UNITS avec l'argument DEFAULT à la place" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Lecture d’azimut donnée sur une visée verticale" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s sans %s correspondant dans ce fichier" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "La station « %s » n’est pas exportée depuis la topographie « %s »" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Référence à la station « %s » depuis la topographie « %s » inexistante" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "« %s » ne peut être à la fois une station et une topographie" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "On attendait un nom de station" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Vous avez écrit « %s » ; on attendait « EQUATES », « EXPORTS » ou « PLUMBS »" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Vous avez écrit « %s » ; on attendait « ON » ou « OFF »" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Une seule station dans une commande EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Quantité « %s » inconnue" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unité « %s » inconnue" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "Les unités « %s » sont obsolètes, supposant que ce sont des « gradiants » - voir le manuel pour plus de détails" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Système de coordonnées inconnu" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Système de coordonnées non valide : %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Système de coordonnée impropre en sortie" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Échec de la conversion des coordonnées : %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "La projection est définie en entrée mais manque en sortie" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "La projection est définie en sortie mais manque en entrée" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "Les coordonnées ne peut être omises quand le système de coordonnées est spécifié" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Le système de coordonnées en entrée doit être spécifié pour « %s »" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Nombre ou « AUTO » attendu" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "La date de topographie n'est pas spécifiée - utilise 0 pour la déclinaison magnétique" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Déclinaison : %s, convergence méridienne : %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "La commande BEGIN correspondante n’a pas de nom de topographie" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unité « %s » incorrecte pour une quantité" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrument « %s » inconnu" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Le facteur d’échelle doit être égal à 1.0 pour DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Le facteur d’échelle doit être non nul" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Paramètres « %s » inconnus" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Classe de caractère inconnue « %s »" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Pas de données topographiques" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Nom de fichier « %s » relatif à un répertoire" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Les relevés topographiques ne sont pas tous reliés à des points fixes" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Station déjà déclarée fixe ou équivalente à un point fixe" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Impossible d'ouvrir le fichier de sortie « %s »" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "La déviation standard doit être positive" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Visée avec 2 extrémités identiques (« %s ») - erreur de frappe ?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Lecture de clino supérieure à %.f%s (en valeur absolue)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Vous tentez de rendre égaux deux points fixes distincts : « %s » et « %s »" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Rend equivalents deux points fixes égaux : « %s » et « %s »" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Commande FIX sans coordonnées - fixée à (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Station déjà fixée aux même coordonnées" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Il existe déjà des commandes FIX sans coordonnées pour la station « %s »" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "La station « %s » est fixé avant l'utilisation de la commande CS" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT doit suivre immédiatement « *BEGIN »" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "En supposant que l'année à deux chiffres est %d" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Année non valide (< 1900 ou > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Année non valide" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Lecture de compas suspecte" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Lecture de longueur négative" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Même station fixée deux fois sans coordonées" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Lecture de longueur inférieure à la différence de profondeur" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Donnée « %s » incorrecte pour le style de données « %s »" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Trop peu de données pour le style de données « %s »" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Style de données « %s » inconnu" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "La station « %s » est déjà exportée" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Donnée dupliquée « %s »" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG « %s » inconnu" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "\" manquant" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "La station « %s » n’est mentionnée qu’une fois, avec un nom de topographie explicite - faute de frappe ?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Les stations topographiques suivantes ne sont pas attachés à des points fixes :" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "La topographie n’a pas de points fixes. Par conséquent j’ai fixé %s à (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Point fixe non utilisé « %s »" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Résoud un système de %d équations" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "La valeur « %s » fait doublon avec une ou des valeur(s) précédente(s)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Résoud une équation" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Lecture de longueur corrigée négative" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "La date est dans le futur !" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "La date de fin est antérieure à celle de début" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Section spécifié sur une station inexistante « %s »" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Les mesures de CLINO et BACKCLINO doivent être du même type" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "Les lectures verticales CLINO et BACKCLINO peuvent être dans la même direction" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Mois non valide" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Jour du mois non valide" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Les versions de fichiers au format 3D de %d à %d sont pris en charge" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "On attendait un nom de topographie" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Impossible d'ouvrir le fichier « %s »" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Impossible d'écrire le fichier « %s »" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Ne peut créer un fichier temporaire" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Cette fonctionnalité n’est plus utilisée ; les utilisations ultérieures ne seront pas signalées" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Les mesures de TAPE et BACKTAPE diffèrent de %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Les mesures de COMPASS et BACKCOMPASS diffèrent de %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Les mesures de CLINO et BACKCLINO diffèrent de %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "« *data %s %c … » est obsolète - utiliser plutôt « *data %s … »" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Mauvais fichier image 3d « %s »" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Date et heure non disponibles." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Erreur lors de la lecture du fichier « %s »" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Erreur lors de l’écriture du fichier « %s »" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Erreur à l’écriture du fichier" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Il y a %d avertissement(s) et %d erreur(s) - aucun fichier n’a été produit" #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Le fichier « %s » a un format trop récent pour que ce programme puisse le comprendre" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Nord" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Élévation sur" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Vue en plan" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Élévation" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Élévation" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Plan" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "Antipode" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calcul des statistiques" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "On attendait une chaine de caractères dans ce champ" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "trop peu d'arguments" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "trop d’arguments" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FICHIER" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Enlève les séquences terminales" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Connecte les séquences" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calcule les séquences" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calcule les séquences terminales" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplification de réseau" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calcul du réseau" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Vous avez écrit « %s » ; on attendait « F » ou « B »" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Longueur totale de la topographie = %7.2f%s (%7.2f%s ajusté)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Longueur totale en projection horizontale = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Longueur totale verticale = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Intervalle vertical = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Intervalle Nord-Sud = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Intervalle Est-Ouest = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Il y a 1 bouclage." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Il y a %ld bouclages." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Temps CPU utilisé %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Temps utilisé %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Temps utilisé non disponible" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Temps utilisé %5.2fs (%5.2fs temps CPU)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Longueur originale %6.2fm (%3d visées), réduit à %6.2fm (%5.2fm/visées). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Erreur %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Erreur N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "affiche cette aide et quitte" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "affiche les informations sur la version et quitte" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPTION" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Échelle" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "échelle (50, 0,02, 1:50 et 2:100 tous signifient 1:50)" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Pour en savoir davantage, essayez : « %s --help »\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Traité le %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Développée 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Vue en plan, azimut %s vers le haut de la page" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Coupe projetée azimut %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "vue en plan (équivalent à --tilt=-90)" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Coupe projetée azimut %s, tournée de %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "vue en élévation (équivalent à --tilt=0)" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Coupe développée" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "La topographie contient 1 station," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "La topographie contient %ld stations," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " connectées par 1 visé." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " connectées par %ld visées." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nœud" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nœuds" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "La topographie contient %ld composants connectés." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Enregistrer le journal" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Recalculer" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argument numérique « %s » hors limite" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "l’argument « %s » n’est pas un entier" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "l’argument « %s » n’est pas un nombre" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "On attendait « %s »" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "On attendait « %s » ou « %s »" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "On attendait « %s », « %s » ou « %s »" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "On attendait « %s », « %s », « %s » ou « %s »" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "La station « %s » est citée dans un *%s mais n’est jamais utilisée" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "%s manquant" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "Le nom de topographie du END ne correspond pas à celui du BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Nom de topographie manquant dans le END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( X (est), Y (nord), altitude )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Profondeur d’affichage : %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (couleur)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "On attendait une date, on a trouvé « %s »" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "ne charge que la partie de la topographie avec le préfixe" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "Imprimer et quitter (nécessite un fichier 3D)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "Définir l’endroit pour les fichiers sortis" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "Afficher seulement un bref résumé (-qq pour les erreurs seulement)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "Ne pas créer de fichier .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "changer les avertissements en erreurs" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "enregistrer la sortie dans un fichier .log" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "spécifier la version du format de fichier 3D en sortie" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "fichier .espec pour contrôler l'extension" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "affiche les coupures avec les visées de surface en sortie" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "*UNITS : le facteur doit être non nul" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Pas de données topographiques dans le fichier image 3d « %s »" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Direction" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "À propos de %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Sélectionner un fichier de surface à visualiser" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Fichiers de surface" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "Aucune donnée de terrain à proximité de la zone" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Sélectionner un fichier de topographie à afficher" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Fichiers de données 3D Survex" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Tous les fichiers" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Tous les fichiers de topographie" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Fichiers svx Survex" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Fichiers MAK Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Fichiers DAT Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Fichiers CLP Compass" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 #, fuzzy msgid "Walls survey data files" msgstr "Fichiers topographie Walls" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Fichiers CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Fichiers DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Fichiers EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Fichiers GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL pour traceurs" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Fichiers KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Fichiers PLT Compass à utiliser avec Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Fichiers pos Survex" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Fichiers SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Fichiers JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Fichiers journaux" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Outil de visualisation de topographies" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix) toute version ultérieure." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FICHIER1 FICHIER2 [SEUIL]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "Les fichiers FICHIER1 et FICHIER2 peuvent êtres des fichiers .pos ou .3d\nLe SEUIL est le changement maxi. ignorable le long de n'importe quel axe en mètres (%s par défaut)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "FICHIER_D_ENTREE [FICHIER_DE_SORTIE_3D]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "FICHIER_D_ERREUR [NOMBRE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[FICHIER_TOPOGRAPHIE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[FICHIER_TOPOGRAPHIE]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Non datée" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Pas dans la boucle" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE ne peut pas être la première valeur" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE ne peut pas être la dernière valeur" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Données sur plusieurs lignes, mais pas de NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "La donnée « %s » doit apparaître avant NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE ne peut être précédée que par STATION, DEPTH et COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "On ne peut pas étalonner les angles et les longueurs en même temps" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Mauvaise commande *alias" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "Journal d’erreur de %s" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exporter..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Rotation &automatique\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "Direction &inverse" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Vue vers le &nord" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Vue vers l’&est" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Vue vers le &sud" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Vue vers l’&ouest" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "Vue en &plan" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Élé&vation" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Restaurer la vue par défaut" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vue" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Éléments" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Format d'exportation" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d pages (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Une page" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "azimut (90, 90d, 100g, tous signifient 90°)" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Nom de station" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Noms de station" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "étiquettes station" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Croisements" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "marqueurs station" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Visées souterraines" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "visées souterraines" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Sections" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "sections" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Parois" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "parois" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Galeries" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "galeries" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Origine au centre" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "origine au centre" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Coordonnées complètes" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "coordonnées complètes" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Collé au sol" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "collé au sol" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Angle de basculement" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "inclinaison (45, 45d, 50g, 100% tous signifient 45°)" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Bordures de page" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Légende" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Pages blanches" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Noms de station\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Galeries &tubulaires\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "Terra&in" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Croisements\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grille\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Bordures du cadre\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Visées souterraines\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Segments de topo en s&urface\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "segments de topo en surface" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "&Superposition des noms" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "Cou&leur par" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Mettre en surbrillance les &entrées" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Mettre en surbrillance les points &Fixes" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Mettre en surbrillance les points exp&ortés" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Entrées" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "entrées" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Points fixes" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "points fixes" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Points exportés" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "points exportés" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Pe&rspective" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Te&xture des parois" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Rendre floue les ob&jets lointains" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Lissage des segments topographi&ques" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Mode plein écran\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Couleur par &profondeur" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Couleur par &date" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Couleur par &erreur" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Couleur par erreur &horizontal" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Couleur par erreur &vertical" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Couleur par pe&nte" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Couleur par &longueur" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Couleur par &topographie" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "Couleur par st&yle" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Compas" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "C&lino" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "Couleur cle&f" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Barre de controle des éch&elles" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "Sens &inverse\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Annuler la ligne de mesure\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicateurs" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s : l’option « %s » est ambiguë\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s : l’option « %c%s » n’a pas d’argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s : l’option « --%s » n’a pas d’argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s : l’option « %s » requiert un argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s : l'option nécessite un argument -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s : option « --%s » non reconnue\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s : option « %c%s » non reconnue\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s : option non valide -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nouvelle présentation" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Ouvrir une présentation..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "Enregi&strer la présentation" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Enreg&istrer la présentation sous..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Marquer" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Lecture" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exporter en tant qu'animation..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Exporter le film" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Sélectionner un nom de fichier de sortie" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Présentations Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Enregistrer la copie d'écran" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Slectionner une présentation à ouvrir" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Erreur de formatage du fichier de présentation « %s »" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Fichier Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Fichier CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Présentation modifiée" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "La présentation en cours a été modifiée. Perte des changements non sauvés ?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Recherche infructueuse." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Chercher" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altitude" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Vous ne pouvez afficher qu’un fichier image 3D à la fois" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Vue latérale" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f E, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Depuis %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s : %s, dist %.2f%s, azim %03.1f%s, pente %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Métrique" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Degrés" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Pourcent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " milles" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " mille" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Masquer le compas" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Masquer le clinomètre" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Masquer l'échelle" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&Masquer l’échelle des couleurs" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s : H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s : V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Topographies" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Présentation" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Tout afficher" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Masquer les autres" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "Cacher la &fratrie" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Est" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Nord" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Ouvrir...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Ouvrir un &terrain..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Afficher le &journal" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Imprimer...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "Configurer la &page..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Copie d’écran..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Coupe &développée..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exporter sous..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exporter en tant que :" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exporter" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Système d’information :" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Aperçu avant impression" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Imprimer" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Imprimer..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Segments de topographie en sur&face" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Éditer un waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (non utilisé dans la vue en perspective)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Temps : " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " secs (0 = auto ; *6 = 6 fois auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Cette version de %s a besoin d’OpenGL pour fonctionner, mais il n’est pas disponible." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Séparateur dans le nom de la topographie" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "station anonyme" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Impossible d'avoir une visée entre deux stations anonymes" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "Visées l&atérales" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "visées latérales" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "Visées &dupliquées" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "Mas&quer" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Obscurcir" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "&Tirets" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Afficher" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Lecture de données - veuillez patienter…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "La station %s n’a pas été trouvée" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Visée %s → %s non trouvé" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Début à la station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Extension vers la gauche en partant de la station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Extension vers la droite en partant de la station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Extension vers la gauche en partant de la visée %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Extension vers la droite en partant de la visée %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Coupure de la boucle à la station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Coupure de la boucle à la visée %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Change la direction de la coupe développée à partir de la station %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Change la direction de la coupe développée à partir de la visée %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Application du fichier de spécification : « %s »" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Écriture de %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "trier par facteur d’erreur horizontal" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "trier par facteur d’erreur vertical" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "trier par pourcentage d’erreur" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "trier par erreur par visée" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "remplacer le fichier .err par la version assortie" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "La lecture du fichier .err a échoué" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Déplacement de (%3.2f,%3.2f,%3.2f) : %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Ajouté : %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Effacé : %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Ré-utiliser un même nom de topographie est obsolète" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Première utilisation du nom de topographie ici" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT est obsolète" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "rembobiner le fichier et le lire une seconde fois" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "afficher la date de la topographie (si présente)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Échec à l'initialisation du système de coordonnées d’entrée « %s »" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Échec à l'initialisation du système de coordonnées de sortie « %s »" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "générer une grille (%sm par défaut)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "hauteur du texte dans les étiquettes station (%s par défaut)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "taille des marqueurs station (%s par défaut)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "produire une sortie 3d Survex" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "produire une sortie CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "produire une sortie DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "produire une sortie EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "produire une sortie GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "produire une sortie HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "produire une sortie JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "produire une sortie KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "produire une sortie PLT Compass pour Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "produire une sortie POS Survex" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "produire une sortie SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "Format d'exportation non spécifié et inconnu de l'extension du fichier de sortie" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "Format d'exportation non spécifié" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "inclure les éléments exportés par défaut" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "“%s” ignorée" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Erreur dans le format du fichier de police de caractères « %s »" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Surface s&olide" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d trouvée(s)" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Préférences..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Dessiner les parois" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimation heuristique des dimensions de galerie" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Marquer les stations d'une croix" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Mettre en surbrillance les stations marquées comme entrées" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Mettre en surbrillance les stations marquées comme points fixes" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Mettre en surbrillance les stations exportées" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Afficher les stations par leurs noms" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permettre aux noms de se recouvrir (affichage plus rapide)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Afficher les visées souterraines" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Afficher les visées de surface" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Couleur de la topographie de surface en fonction de l’altitude" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Représenter les visées de surfaces par des tirets" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Afficher une grille" #: n:362 #~ msgid "metric units" #~ msgstr "unités métriques" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unités impériales" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "degrés (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grades" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Afficher les distances en" #: n:367 #~ msgid "Display angles in" #~ msgstr "Afficher les angles en" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Inverser le sens des commandes" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Afficher l’échelle" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Afficher la barre de profondeur" #: n:371 #~ msgid "Display compass" #~ msgstr "Afficher la boussole" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Afficher le clinomètre" #: n:373 #~ msgid "Display side panel" #~ msgstr "Afficher le panneau latéral" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Projection des coordonnées" survex-1.4.17/lib/bg.msg0000664000175000017500000004017314766643344010517 Svx Msg @g©Couldn’t open file “%s”Недостатъчна памет при четенето на файла “%s”Failed to open output file “%s”Bad 3d image file “%s”Filename “%s” refers to directoryError reading from file “%s”Грешка при запис във файл “%s”File “%s” has a newer format than this program can understandОчаква се числено поле, а не “%s”Намерено е “%s” а се очкваше “PRESERVE”, “TOUPPER”, или “TOLOWER”Намерена е грешка в програмата. Моля я докладвайте на авторите.Непозната команда “%s”Station “%s” equated to itselfCompass reading may not be omitted except on plumbed legsEnd of line not blankThere were %d warning(s).Couldn’t run external command: “%s”Грешка при четене на файлToo many errors - giving up*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT insteadCompass reading given on plumbed legCorresponding %s was here%s with no matching %s in this fileНедостатъчна памет (невъзможност да се намерят %lu байта).ROOT is deprecatedStation “%s” not exported from survey “%s”“%s” can’t be both a station and a surveyExpecting station nameReentering an existing survey is deprecatedOriginally entered hereFound “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”Found “%s”, expecting “ON” or “OFF”Only one station in EQUATE commandUnknown quantity “%s”Unknown units “%s”Matching BEGIN command has no survey nameInvalid units “%s” for quantityИзисква се минимална версия %s на Survex за да се обработят данните.Unknown instrument “%s”Scale factor must be 1.0 for DECLINATIONUnknown setting “%s”Unknown character class “%s”No survey dataВъв файла включен на %s:%u: Survey not all connected to fixed stationsStation already fixed or equated to a fixed pointCan't have a leg between two anonymous stationsStandard deviation must be positiveИзползванеSurvey leg with same station (“%s”) at both ends - typing error?Clino reading over %.f%s (absolute value)Tried to equate two non-equal fixed stations: “%s” and “%s”Equating two equal fixed points: “%s” and “%s”FIX command with no coordinates - fixing at (0,0,0)Station already fixed at the same coordinatesanonymous station*EXPORT must immediately follow “*BEGIN ”Invalid year (< 1900 or > 2078)Suspicious compass readingNegative tape readingSame station fixed twice with no coordinatesTape reading is less than change in depthReading “%s” not allowed in data style “%s”Too few readings for data style “%s”Data style “%s” unknownStation “%s” already exportedDuplicate reading “%s”FLAG “%s” unknownЛипсва "Station “%s” referred to just once, with an explicit survey name - typo?The following survey stations are not attached to a fixed point:Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)Unused fixed point “%s”No blank after tokenSolving %d simultaneous equationsAssuming 2 digit year is %dReading “%s” duplicates previous reading(s)Solving one equationNegative adjusted tape readingDate is in the future!End of date range is before the startColour by &LengthCross section specified at non-existent station “%s”CLINO and BACKCLINO readings must be of the same typeColour by &GradientInvalid monthInvalid day of the month3d file format versions %d to %d supportedExpecting survey name.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionгрешкаTape reading may not be omittedFurther uses of this deprecated feature will not be reported%TAPE reading and BACKTAPE reading disagree by %sCOMPASS reading and BACKCOMPASS reading disagree by %sCLINO reading and BACKCLINO reading disagree by %sStation NameCSV файлproduce CSV outputExpecting “%s” or “%s”“*data %s %c …” is deprecated - use “*data %s …” insteadReading in data - please wait…внимание%a,%Y.%m.%d %H:%M:%S %ZDate and time not available.*prefix вече не се употребява, използвайте *begin и *end вместо негоCharacter “%c” not allowed in station name (use *SET NAMES to set allowed characters)Грешка при запис във файлCouldn’t parse .err fileThere were %d warning(s) and %d error(s) - no output files produced.Това поле не може да бъде оставено празноСеверElevation on&ПланПрофилprint and exit (requires a 3d file)Calculating statisticsExpecting string fieldнедостатъчно аргументитвърде много аргументиФАЙЛRemoving trailing traversesConcatenating traversesCalculating traversesCalculating trailing traversesSimplifying networkCalculating networkFound “%s”, expecting “F” or “B”Total length of survey legs = %7.2f%s (%7.2f%s adjusted)Total plan length of survey legs = %7.2f%sTotal vertical length of survey legs = %7.2f%sVertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)Север-Юг range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)Изток-Запад range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)There is 1 loop.There are %ld loops.CPU time used %5.2fsTime used %5.2fsTime used unavailableTime used %5.2fs (%5.2fs CPU time)Показване на &ДневникаOriginal length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). Грешка %6.2f%%Грешка N/Agenerate grid (default %sm)station labels text height (default %s)display this help and exitизвеждане на информация за версията и изходstation marker size (default %s)ОПЦИЯМащабinclude items exported by defaultproduce DXF outputTry “%s --help” for more information. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsSurvex pos filesProcessed: %sПлан, %s up pageПрофил Азимут %slog output to .log filespecify the 3d file format version to outputSurvey contains 1 survey station,Survey contains %ld survey stations, joined by 1 leg. joined by %ld legs.възелвъзелаSurvey has %ld connected components.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Възстановяванеnumeric argument “%s” out of rangeargument “%s” not an integerargument “%s” not a numberExpecting “%s”, “%s”, or “%s”Expecting “%s”, “%s”, “%s”, or “%s”Station “%s” referred to by *%s but never usedРазгънат вертикален планNo matching %sSurvey name doesn’t match BEGINSurvey name omitted from END( изток, север, височина )Display Depth: %d bpp (colour)Expecting date, found “%s”only load the sub-survey with this prefix*UNITS factor must be non-zero&Снимка на екрана...No survey data in 3d file “%s”Азимутrewind file and read it a second timeЗа %sSelect a survey file to viewSurvex 3d filesВсички файловеSurvey visualisation tool&Файл&Завъртане&Ориентация&Изглед&КонтролиПо&мощ&Презентацияscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version.&Отвори... Ctrl+OОбновеноNEWLINE can’t be the first readingNEWLINE can’t be the last readingInterleaved readings, but no NEWLINEReading “%s” must occur before NEWLINENEWLINE can only be preceded by STATION, DEPTH, and COUNTCan’t calibrate angular and length quantities together%s Error LogВсички поддържани файлове&Експортиране...&Включи ротация Space%d/%d↑%s 1:%.0f&Обръщане на посока%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&PerspectiveTextured &WallsFade Distant Ob&jectsView &NorthView &EastView &SouthView &WestРазгънат вертикален план 1:%.0fПокажи всичкиСкриване на останалитеE&xtended Elevation...&ПланПро&фил&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specified&Стандартен изгледFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Елементи%d pages (%dx%d)Една страницаАзимутStation NamesКръстчетаUnderground Survey LegsНаклонPage BordersЛегендаBlank PagesINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Station &Names Ctrl+N&Кръстчета Ctrl+X&Underground Survey Legs Ctrl+L&Overlapping Names&КомпасC&linometerColour &KeyЛента за &мащаб (unused in perspective view)Време: &Reverse Sense Ctrl+R&Cancel Measuring Line Escape сек. (0 = auto; *6 = 6 times auto)ИзгледПрофил Азимут %s, Наклон %sПро&филReference to station “%s” from non-existent survey “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Colour by &ErrorNot in loop&Surface Survey Legs Ctrl+FColour by &DepthColour by D&ateHighlight &EntrancesHighlight &Fixed PointsHighlight E&xported Points&Мрежа Ctrl+GSmoot&hed Survey Legs&Индикатори%s: option “%s” is ambiguous Input coordinate system must be specified for “%s”%s: option “%c%s” doesn’t allow an argument %s: option “--%s” doesn’t allow an argument No survey date specified - using 0 for magnetic declination%s: опция “%s” изисква аргумент %s: опция изисква аргумент -- %c %s: unrecognized option “--%s” %s: unrecognized option “%c%s” Expected number or “AUTO”%s: невалидна опция -- %c &New Presentation&Open Presentation...&Save PresentationSa&ve Presentation As...&Mark&Старт&Export as Movie...&Рамка Ctrl+BSelect an output filenameAven presentationsЗапазване на кадърSelect a presentation to openError in format of presentation file “%s”Compass PLT файловеCMAP XYZ файловеModified PresentationThe current presentation has been modified. Abandon unsaved changes?Няма намерени съответствия.Survex svx filesCompass MAK filesExport MovieТърсенеFind stations%d stations match %s%s%sНадморска височинаYou may only view one 3d file at a time.&Side Panel%.2f и, %.2f сОт %sH %.2f%s, V %.2f%s%s: %s, Разстояние %.2f%s, Brd %03.1f%s, Наклон %s&Metric&Degrees°ᵍPassage &Tubes Ctrl+T&Настройки...Draw passage wallsEstimate LRUD readings based on heuristicsMark survey stations with crossesHighlight stations marked as entrancesHighlight stations marked as fixed pointsHighlight stations which are exportedMark survey stations with their namesAllow names to overlap on the display (faster)&Цял екран F11Display underground survey legsDisplay surface survey legsColour surface surveys by depthDraw surface legs with dashed linesРисувай мрежаmetric unitsimperial unitsdegrees (°)gradsDisplay measurements inDisplay angles inReverse the sense of the controlsDisplay scale barDisplay depth barDisplay compassDisplay clinometerDisplay side panel%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveysПрезентацияизтоксевер&Принтиране... Ctrl+PP&age Setup...&Export as...Експортиране&Hide Clino&Hide scale bar&Hide colour key&Скрий КомпасHide si&blingsНедостатъчна паметSystem Information:Scale factor must be non-zeroSeparator in survey nameCross-sectionsСтениPassagesshow survey date information (if present)Bad *alias commandПредпечатен прегледПринтиране&Принтиране...Export as:Неуспех при запис на файл: “%s”Sur&face Survey LegsEdit WaypointThis version of %s requires OpenGL to work, but it isn’t available.Spla&y Legs&Скриване&Избледняване&ПоказванеExport formatDXF файлEPS файлGPX файлHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”SVG файлВходовеFixed PointsExported StationsOrigin in centreFull coordinatesкммсм miles mile′″&Percent∞ПланKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionAlready had FIX command with no coordinates for station “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sKML файлJSON файл&Съхрани дневникаLog filesColour by &SurveyTerr&ainCo&lour bySelect a terrain file to viewTerrain filesOpen &Terrain...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)surface survey legssplay legsвходовеfixed pointsexported stationscross-sectionsстениpassagesorigin in centrefull coordinatesкръстчетаstation labelsunderground survey legsClamp to groundclamp to groundUnits “%s” are deprecated, assuming “grads” - see manual for detailsColour by &Horizontal ErrorColour by &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sинфоconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dCompass DAT filesCompass CLP filesFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayExpecting “%s”Не може да се създаде временен файлMacro “%s” not definedMoved by (%3.2f,%3.2f,%3.2f): %sДобавено: %sИзтрито: %sDatum “%s” not supportedWalls project filesWalls survey data filesОтхвърляне на “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Failed to find station %sFailed to find leg %s → %sStarting from station %sExtending to the left from station %sExtending to the right from station %sExtending to the left from leg %s → %sExtending to the right from leg %s → %sBreaking survey loop at station %sBreaking survey loop at leg %s → %sSwapping extend direction from station %sSwapping extend direction from leg %s → %sApplying specfile: “%s”Writing %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/Indonesian.isl0000664000175000017500000004351314756727464012225 ; *** Inno Setup version 6.1.0+ Indonesian messages *** ; ; Untuk mengunduh terjemahan kontribusi-pengguna dari berkas ini, buka: ; http://www.jrsoftware.org/files/istrans/ ; ; Alih bahasa oleh: MozaikTM (mozaik.tm@gmail.com) [LangOptions] LanguageName=Bahasa Indonesia LanguageID=$0421 LanguageCodePage=0 [Messages] SetupAppTitle=Instalasi SetupWindowTitle=Instalasi - %1 UninstallAppTitle=Pelepas UninstallAppFullTitle=Pelepasan %1 InformationTitle=Informasi ConfirmTitle=Konfirmasi ErrorTitle=Galat SetupLdrStartupMessage=Kami akan memasang %1. Teruskan? LdrCannotCreateTemp=Tidak dapat membuat berkas sementara. Batal memasang LdrCannotExecTemp=Tidak dapat menjalankan berkas di direktori sementara. Batal memasang LastErrorMessage=%1.%n%nGalat %2: %3 SetupFileMissing=Berkas %1 hilang dari direktori instalasi. Silakan koreksi masalah atau dapatkan salinan program yang baru. SetupFileCorrupt=Berkas pemandu telah rusak. Silakan dapatkan salinan program yang baru. SetupFileCorruptOrWrongVer=Berkas pemandu telah rusak, atau tidak cocok dengan versi pemandu ini. Silakan koreksi masalah atau dapatkan salinan program yang baru. InvalidParameter=Parameter tak sah terdapat pada baris perintah: %n%n%1 SetupAlreadyRunning=Pemandu sudah berjalan. WindowsVersionNotSupported=Program ini tidak mendukung versi Windows yang berjalan pada komputer Anda. WindowsServicePackRequired=Program ini memerlukan %1 Service Pack %2 atau yang terbaru. NotOnThisPlatform=Program ini tidak akan berjalan pada %1. OnlyOnThisPlatform=Program ini harus dijalankan pada %1. OnlyOnTheseArchitectures=Program ini hanya bisa dipasang pada versi Windows yang didesain untuk arsitektur prosesor berikut:%n%n%1 WinVersionTooLowError=Program ini memerlukan %1 versi %2 atau yang terbaru. WinVersionTooHighError=Program ini tidak dapat dipasang pada %1 versi %2 atau yang terbaru. AdminPrivilegesRequired=Anda harus masuk sebagai seorang administrator saat memasang program ini. PowerUserPrivilegesRequired=Anda harus masuk sebagai seorang administrator atau anggota grup Power Users saat memasang program ini. SetupAppRunningError=Kami mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua instansi bersangkutan, lalu klik OK untuk meneruskan, atau Cancel untuk keluar. UninstallAppRunningError=Pelepas mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua instansi bersangkutan, lalu klik OK untuk meneruskan, atau Cancel untuk keluar. ;Inno6 PrivilegesRequiredOverrideTitle=Pilih Mode Instalasi PrivilegesRequiredOverrideInstruction=Pilih mode instalasi PrivilegesRequiredOverrideText1=%1 bisa dipasang untuk semua pengguna (perlu izin administratif), atau hanya Anda. PrivilegesRequiredOverrideText2=%1 bisa dipasang hanya untuk Anda, atau semua pengguna (perlu izin administratif). PrivilegesRequiredOverrideAllUsers=Pasang untuk &semua pengguna PrivilegesRequiredOverrideAllUsersRecommended=Pasang untuk &semua pengguna (disarankan) PrivilegesRequiredOverrideCurrentUser=Pasang &hanya untuk saya PrivilegesRequiredOverrideCurrentUserRecommended=Pasang &hanya untuk saya (disarankan) ;Inno6 ErrorCreatingDir=Kami tidak dapat membuat direktori "%1" ErrorTooManyFilesInDir=Tidak dapat membuat berkas di direktori "%1" karena berisi terlalu banyak berkas ExitSetupTitle=Keluar Pemandu ExitSetupMessage=Instalasi tidak lengkap. Bila Anda keluar sekarang, program takkan terpasang.%n%nAnda bisa menjalankan Pemandu lagi lain kali untuk melengkapinya.%n%nKeluar? AboutSetupMenuItem=&Tentang Pemandu... AboutSetupTitle=Tentang Pemandu AboutSetupMessage=%1 versi %2%n%3%n%n%1 laman beranda:%n%4 AboutSetupNote= TranslatorNote= ButtonBack=&Kembali ButtonNext=&Maju ButtonInstall=&Pasang ButtonOK=Oke ButtonCancel=Batal ButtonYes=&Ya ButtonYesToAll=Y&a semuanya ButtonNo=&Tidak ButtonNoToAll=T&idak semuanya ButtonFinish=&Selesai ButtonBrowse=&Cari... ButtonWizardBrowse=C&ari... ButtonNewFolder=&Buat Map Baru SelectLanguageTitle=Pilih Bahasa Pemandu SelectLanguageLabel=Pilih bahasa untuk digunakan ketika memasang. ClickNext=Klik Maju untuk meneruskan, atau Batal untuk keluar. BeveledLabel= BrowseDialogTitle=Cari Map BrowseDialogLabel=Pilih map dari daftar berikut, lalu klik OK. NewFolderName=Map Baru WelcomeLabel1=Selamat datang di Pemandu Instalasi [name] WelcomeLabel2=Kami akan memasang [name/ver] pada komputer Anda.%n%nDisarankan untuk menutup semua aplikasi lainnya sebelum meneruskan. WizardPassword=Kata Sandi PasswordLabel1=Instalasi ini dilindungi kata sandi. PasswordLabel3=Silakan masukkan kata sandi, lalu klik Maju untuk meneruskan. Kata sandi bersifat sensitif-kapitalisasi. PasswordEditLabel=&Kata Sandi: IncorrectPassword=Kata sandi yang Anda masukkan salah. Silakan coba lagi. WizardLicense=Kesepakatan Lisensi LicenseLabel=Silakan baca informasi berikut sebelum meneruskan. LicenseLabel3=Silakan baca Kesepakatan Lisensi berikut. Anda harus setuju dengan syarat dari kesepakatan ini sebelum meneruskan instalasi. LicenseAccepted=Saya &setujui kesepakatan ini LicenseNotAccepted=Saya &tidak setuju kesepakatan ini WizardInfoBefore=Informasi InfoBeforeLabel=Silakan baca informasi penting berikut sebelum meneruskan. InfoBeforeClickLabel=Saat Anda siap meneruskan instalasi, klik Maju. WizardInfoAfter=Informasi InfoAfterLabel=Silakan baca informasi penting berikut sebelum meneruskan. InfoAfterClickLabel=Saat Anda siap meneruskan instalasi, klik Maju. WizardUserInfo=Informasi Pengguna UserInfoDesc=Silakan masukkan informasi Anda. UserInfoName=&Nama Pengguna: UserInfoOrg=&Organisasi: UserInfoSerial=&Nomor Seri: UserInfoNameRequired=Wajib memasukkan nama. WizardSelectDir=Pilih Lokasi Tujuan SelectDirDesc=Di manakah [name] sebaiknya dipasang? SelectDirLabel3=Kami akan memasang [name] ke dalam map berikut. SelectDirBrowseLabel=Untuk meneruskan, klik Maju. Bila Anda ingin memilih map lain, klik Cari. ;Inno6 DiskSpaceGBLabel=Diperlukan sedikitnya [gb] GB ruang bebas. ;Inno6 DiskSpaceMBLabel=Diperlukan sedikitnya [mb] MB ruang bebas. CannotInstallToNetworkDrive=Kami tidak bisa memasang ke diska jaringan. CannotInstallToUNCPath=Kami tidak bisa memasang ke alamat UNC. InvalidPath=Anda wajib memasukkan alamat lengkap dengan huruf diska; contohnya:%n%nC:\APP%n%natau alamat UNC dalam bentuk:%n%n\\server\share InvalidDrive=Diska atau alamat UNC yang Anda pilih tidak ada atau tidak dapat diakses. Silakan pilih yang lain. DiskSpaceWarningTitle=Ruang Bebas Tidak Cukup DiskSpaceWarning=Kami memerlukan sedikitnya %1 KB ruang bebas untuk memasang, namun diska yang Anda pilih hanya memiliki %2 KB tersedia.%n%nMaju terus? DirNameTooLong=Nama map atau alamat terlalu panjang. InvalidDirName=Nama map tidak sah. BadDirName32=Nama map dilarang berisi karakter-karakter berikut:%n%n%1 DirExistsTitle=Map Sudah Ada DirExists=Map:%n%n%1%n%nsudah ada. Tetap pasang di map tersebut? DirDoesntExistTitle=Map Tidak Ada DirDoesntExist=Map:%n%n%1%n%ntidak ada. Buat map? WizardSelectComponents=Pilih Komponen SelectComponentsDesc=Komponen mana sajakah yang sebaiknya dipasang? SelectComponentsLabel2=Centang komponen yang Anda inginkan; batalkan centang dari komponen yang tidak Anda inginkan. Klik Maju saat Anda siap meneruskan. FullInstallation=Instalasi penuh CompactInstallation=Instalasi padat CustomInstallation=Instalasi kustom NoUninstallWarningTitle=Komponen Terpasang NoUninstallWarning=Kami mendeteksi bahwa komponen berikut telah terpasang pada komputer Anda:%n%n%1%n%nMembatalkan pilihan atas komponen berikut bukan berarti melepasnya.%n%nMaju terus? ComponentSize1=%1 KB ComponentSize2=%1 MB ;Inno6 ComponentsDiskSpaceGBLabel=Pilihan saat ini memerlukan sedikitnya [gb] GB ruang bebas. ;Inno6 ComponentsDiskSpaceMBLabel=Pilihan saat ini memerlukan sedikitnya [mb] MB ruang bebas. WizardSelectTasks=Pilih Tugas Tambahan SelectTasksDesc=Tugas tambahan mana sajakah yang sebaiknya dijalankan? SelectTasksLabel2=Pilih tugas tambahan yang Anda ingin kami jalankan ketika memasang [name], lalu klik Maju. WizardSelectProgramGroup=Pilih Map Menu Start SelectStartMenuFolderDesc=Di manakah sebaiknya kami letakkan pintasan program? SelectStartMenuFolderLabel3=Kami akan membuat pintasan program di map Menu Start berikut. SelectStartMenuFolderBrowseLabel=Untuk meneruskan, klik Maju. Bila Anda ingin memilih map lain, klik Cari. MustEnterGroupName=Anda wajib memasukkan nama map. GroupNameTooLong=Nama map atau alamat terlalu panjang. InvalidGroupName=Nama map tidak sah. BadGroupName=Nama map dilarang berisi karakter-karakter berikut:%n%n%1 NoProgramGroupCheck2=&Jangan buat map Menu Start WizardReady=Siap Memasang ReadyLabel1=Kami siap untuk memulai instalasi [name] pada komputer Anda. ReadyLabel2a=Klik Pasang untuk meneruskan instalasi, atau klik Kembali bila Anda ingin menilik atau mengubah setelan. ReadyLabel2b=Klik Pasang untuk meneruskan instalasi. ReadyMemoUserInfo=Informasi pengguna: ReadyMemoDir=Lokasi tujuan: ReadyMemoType=Tipe instalasi: ReadyMemoComponents=Komponen terpilih: ReadyMemoGroup=Map Menu Start: ReadyMemoTasks=Tugas Tambahan: ;Inno6 DownloadingLabel=Mengunduh berkas tambahan... ButtonStopDownload=&Setop Unduhan StopDownload=Anda yakin ingin berhenti mengunduh? ErrorDownloadAborted=Unduhan dibatalkan ErrorDownloadFailed=Gagal mengunduh: %1 %2 ErrorDownloadSizeFailed=Gagal mendapatkan ukuran: %1 %2 ErrorFileHash1=Ceksum berkas gagal: %1 ErrorFileHash2=Ceksum berkas tidak sah: seharusnya %1, yang kami dapatkan %2 ErrorProgress=Langkah tidak sah: %1 dari %2 ErrorFileSize=Ukuran berkas tidak sah: seharusnya %1, yang kami dapatkan %2 ;Inno6 WizardPreparing=Bersiap Memasang PreparingDesc=Kami sedang bersiap memasang [name] pada komputer Anda. PreviousInstallNotCompleted=Instalasi/pelepasan dari program sebelumnya tidak lengkap. Anda perlu memulai ulang komputer untuk melengkapinya nanti.%n%nSetelah itu, jalankan Pemandu kembali untuk melengkapi instalasi [name]. CannotContinue=Kami tidak bisa meneruskan. Klik Batal untuk keluar. ApplicationsFound=Aplikasi berikut tengah memakai berkas-berkas yang perlu kami perbarui. Disarankan agar Anda mengizinkan kami untuk menutupnya secara otomatis. ApplicationsFound2=Aplikasi berikut tengah memakai berkas-berkas yang perlu kami perbarui. Disarankan agar Anda mengizinkan kami untuk menutupnya secara otomatis. Selengkapnya memasang, kami akan berusaha memulai ulang aplikasi-aplikasi tersebut. CloseApplications=&Otomatis tutup aplikasi DontCloseApplications=&Jangan tutup aplikasi ErrorCloseApplications=Kami tidak dapat menutup semua aplikasi secara otomatis. Disarankan agar Anda menutup semua aplikasi yang memakai berkas-berkas yang perlu kami perbarui sebelum meneruskan. ;Inno6 PrepareToInstallNeedsRestart=Kami perlu memulai ulang komputer Anda. Setelah itu, jalankan Pemandu kembali untuk melengkapi pemasangan [name].%n%nMulai ulang sekarang? ;Inno6 WizardInstalling=Memasang InstallingLabel=Silakan tunggu selagi kami memasang [name] pada komputer Anda. FinishedHeadingLabel=Mengakhiri Instalasi [name] FinishedLabelNoIcons=Kami telah selesai memasang [name] pada komputer Anda. FinishedLabel=Kami telah selesai memasang [name] pada komputer Anda. Aplikasi tersebut bisa dijalankan dengan cara memilih pintasan yang terpasang. ClickFinish=Klik Selesai untuk menutup instalasi. FinishedRestartLabel=Demi melengkapi instalasi [name], kami perlu memulai ulang komputer Anda. Lakukan sekarang? FinishedRestartMessage=Demi melengkapi instalasi [name], kami perlu memulai ulang komputer Anda.%n%nLakukan sekarang? ShowReadmeCheck=Ya, saya ingin melihat berkas README YesRadio=&Ya, mulai ulang komputer sekarang NoRadio=&Tidak, saya akan memulai ulang komputer nanti RunEntryExec=Jalankan %1 RunEntryShellExec=Lihat %1 ChangeDiskTitle=Kami Memerlukan Diska Sambungan SelectDiskLabel2=Silakan masukkan Diska %1 dan klik OK.%n%nBila berkas-berkas di dalam diska ini dapat ditemukan di map lain selain yang ditampilkan di bawah, masukkan alamat yang benar atau klik Cari. PathLabel=&Alamat: FileNotInDir2=Berkas "%1" tidak dapat ditemukan di "%2". Silakan masukkan diska yang benar atau pilih map lain. SelectDirectoryLabel=Silakan tentukan lokasi diska berikutnya. SetupAborted=Instalasi tidak lengkap.%n%nSilakan koreksi masalah dan jalankan Pemandu kembali. ;Inno6 AbortRetryIgnoreSelectAction=Pilih tindakan AbortRetryIgnoreRetry=&Coba lagi AbortRetryIgnoreIgnore=&Abaikan galat dan teruskan AbortRetryIgnoreCancel=Batalkan pemasangan ;Inno6 StatusClosingApplications=Menutup aplikasi... StatusCreateDirs=Membuat direktori... StatusExtractFiles=Mengekstrak berkas... StatusCreateIcons=Membuat pintasan... StatusCreateIniEntries=Membuat catatan INI... StatusCreateRegistryEntries=Membuat catatan Registry... StatusRegisterFiles=Meregistrasi berkas... StatusSavingUninstall=Menyimpan informasi pelepas... StatusRunProgram=Mengakhiri instalasi... StatusRestartingApplications=Menjalankan ulang aplikasi... StatusRollback=Membatalkan perubahan... ErrorInternal2=Galat internal: %1 ErrorFunctionFailedNoCode=%1 gagal ErrorFunctionFailed=%1 gagal; kode %2 ErrorFunctionFailedWithMessage=%1 gagal; kode %2.%n%3 ErrorExecutingProgram=Tidak dapat mengeksekusi berkas:%n%1 ErrorRegOpenKey=Galat membuka kunci Registry:%n%1\%2 ErrorRegCreateKey=Galat membuat kunci Registry:%n%1\%2 ErrorRegWriteKey=Galat menulis kunci Registry:%n%1\%2 ErrorIniEntry=Galat membuat catatan INI dalam berkas "%1". ;Inno6 FileAbortRetryIgnoreSkipNotRecommended=&Lewati berkas ini (tidak disarankan) FileAbortRetryIgnoreIgnoreNotRecommended=&Abaikan galat dan teruskan (tidak disarankan) ;Inno6 SourceIsCorrupted=Berkas asal telah rusak SourceDoesntExist=Berkas asal "%1" tidak ada ;Inno6 ExistingFileReadOnly2=Berkas yang sudah ada tidak bisa ditimpa karena telah ditandai hanya-baca. ExistingFileReadOnlyRetry=&Hapus atribut hanya-baca dan coba lagi ExistingFileReadOnlyKeepExisting=&Pertahankan berkas yang sudah ada ErrorReadingExistingDest=Terjadi galat saat berusaha membaca berkas yang sudah ada: FileExistsSelectAction=Pilih tindakan FileExists2=Berkas sudah ada. FileExistsOverwriteExisting=&Timpa berkas yang sudah ada FileExistsKeepExisting=&Pertahankan berkas yang sudah ada FileExistsOverwriteOrKeepAll=&Lakukan ini untuk konflik (bentrok) berikutnya ExistingFileNewerSelectAction=Pilih tindakan ExistingFileNewer2=Berkas yang sudah ada lebih baru dari yang akan kami coba pasang. ExistingFileNewerOverwriteExisting=&Timpa berkas yang sudah ada ExistingFileNewerKeepExisting=&Pertahankan berkas yang sudah ada (disarankan) ExistingFileNewerOverwriteOrKeepAll=&Lakukan ini untuk konflik (bentrok) berikutnya ;Inno6 ErrorReadingExistingDest=Terjadi galat saat berusaha membaca berkas yang sudah ada: ErrorChangingAttr=Terjadi galat saat berusaha mengubah atribusi berkas yang sudah ada: ErrorCreatingTemp=Terjadi galat saat berusaha membuat berkas di direktori tujuan: ErrorReadingSource=Terjadi galat saat berusaha membaca berkas asal: ErrorCopying=Terjadi galat saat berusaha menyalin berkas: ErrorReplacingExistingFile=Terjadi galat saat berusaha menimpa berkas yang sudah ada: ErrorRestartReplace=RestartReplace gagal: ErrorRenamingTemp=Terjadi galat saat berusaha mengubah nama berkas di direktori tujuan: ErrorRegisterServer=Tidak dapat meregistrasi DLL/OCX: %1 ErrorRegSvr32Failed=RegSvr32 gagal dengan kode akhir %1 ErrorRegisterTypeLib=Tidak dapat meregistrasi berkas referensi: %1 ;Inno6 UninstallDisplayNameMark=%1 (%2) UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32-bita UninstallDisplayNameMark64Bit=64-bita UninstallDisplayNameMarkAllUsers=Semua pengguna UninstallDisplayNameMarkCurrentUser=Pengguna saat ini ;Inno6 ErrorOpeningReadme=Terjadi galat saat berusaha membuka berkas README. ErrorRestartingComputer=Kami gagal memulai ulang komputer. Silakan lakukan secara manual. UninstallNotFound=Berkas "%1" tidak ada. Tidak bisa melepas UninstallOpenError=Berkas "%1" tidak dapat dibuka. Tidak bisa melepas UninstallUnsupportedVer=Berkas catatan pelepas "%1" tidak dalam format yang kami kenali. Tidak bisa melepas UninstallUnknownEntry=Entri tak dikenal (%1) ditemukan dalam catatan pelepas ConfirmUninstall=Anda yakin ingin melepas %1 beserta semua komponennya? UninstallOnlyOnWin64=Instalasi ini hanya bisa dilepas pada Windows 64-bita. OnlyAdminCanUninstall=Instalasi ini hanya bisa dilepas oleh pengguna dengan izin administratif. UninstallStatusLabel=Silakan tunggu selagi %1 dihapus dari komputer Anda. UninstalledAll=%1 berhasil dihapus dari komputer Anda. UninstalledMost=Selesai melepas %1.%n%nBeberapa elemen tidak dapat dihapus. Anda bisa menghapusnya secara manual. UninstalledAndNeedsRestart=Untuk melengkapi pelepasan %1, komputer Anda perlu dimulai ulang.%n%nMulai ulang sekarang? UninstallDataCorrupted=Berkas "%1" rusak. Tidak bisa melepas ConfirmDeleteSharedFileTitle=Hapus Berkas Bersama? ConfirmDeleteSharedFile2=Sistem mengindikasi bahwa berkas bersama di bawah ini tidak lagi dipakai oleh program mana pun. Apa Anda ingin agar kami menghapusnya?%n%nBila masih ada program yang memakainya dan berkas ini dihapus, program tersebut dapat tidak berfungsi dengan semestinya. Bila Anda ragu, pilih No. Membiarkan berkas ini pada sistem Anda takkan membahayakan. SharedFileNameLabel=Nama berkas: SharedFileLocationLabel=Lokasi: WizardUninstalling=Status Pelepasan StatusUninstalling=Melepas %1... ShutdownBlockReasonInstallingApp=Memasang %1. ShutdownBlockReasonUninstallingApp=Melepas %1. [CustomMessages] NameAndVersion=%1 versi %2 AdditionalIcons=Pintasan tambahan: CreateDesktopIcon=Buat pintasan &desktop CreateQuickLaunchIcon=Buat pintasan Pelontar &Cepat ProgramOnTheWeb=%1 di Web UninstallProgram=Lepas %1 LaunchProgram=Jalankan %1 AssocFileExtension=&Kaitkan %1 dengan ekstensi berkas %2 AssocingFileExtension=Mengaitkan %1 dengan ekstensi berkas %2... AutoStartProgramGroupDescription=Startup: AutoStartProgram=Otomatis jalankan %1 AddonHostProgramNotFound=%1 tidak dapat ditemukan di map yang Anda pilih.%n%nMaju terus? survex-1.4.17/lib/ca.msg0000664000175000017500000004040614766643344010511 Svx Msg @©No s’ha pogut obrir el fitxer “%s”Memòria insuficient: “%s”No s’ha pogut obrir el fitxer de sortida “%s”Fitxer d’imatge 3d “%s” dolentNom de fitxer “%s” referit a un directoriError al llegir el fitxer “%s”Error escribint al fitxer “%s”El fitxer “%s” te un format més nou del que aquest programa pot entendreS’espera un camp numèric, trobat “%s”Trobat “%s”, esperant “PRESERVE”, “TOUPPER”, o “TOLOWER”Error detectat al programa! Si us plau comunica-ho als autorsComandament desconegut “%s”Estació “%s” igualada a ella mateixaLa lectura de la brúixola no es pot ometre excepte en tirades a plomFi de línia no buitHi havia %d alerta(es).L'execució de l'ordre “%s” ha fallitError llegint el fitxerMassa errors - procés abandonat*DEFAULT ja no s’utilitza - fes servir *CALIBRATE/DATA/SD/UNITS amb l’argument DEFAULT en el seu llocLectura de brúixola en una tirada verticalCorresponding %s was here%s sense el corresponent %s en aquest fitxerMemòria insuficient (es necessiten %lu bytes més).ROOT ja no s’utilitzaL’estació “%s” no ha estat exportada des de la topografia “%s”“%s” no pot ser a la vegada una estació i una topografiaEsperant un nom d’estacióReentrar en un nivell de prefix existent ja no s’utilitzaOriginalment entrat aquiTrobat “%s”, esperant “EQUATES”, “EXPORTS”, o “PLUMBS”Trobat “%s”, esperant “ON” o “OFF”Sols una estació a la ordre EQUATEQuantitat “%s” desconegudaUnitats “%s” desconegudesLa instrucció BEGIN corresponent no te prefixUnitats “%s” invàlides per a quantitatPer processar aquestes dades topogràfiques es requereix la versió %s de Survex (o superior).Instrument “%s” desconegutEl factor d’escala ha d’èsser 1.0 pel comandament DECLINATIONConfiguració “%s” desconegudaClasse de caràcter desconeguda “%s”Cap dada de topografíaAl fitxer inclòs des de %s:%u: La topografia no es pas completament connectada a estacions fixesEstació ja fixada o igualada a un punt fixatCan't have a leg between two anonymous stationsLa desviació estàndard ha d’ésser positivaUtilitzacióTirada amb la mateixa estació a ambdues puntes (“%s”) - error de transcripció?Lectura del clino superior a %.f%s (valor absolut)Intent d’igualar dues estacions fixades en coordenades diferents: “%s” i “%s”Igualant dues estacions fixades a les mateixes coordenades: “%s” i “%s”Comandament FIX sense coordenades - es fixará a (0,0,0)Estació fixada previament a les mateixes coordenadesanonymous station*EXPORT ha de seguir immediatament a “*BEGIN ”Any invàlid (< 1900 ó > 2078)Lectura de brúixola sospitosaLectura de longitut negativaLa mateixa estació ha estat fixada dos cops sense coordenadesLectura de longitut inferior a la diferència de profunditatsCamp “%s” no permès en aquest estil de dades “%s”Manquen camps per l’estil de dades “%s”Estil de dades “%s” desconegutL’estació “%s” ja ha estat exportada anteriormentCamp duplicat “%s”FLAG “%s” desconegutManca "L’estació “%s” sols s’ha utilitzat una vegada, amb un prefix explícit - error tipogràfic?Les següents estacions no són conectades a un punt fixe:La topografia no te punts fixats. Tanmateix he fixat %s a (0,0,0)Punt fixat no utilitzat “%s”No blank after tokenResolent un sistema de %d equacionsAssuming 2 digit year is %dEl camp “%s” duplica camp(s) precedent(s)Resolent una equacióDistància ajustada negativaLa data és en el futur!La data final és anterior a la inicialColor per &LongitutS’ha especificat una secció transversal a l’estació inexistent “%s”Les lectures de CLINO i BACKCLINO han de ser del mateix tipusColor per &GradientMes invàlidEl dia del mes és invàlidLes versions %d a %d de format de fitxer 3d son admesesEsperant un nom de topografia.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionerrorLectura de longitut no es pot ometreUtilitzacions futures d’aquesta funció obsoleta no seran informats%Les lectures de TAPE i BACKTAPE difereixen de %sLes lectures de COMPASS i BACKCOMPASS difereixen de %sLes lectures de CLINO i BACKCLINO difereixen de %sNom d’estacióFitxers CSVgenerar sortida CSVEsperant “%s” o “%s”“*data %s %c …” obsolet - utilitza “*data %s …” en el seu llocLlegint dades, espereu si us plau…alerta%a,%Y.%m.%d %H:%M:%S %ZData i hora no disponibles.*prefix ja no s’utilitza - fes servir *begin i *end en el seu llocCaràcter “%c” no permès al nom d’una estació (utilitza *SET NAMES per definir els caràcters permesos)Error escribint a fitxerNo s’ha pogut analitzar el fitxer d’errors .errHi havia %d alerta(es) i %d error(s) - no s’han generat fitxers de sortida.Camp que no es pot ometreNordAlçat en&PlantaAlçatprint and exit (requires a 3d file)Calculant estadístiquesEsperant una cadena de caràctersManquen argumentsSobren argumentsFITXEREsborrant les seqüències terminalsConnectant seqüènciesCalculant seqüènciesCalculant les seqüències terminalsSimplificant la xarxaCalculant la xarxaTrobat “%s”, esperant “F” o “B”Longitut total de les tirades de topografía = %7.2f%s (%7.2f%s corregit)Longitut total en projecció horitzontal = %7.2f%sLongitut vertical total de les tirades de topografía = %7.2f%sDesnivell total = %4.2f%s (des de %s a %4.2f%s a %s a %4.2f%s)Extensió Nord-Sud = %4.2f%s (des de %s a %4.2f%s a %s a %4.2f%s)Extensió Est-Oest = %4.2f%s (des de %s a %4.2f%s a %s a %4.2f%s)Hi ha 1 bucle.Hi ha %ld bucles.Temps de CPU utilitzat %5.2fsTemps utilitzat %5.2fsTemps utilitzat no disponibleTemps utilitzat %5.2fs (%5.2fs temps CPU)Mostra el &RegistreLongitut original %6.2fm (%3d tirades), reduits %6.2fm (%5.2fm/tirada). Error %6.2f%%Error N/Agenerate grid (default %sm)station labels text height (default %s)mostra aquesta ajuda i surtmostra informació de la versió i surtstation marker size (default %s)OPCIÓEscalainclude items exported by defaultgenerar sortida DXFProva “%s --help” per a més informació. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangegenerar sortida Compass PLT per a Cartogenerar sortida SVGNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsFitxers Survex posProcessada en %sVista en planta, %s a daltAlçat en direcció %slog output to .log filespecify the 3d file format version to outputLa topografía conté 1 estació,La topografía conté %ld estacions, unides per 1 tirada. unides per %ld tirades.nodenodesLa topografía conté %ld components connectats.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Reprocessargument numèric “%s” fora de rangL’argument “%s” no és un enterL’argument “%s” no és un nombreEsperant “%s”, “%s”, o “%s”Esperant “%s”, “%s”, “%s”, o “%s”L’estació “%s” ha estat referenciada per *%s pero no s’ha utilitzat maiAlçat desenvolupatManca el %s corresponentEl prefix no correspon al del BEGINPrefix omès al END( Est X , Nord Y , Altitud Z)Display Depth: %d bpp (color)Esperant dada, trobat “%s”sols carrega la sub-topografia amb prefixEl factor *UNITS ha de ser diferent de zero&Captura de pantalla...No hi ha dades topogràfiques en el fitxer 3d “%s”Direcciórewind file and read it a second timeA propòsit de %sSelecciona un fitxer 3d per a visualitzarFitxers Survex 3dTots els fitxersEina per visualitzar topografies&Fitxer&Rotació&Orientació&Visualitza&Controls&Ajuda&Presentacióscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]Aquest programa es software lliure. Pots redistribuir-lo i/o modificar-lo sota les condicions de la Llicència Pública General de GNU segons és publicada per la Free Software Foundation, bé de la versió 2 de dita llicència o bé (segons la teva elecció) de qualsevol versió posterior.&Obrir... Ctrl+OSense dataNEWLINE no pot ser el primer campNEWLINE no pot ser el darrer campCamps en més d’una línia, però sense NEWLINEEl camp “%s” ha de precedir NEWLINENEWLINE sols pot ser precedit per STATION, DEPTH, i COUNTNo es poden calibrar quantitats angulars i de longitud juntes%s Error LogAll survey files&Exporta...&Auto-Rotar Space%d/%d↑%s 1:%.0f&Inverteix el sentit%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspecti&vaParets amb te&xtura&Atenúa els objectes llunyansVista cap al &NordVista cap al &EstVista cap al &SudVista cap a l’&OestExtended 1:%.0fMostra-ho totHide others&Alçat Desenvolupat...&PlantaAlça&t&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specifiedRestablei&x la vista per defecteFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Elements%d pàgines (%dx%d)Una pàginaAzimutNoms d’estacióCreusTirades SubterràniesAngle d’inclinacióMarcs de la pàginaLlegendaPàgines en blancINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]&Noms d’estació Ctrl+N&Creus Ctrl+X&Tirades Subterrànies Ctrl+LNoms &Sobreposats&Brúixola&ClinoColour &KeyBarra d’&Escala (unused in perspective view)Temps: &Inverteix el sentit Ctrl+R&Cancel.la la linía de mesura Escape secs (0 = auto; *6 = 6 times auto)VistaAlçat en direcció %s, inclinació %s&Alçat“%s” des d'una topografia inexistent “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Color per &ErrorNot in loopTirades de topografía de super&fície Ctrl+FColor per &ProfunditatColor per &DataMarca les &EntradesMarca els Punts f&ixatsMarca els Punts Expo&rtats&Graella Ctrl+GTirades S&uavitzadesI&ndicadors%s: l’opció “%s” és ambígua Input coordinate system must be specified for “%s”%s: l’opció “%c%s” no accepta arguments %s: l’opció “--%s” no accepta arguments No survey date specified - using 0 for magnetic declination%s: l’opció “%s” necessita un argument %s: l’opció necessita un argument -- %c %s: l’opció “--%s” és desconeguda %s: l’opció “%c%s” és desconeguda Expected number or “AUTO”%s: l’opció no és vàlida -- %c &Nova Presentació&Obrir Presentació...&Desa la PresentacióDesa la Presentació &Com...&Marca&Reprodueix&Exporta com Animació...&Límits del Quadre Ctrl+BSelecciona un nom de fitxer de sortidaPresentacions AvenDesa la captura de pantallaSelecciona una presentació per obrirError en el format del fitxer de presentació “%s”Fitxers Compass PLTFitxers CMAP XYZPresentació ModificadaLa presentació actual ha estat modificada. Abandonar els canvis no desats?Recerca infroctuosa.Fitxers Survex svxFitxers Compass MAKExport MovieTrobaFind stations%d stations match %s%s%sAltitudSols es pot visualitzar un fitxer 3d alhora.&Recuadre Lateral%.2f E, %.2f NDes de %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Azim %03.1f%s, Grd %s&Metric&Graus°ᵍGaleries Tu&bulars Ctrl+T&Preferències...Dibuixa les paretsEstimació heurística de les dades LRUDMarcar les estacions topogràfiques amb creusRessaltar les estacions marcades com entradesRessaltar les estacions marcades com punts fixesRessaltar les estacions exportadesMarcar les estacions topogràfiques amb els seus nomsPermet que els noms es sobreposin (més ràpid)&Mode Pantalla Sencera F11Mostra les tirades subterràniesMostra les tirades de superfí:cieColoreja les tirades de superfí:cie segons profunditatDibuixa les tirades de superfí:cie amb línies puntejadesDibuixa una quadrículaunitats en sistema mètricunitats en sistema imperialgraus (°)graus centesimalsMostra les distàncies enMostra els angles enInverteix el sentit dels controlsMostra l’escala gràficaMostra l’escala de profunditatMostra la bruíxolaMostra el clinòmetreMostra el panell lateral%s: H %.2f%s, Azim %03.1f%s%s: V %.2f%sTopografiesPresentacióEstNord&Imprimir... Ctrl+PConfiguració de la &pàgina...&Exporta com...Exporta&Hide Clino&Hide scale bar&Hide colour key&Hide CompassHide si&blingsMemòria insuficientInformació del Sistema:El factor d'escala ha de ser diferent de zeroSeparator in survey nameSeccións transversalsParetsGaleriesshow survey date information (if present)Bad *alias commandVista prèvia de la impressióImprimir&Imprimir...Exporta com:No s’ha pogut escriure el fitxer “%s”Tirades de topografía de super&fícieEdit WaypointAquesta versió de %s requereix OpenGL per funcionar, i no està disponible.Spla&y Legs&AmagaA&tenúa&MostraExport formatFitxers DXFFitxers EPSFitxers GPXHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”Fitxers SVGEntradesPunts fixatsPunts ExportatsOrigin in centreFull coordinateskmmcm miles mile′″&Percentatge∞PlantaKiwi PlanEl sistema de coordenades és desconegutCoordinate system unsuitable for outputNo s’han pogut convertir les coordenades: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionMés d’un comandament FIX sense coordenades: “%s”Station “%s” fixed before CS command first usedEl sistema de coordenades no és vàlid: %sFitxers KMLFitxers JSON&Desa el RegistreLog filesColor per &TopografiaTerrain (&q)C&olour bySelecciona un fitxer de terreny per veureFitxers de terrenyObrir &Terreny...generar sortida EPSgenerar sortida GPXgenerar sortida HPGLgenerar sortida JSONgenerar sortida KMLgenerar sortida Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)tirades de topografía de superfíciesplay legsentradespunts fixatspunts exportatsseccións transversalsparetsgaleriesorigin in centrefull coordinatescreusnoms d’estaciótirades subterràniesAferrada a terraaferrada a terraUnits “%s” are deprecated, assuming “grads” - see manual for detailsColor per &Horizontal ErrorColor per &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGgenerar sortida Survex 3dOutput coordinate system not setExpecting integer in range %d to %dFitxers Compass DATFitxers Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayEsperant “%s”No s’ha pogut crear un fitxer temporalMacro “%s” not definedMogut per (%3.2f,%3.2f,%3.2f): %sAfegit: %sEsborrat: %sDatum “%s” not supportedWalls project filesWalls survey data filesS'ignora a “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-L’estació %s no s’ha trobatNo s’han trobat les tirades %s → %sInici des de l’estació %sExtenent cap a l’esquerra des de l’estació %sExtenent cap a la dreta des de l’estació %sExtenent cap a l’esquerra des de la tirada %s → %sExtenent cap a la dreta des de la tirada %s → %sTrencant el bucle a l’estació %sTrencant el bucle a la tirada %s → %sCanviant la direcció de l’alçat extès des de l’estació %sCanviant la direcció de l’alçat extès des de la tirada %s → %sAplicant fitxer d’especificacions: “%s”Escrivint %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Any invàlidZ exaggeration factorsurvex-1.4.17/lib/hu.po0000664000175000017500000026523014766623453010375 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2015-02-15 06:35:52 +0000\n" "Last-Translator: Imre Balogh \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Fájl" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Elforgatás" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Tájolás" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Nézet" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Vezérlés" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Súgó" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Bemutató" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Használat" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "A memória megtelt" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Kevés memória (%lu byte kellene)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "A memória megtelt: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, fuzzy, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Legalább %s verzió szükséges a feladat végrehajtásához." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "információ" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "figyelmeztetés" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "hiba" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, fuzzy, c-format msgid "In file included from %s:%u:\n" msgstr "Megtalálható a %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, fuzzy, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "“%c” karakter nem engedélyezett a mérőpont nevében (use *SET NAMES to set allowed characters)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Nem elhagyható mező" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Programhibát találtál! Kérlek jelezd a készítőknek." #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Imeretlen parancs “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "“%s” mérőpont önmagával egyezik" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Sor vége nem üres." #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "%d figyelmeztetés volt." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "“%s” külső parancsként nem futtatható." #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Fájlbeolvasási hiba" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Feladom! Túl sok hiba történt." #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Irányszög értelmezhetetlen (polygonszakasz függőleges, pl. függőón)" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "“%s” állomás nem exportálódott a(z) “%s” felmérésből" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "“%s” állomás egy nemlétező “%s” felmérésre hivatkozik" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” nem lehet mindkettő: állomás és felmérés" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Elnevezésre váró pont" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Ismeretlen mennyiség: “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Ismeretlen egység: “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Ismeretlen koordináta rendszer" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Érvénytelen koordináta rendszer: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "A koordináta rendszer alkalmatlan kimentenek" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "A koordináták konvertálása sikertelen: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "A bemeneti projekció beállítva, de a kimeneti NEM!" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "A kimeneti projekció beállítva, de a bemeneti NEM!" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "A koordináták nem elhagyhatók, ha a koordináta rendszer meghatározott" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Érvénytelen “%s” egység a mennyiségnek" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Ismeretlen műszer “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Deklináció skálája 1.0 kell legyen" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Skála értéke nem lehet nulla" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Ismeretlen beállítás “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Ismeretlen karakter osztály “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Nincs felmérési adat" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Fájlnév “%s” egy mappára vonatkozik" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "A Felmérés nem teljesen kapcsolt rögzített állomásokhoz" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Az állomás már rögzített, vagy azonosítva lett egy fix ponttal" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Rögzítés parancs koordináták nélkül - rögzítés (0,0,0) ban" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Már van rögzítve ezeken a koordinátákon állomás" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "" #: ../src/commands.c:2435 #: n:442 #, fuzzy, c-format msgid "Station “%s” fixed before CS command first used" msgstr "“%s” állomást rögzíteni kell mielőtt CS parancsot használnánk" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Érvénytelen év (<1900 vagy >2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Érvénytelen év" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Ugyanaz az állomás lett rögzítve kétszer koordináták nélkül" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "“%s” állomás már exportálásra került" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Hiányzik \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "A következő állomások a felmérésben nem lettek fix ponthoz kapcsolva:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "A felmérésnek nincsenek fiy pontjai. Ezért rögzítettem “%s”-t (0,0,0) ban" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Fel nem használt fix pont, “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Egy egyenlet megoldása" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Dátum a jövőben lesz!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Dátum tartomány végetér a kezdés előtt" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Érvénytelen hónap" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Érvénytelen nap" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Adja meg a felmérés nevét" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "“%s” fáljt nem lehet megnyitni" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "“%s” fáljt nem lehet írni" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "hibás 3D képfájl “%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Dátum és idő nem érhető el" #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Hiba “%s” fájl olvasásakor" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Hiba “%s” fájl írásakor" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Hiba a fájl irása közben" #: ../src/cavern.c:410 #: n:113 #, fuzzy, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "%d figyelmeztetés és %d hiba történt - nem készült kimeneti fájl." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "“%s” fájlnak újabb formátuma van, mint amit ez a program kezelni tud" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Észak" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Hossz-metszet" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Hossz-metszet" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Felülnézet" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Statisztika számítása" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "túl kevés paraméter" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "túl sok paraméter" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FÁJL" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Hálózat egyszerűsítése" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Hálózat számítása" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "“%s” megtalálva, várom “F”-t vagy “B”-t" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "A felmérés teljes hossza: %7.2f%s (%7.2f%s javítva)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "1 hurkot találtam" #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "%ld hurkot találtam" #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "FElhasznált processzoridő: %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Felhasznált idő %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Felhasznált idő nem elérhető" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Felhasznált idő %5.2fs (%5.2fs processzoridő)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "" #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Hiba %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 #, fuzzy msgid "Error N/A" msgstr "Hiba N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "ezen súgó megjelenítése és kilépés" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "Verzióinformációk kiírása és kilépés" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPCIÓ" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Lépték" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Próbáld a(z) “%s --help”-et több információért.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, fuzzy, c-format msgid "Extended 1:%.0f" msgstr "Kifejtett hossz-metszet-szelvény 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, fuzzy, c-format msgid "Plan view, %s up page" msgstr "Felülnézet, %s up page" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, fuzzy, c-format msgid "Elevation facing %s" msgstr "Keresztmetszet nézete %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, fuzzy, c-format msgid "Elevation facing %s, tilted %s" msgstr "Keresztmetszet nézete %s, dőlése %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Kifejtett hossz-metszet-szelvény" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "A felmérés 1 db felmérési állomást tartalmaz," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "A felmérés %ld db felmérési állomást tartalmaz," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr "" #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr "" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "csomópont" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "csomópontok" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "" #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Napló mentése" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Újrafeldolgozás" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, fuzzy, c-format msgid "numeric argument “%s” out of range" msgstr "“%s” változó tartományon kívül esik" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "“%s” változó nem egész szám" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Keleti , Északi , Magasság )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Megjelenített mélység: %d bpp (Bit Per Pixel)" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr "" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "Nyomtatás és kilépés (3D fájl feltétele)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "Add megg a kimeneti fájl elérési útját" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "Ne készítsen .err fájlt" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "Napló kimenete .log fájl" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "Határozd meg a 3D fájl formátumát" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Nincsen felmérési adat a(z) “%s” 3D fájlban" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "A(z) %s névjegye" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Válassz ki egy felmérési fájlt a megtekintéshez" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3D fájlok" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Összes fájl" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Összes felmérési fájl" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Survex svx fájlok" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK fájlok" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT fájlok" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP fájlok" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 #, fuzzy msgid "Walls survey data files" msgstr "Walls felmérés fájlok" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV fájlok" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF fájlok" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS fájlok" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX fájlok" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HGPL razjgépeknek" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML fájlok" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 #, fuzzy msgid "Compass PLT for use with Carto" msgstr "Carto kompatibilis Compass PLT formátum" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex pos fájlok" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG fájlok" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON fájlok" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Felmérést megjelenítő eszköz" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Ez a program szabad szoftver; terjeszthető illetve módosítható a Free Software Foundation által kiadott GNU General Public License dokumentumában leírtak; akár a licenc 2-as, akár (tetszőleges) későbbi változata szerint." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FÁJL1 FÁJL2 [HATÁRÉRTÉK]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "FÁJL1 és FÁJL2 lehet .pos vagy .3d fájl\nHATÁRÉRTÉK a maximális figyelmen kívül hagyható változás bármely tengely mentén méterben (alapértelmezett %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[FELMÉRÉS_FÁJL]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[FELMÉRÉS_FÁJL]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Keltezetlen" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Nincs a hurokban" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportálás..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Fordított irány" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Felülnézet" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Restore &Default View" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Nézet" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elemek" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Export-formátum" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Egy oldal" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Irány" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "állomáscímkéket" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Keresztek" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "állomásjelzőket" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Rögzítés a földhöz" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "rögzítés a földhöz" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Keresztek\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompasz" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 #, fuzzy msgid "Colour &Key" msgstr "&Colour Key" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Skálázási sáv" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: a kapcsolóhoz argumentum szükséges -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: érvénytelen kapcsoló -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "" #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "" #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Lejátszás" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "" #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Válasszon egy kimeneti fájlnevet" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Képernyőkép mentése" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nincs találat." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Keresés" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Magasság" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, fuzzy, c-format msgid "%.2f E, %.2f N" msgstr "%.2f K, %.2f É" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Bemutató" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Mutatsd mindet" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Többi elrejtése" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Keleti" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Északi" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Megnyitás...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "" #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "&Napló Megjelenítése" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "N&yomtat...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "" #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Képernyőkép mentése..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 #, fuzzy msgid "E&xtended Elevation..." msgstr "&Vetített Keresztmetszet..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "" #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportálás" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Nyomtatási előnézet" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Nyomtat" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Nyomtat..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Útpont szerkesztése" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Idő: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "" #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Elrejtés" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Megjelenítése" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Adat beolvasása - kérem várjon…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Hozzáadva: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Törölve: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 #, fuzzy msgid "produce Survex 3d output" msgstr "Survex 3d kimenet készítése" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "CSV kimenet készítése" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "DXF kimenet készítése" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "EPS kimenet készítése" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "GPX kimenet készítése" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "HPGL kimenet készítése" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "JSON kimenet készítése" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "KML kimenet készítése" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 #, fuzzy msgid "produce Compass PLT output for Carto" msgstr "Compass PLT kimenet készítése Carto-hoz" #: ../src/survexport.cc:172 #: n:459 #, fuzzy msgid "produce Survex POS output" msgstr "Survex POS kimenet készítése" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "SVG kimenet készítése" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Formátum hiba a betűkészlet fáljban (“%s”)" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Beállítások..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Rács rajzolása" #: n:362 #~ msgid "metric units" #~ msgstr "" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "" #: n:366 #~ msgid "Display measurements in" #~ msgstr "" #: n:367 #~ msgid "Display angles in" #~ msgstr "" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "" #: n:369 #~ msgid "Display scale bar" #~ msgstr "" #: n:370 #~ msgid "Display depth bar" #~ msgstr "" #: n:371 #~ msgid "Display compass" #~ msgstr "" #: n:372 #~ msgid "Display clinometer" #~ msgstr "" #: n:373 #~ msgid "Display side panel" #~ msgstr "" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/it.msg0000664000175000017500000004042114766643344010537 Svx Msg @©Non riesco ad aprire il file “%s”Memoria insufficiente: “%s”Non riesco ad aprire il file di uscita “%s”File immagine 3d “%s” erratoIl nome del file “%s” corrisponde ad una directoryErrore nella lettura del file “%s”Errore nella scrittura del file “%s”Il file “%s” é ha un nuovo formato che questo programma non puó capireQuesto campo é numerico, trovato “%s”Trovato “%s”, atteso “PRESERVE”, “TOUPPER” o “TOLOWER”Individuato un errore nel programma! Per favore comunicatelo agli autoriComando sconosciuto “%s”Stazione “%s” uguagliata a se stessaLa lettura della bussola non puó essere omessa qui eccettto che nelle battute verticaliFine della linea non vuotaCi sono %d avvertimenti.Esecuzione del comando “%s” fallitaErrore nella lettura del fileTroppi errori - processo interrotto*DEFAULT é sconsigliato - usare invece *CALIBRATE/DATA/SD/UNITS con argomento DEFAULTLettura della bussola in una battuta verticaleCorresponding %s was hereC’é un %s senza il corrispondente %s in questo fileMemoria insufficiente (ci vorrebbero altri %lu bytes).ROOT é sconsigliatoLa stazione “%s” non é stata esportata dal rilievo “%s”“%s” non può essere contemporaneamente una stazione e un rilievoManca il nome della stazioneReimmettere un prefisso di livello giá esistente é sconsigliatoGiá utilizzato quiTrovato “%s”, atteso “EQUATES”, “EXPORTS” o “PLUMBS”Trovato “%s”, atteso “ON” o “OFF”Solo una stazione nel comando EQUATEQuantitá “%s” sconosciutaUnitá “%s” sconosciuteIl BEGIN corrispondente non ha prefissoUnitá “%s” non valida per questa quantitáQuesti dati di topografia possono essere trattati da Survex versione %s o superiore.Strumento “%s” sconosciutoIl fattore di scala per il comando DECLINATION deve essere 1.0Parametro “%s” sconosciutoCarattere sconosciuto classe “%s”Mancano i dati topograficiNel file inserito da %s:%u: La topografia non é completamente connessa alle stazioni fisseStazione giá fissata o uguagliata ad un punto fissoCan't have a leg between two anonymous stationsLa deviazione standard deve essere positivaUtilizzoAlle estremitá di una battuta c’é la stessa stazione (“%s”) - Errore di trascrizione?Lettura del clinometro superiore a %.f%s (valore assoluto)Tentativo di uguagliare due stazioni fisse differenti: “%s” e “%s”Uguagliate due stazioni fisse identiche: “%s” e “%s”Comando FIX senza coordinate - fissato a (0,0,0)Stazione giá fissata alle stesse coordinateanonymous station*EXPORT deve seguire “*BEGIN ”Anno non valido (<1900 o >2078)Lettura della bussola sospettaDistanza negativaLa stessa stazione é stata fissata due volte senza coordinateLa distanza é minore del dislivelloDato “%s” non permesso nel tipo di dati “%s”Mancano dati per il tipo di dati “%s”Tipo di dati “%s” sconosciutoStazione “%s” giá esportataDato duplicato “%s”FLAG “%s” sconosciutoManca "La statione “%s” é ha un unico riferimento, con un prefisso esplicito - errore di scrittura?Le seguenti stazioni non sono connesse ad un punto fisso:La topografia non ha punti fissi. Quindi %s é stata fissata a (0,0,0)Punto fisso non usato “%s”No blank after tokenSto risolvendo un sistema di %d equazioniAssuming 2 digit year is %dLa lettura “%s” duplica precedenti lettureSto risolvendo una equazioneDistanza corretta negativaLa data é nel futuro!La data finale é anteriore a quella finaleColori secondo &LunghezzaSezione trasversale specificata per una stazione non esistente: “%s”Le letture CLINO e BACKCLINO devono essere dello stesso tipoColori secondo &ScivoloMese non validoGiorno del mese non validoSono supportati i file 3D dalla versione %d alla versione %dManca il nome del rilievo.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionerroreLa distanza non puó essere omessaUsi futuri di questa funzionalitá non piú usata non verranno segnalati%Le letture TAPE e BACKTAPE differiscono di %sLe letture COMPASS e BACKCOMPASS differiscono di %sLe letture CLINO e BACKCLINO differiscono di %sNome di stazioneFile CSVproduce un file CSVAtteso “%s” o “%s”“*data %s %c …” é una funzionalitá non piú usata - usare “*data %s …”Sto leggendo i dati - attendere per favore…avvertimento%a,%Y.%m.%d %H:%M:%S %ZData e ora non disponibili.*prefix é sconsigliato - usare invece *begin e *endCarattere “%c” non permesso nel nome di stazione (usare *SET NAMES per cambiare i caratteri permessi)Errore nella scrittura del fileNon posso analizzare il file .err degli erroriCi sono %d avvertimenti e %d errori - nessun file prodotto.Questo campo non puó essere omessoNordProfilo in direzione&PiantaProfilostampa ed esci (richiede un file 3d)Sto calcolando le statisticheQuesto é un campo di tipo stringaNumero di parametri insufficienteTroppi parametriFILESto rimuovendo le traverse terminaliSo connettendo le traverseSto calcolando le traverseSto calcolando le traverse terminaliSto semplificando la reteSto calcolando la reteTrovato “%s”, atteso “F” o “B”Sviluppo spaziale = %7.2f%s (%7.2f%s corretto)Sviluppo planimetrico = %7.2f%sTotale delle componenti verticali delle battute = %7.2f%sDislivello totale = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)Estensione Nord-Sud = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)Estensione Est-Ovest = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)C’é una poligonale chiusa.Ci sono %ld poligonali chiuse.Tempo CPU utilizzato %5.2fsTempo totale %5.2fsTempo totale non disponibileTempo totale %5.2fs (tempo CPU %5.2fs)Mostra &LogLunghezza originale %6.2fm (%3d battute), ridotta %6.2fm (%5.2fm/battuta). Errore %6.2f%%Errore N/AGenera la griglia (predefinita %sm)Altezza etichette di stazione (predefinita %s)mostra questo aiuto ed esceMostra informazioni sulla versione ed esceDimensioni simbolo di stazione (predefinito %s)OPZIONIScalainclude items exported by defaultproduce un file DXFUsare “%s --help” per ulteriori informazioni. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce un file Compass PLT per Cartoproduce un file SVGNo terrain data near area of surveyseleziona dove salvare i filemostra solamente un breve riassunto (-qq per i soli errori)non creare il file .errcambia gli avvisi in erroriFile Survex posIn corso su %sVista in pianta, %s in altoElevazione orientata a %susa il file .logspecifica il formato di file 3D da generareLa topografia contiene una stazione,La topografia contiene %ld stazioni, unite per una battuta. unite per %ld battute.nodonodiLa topografia contiene %ld componenti connesse.ordina secondo il fattore di errore orizzontaleordina secondo il fattore di errore verticaleordina secondo l'errore percentualeordina secondo l'errore per tirosostituisci il file .err con quello riordinato&Riprocessaargomento numerico “%s” al di fuori dell’intervallo consentitoL’argomento “%s” non é un interoL’argomento “%s” non é un numeroAtteso “%s”, “%s” o “%s”Atteso “%s”, “%s”, “%s” o “%s”Stazione “%s” referenziata da *%s ma mai usataProfilo longitudinaleManca il %s corrispondenteIl prefisso non corrisponde con il BEGINPrefisso omesso in END( Est (X), Nord (Y), Quota Z )Profondità display: %d bpp (colore)Attesa una data, trovato “%s”carica un sotto-rilievo con prefissoIl fattore *UNITS deve essere diverso da zero&Cattura schermo...Nel file 3D “%s” non ci sono dati di topografiaDirezioneriavvolgi il file e rileggilo una seconda voltaInformazioni su %sSeleziona un file di rilievo da vedereFile Survex 3dTutti i fileStrumento di visualizzazione rilievi&File&Rotazione&Orientazione&Vista&Controlli&Aiuto&Presentazionescale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [LIMITE]Questo programma è software libero; è lecito redistribuirlo o modificarlo secondo i termini della Licenza Pubblica Generica GNU come è pubblicata dalla Free Software Foundation; o la versione 2 della licenza o (a propria scelta) una versione successiva.&Apri... Ctrl+OSenza dataNEWLINE non puó essere la prima letturaNEWLINE non puó essere l’ultima letturaLetture su piú linee, ma nessuna NEWLINELa lettura “%s” deve precedere NEWLINENEWLINE puó essere preceduto solamente da STATION, DEPTH e COUNTLe quantitá di lunghezza e angolari non possono essere calibrate insieme%s Error LogTutti i file di rilievo&Esporta...&Auto-Rotazione Space%d/%d↑%s 1:%.0f&Inverte la direzione%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fProspetti&vaPareti con te&xtureSbiadisce g&li oggetti distantiVista verso &NordVista verso &EstVista verso &SudVista verso &OvestExtended 1:%.0fVisualizza tuttoNascondi altriProfilo Lo&ngitudinale...&PiantaPro&filo&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specifiedRipristina la &vista predefinitaFILE1 e FILE2 possono essere file .pos o .3d LIMITE è il massimo cambiamento ignorabile lungo gli assi in metri (predefinito %s)Elementi%d pagine (%dx%d)Una paginaAzimutNome di stazioneCrociBattute del rilievo sotterraneoAngolo di inclinazioneBordi paginaDidascaliaPagine biancheINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]&Nome di stazione Ctrl+N&Croci Ctrl+X&Battute del rilievo sotterraneo Ctrl+LNomi &Sovrapposti&Bussola&ClinometroColour &KeyBarra di controllo della &Scala (inutilizzato nella vista in prospettiva)Tempo: &Inverte il senso Ctrl+R&Cancella la linea di misura Escape secs (0 = auto; *6 = 6 times auto)VistaElevazione orientata a %s, inclinata di %sP&rofiloriferimento alla stazione “%s” di un rilievo “%s” non esistenteInizializzazione del sistema di coordinate d'ingresso “%s” fallitoInizializzazione del sistema di coordinate di uscita “%s” fallitoColori secondo &ErroreNot in loopBattute topografia di Super&ficie Ctrl+FColori secondo &profonditáColori secondo &DataMarca gli Ing&ressiMarca i &punti fissiMarca i p&unti esportati&Griglia Ctrl+GBattute topografiche &ammorbiditeI&ndicatori%s: l’opzione “%s” è ambigua Input coordinate system must be specified for “%s”%s: l’opzione “%c%s” non permette un argomento %s: l’opzione “--%s” non permette un argomento No survey date specified - using 0 for magnetic declination%s: l’opzione “%s” richiede un argomento %s: l’opzione richiede un argomento -- %c %s: opzione non riconosciuta “--%s” %s: opzione non riconosciuta “%c%s” Expected number or “AUTO”%s: opzione non valida -- %c &Nuova Presentazione&Apri Presentazione...&Salva PresentazioneSalva Presentazione &come...Se&gna&Visualizza&Esporta come Animazione...B&ordo riquadro Ctrl+BSeleziona un file di uscitaPresentazione AvenSalva Schermo catturatoSeleziona una presentazione da aprireErrore nel formato del file di presentazione “%s”File Compass PLTFile CMAP XYZPresentazione ModificataLa presentazione corrente é stata modificata. Abbandonare i cambiamenti non salvati?Nessun elemento trovato.File Survex svxFile Compass MAKEsporta filmatoTrovaFind stations%d stations match %s%s%sQuotaÉ possibile visualizzare solamente un file 3D alla volta.&Riquadro Laterale%.2f E, %.2f NDa %sO %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Azm. %03.1f%s, Scivolo %s&Metrico&Gradi°ᵍPassaggi come &Tubi Ctrl+T&Preferenze...Disegna le paretiStima lel letture DSSS con ragionamento euristicoSegna le stazioni con crociEvidenzia le stazioni segnate come ingressiEvidenzia le stazioni segnate come punti fissiEvidenzia le stazioni che sono esportateSegna le stazioni con i loro nomiPermetti che i nomi si sovrappongano (piú veloce)&Modo schermo pieno F11Mostra i tiri del rilievo sotteraneoMostra i tiri del rilievo di superficieColora i rilievi superficiali per la profonditáDisegna i tiri in superficie con linee tratteggiateDisegna una grigliametriunitá inglesigradi sessagesimali (°)gradi decimaliMostra le distanze inMostra gli angoli inInverte il senso dei controlliMostra la scalaMostra barra delle profonditáMostra bussolaMostra clinometroMostra pannello laterale%s: O %.2f%s, Azm. %03.1f%s%s: V %.2f%sRilieviPresentazioneEstNordStam&pa... Ctrl+P&Imposta pagina...E&sporta come...Esporta&Nascondi Inclinazione&Nascondi Scala&Hide colour key&Nascondi BussolaHide si&blingsMemoria insufficienteInformazioni sul Sistema:Il fattore di scala deve essere diverso da zeroSeparator in survey nameSezioni trasversaliParetiPassaggishow survey date information (if present)Bad *alias commandAnteprima di stampaStampa&Stampa...Esporta come:Non posso scrivere il file “%s”Battute topografia di Super&ficieModifica WaypointQuesta versione di %s richiede le librerie OpenGL, ma non sono disponibili.Spla&y Legs&Nascondi&Sbiadire&MostraFormato d'esportazioneFile DXFFile EPSFile GPXHPGL per plotterCompass PLT per CartoDuplicate date type “%s”File SVGIngressiPunti fissiPunti EsportatiOrigin in centreFull coordinateskmmcm miglia miglio′″&Percento∞PiantaKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionPiú di un comando FIX senza coordinate: “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sFile KMLFile JSON&Salva LogFile di logColori secondo &TopografiaT&errainColor&i secondoSeleziona un modello digitale del suolo da visualizzareFile di modelli digitali del suoloApri Modello Digitale &Terrestre...produce un file EPSproduce un file GPXproduce un file HPGLproduce un file JSONproduce un file KMLproduce un file Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)battute topografia di superficiesplay legsingressipunti fissipunti esportatisezioni trasversaliparetipassaggiorigin in centrefull coordinatessimboli di stazioneetichette di stazionebattute del rilievo sotterraneoFisso a terrafisso a terraUnits “%s” are deprecated, assuming “grads” - see manual for detailsColori secondo Errore &OrizzontaleColori secondo Errore &VerticaleColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGproduce un file Survex 3dOutput coordinate system not setExpecting integer in range %d to %dFile Compass DATFile Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayAtteso “%s”Impossibile creare il file temporaneoMacro “%s” not definedSpostato da (%3.2f,%3.2f,%3.2f): %sAggiunto: %sRimosso: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-La stazione %s non é stata trovataTiro %s → %s non trovatoInizio dalla stazione %sSviluppo verso sinistra a partire dalla stazione %sSviluppo verso destra a partire dalla stazione %sSviluppo verso sinistra a partire dal tiro %s → %sSviluppo verso destra a partire dal tiro %s → %sTopografia interrotta alla stazione %sTopografia interrotta al tiro %s → %sCambia lo sviluppo del disegno a partire dalla stazione %sCambia lo sviluppo del disegno a partire dal tiro %s → %sApplicazione del file di specifiche: “%s”Scrittura %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Anno non validoZ exaggeration factorsurvex-1.4.17/lib/en.msg0000664000175000017500000003462214766643344010533 Svx Msg 9~©Couldn’t open file “%s”Out of memory trying to read file “%s”Failed to open output file “%s”Bad 3d image file “%s”Filename “%s” refers to directoryError reading from file “%s”Error writing to file “%s”File “%s” has a newer format than this program can understandExpecting numeric field, found “%s”Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”Bug in program detected! Please report this to the authorsUnknown command “%s”Station “%s” equated to itselfCompass reading may not be omitted except on plumbed legsEnd of line not blankThere were %d warning(s).Couldn’t run external command: “%s”Error reading fileToo many errors - giving up*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT insteadCompass reading given on plumbed legCorresponding %s was here%s with no matching %s in this fileOut of memory (couldn’t find %lu bytes).ROOT is deprecatedStation “%s” not exported from survey “%s”“%s” can’t be both a station and a surveyExpecting station nameReentering an existing survey is deprecatedOriginally entered hereFound “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”Found “%s”, expecting “ON” or “OFF”Only one station in EQUATE commandUnknown quantity “%s”Unknown units “%s”Matching BEGIN command has no survey nameInvalid units “%s” for quantitySurvex version %s or greater required to process this survey data.Unknown instrument “%s”Scale factor must be 1.0 for DECLINATIONUnknown setting “%s”Unknown character class “%s”No survey dataIn file included from %s:%u: Survey not all connected to fixed stationsStation already fixed or equated to a fixed pointCan't have a leg between two anonymous stationsStandard deviation must be positiveUsageSurvey leg with same station (“%s”) at both ends - typing error?Clino reading over %.f%s (absolute value)Tried to equate two non-equal fixed stations: “%s” and “%s”Equating two equal fixed points: “%s” and “%s”FIX command with no coordinates - fixing at (0,0,0)Station already fixed at the same coordinatesanonymous station*EXPORT must immediately follow “*BEGIN ”Invalid year (< 1900 or > 2078)Suspicious compass readingNegative tape readingSame station fixed twice with no coordinatesTape reading is less than change in depthReading “%s” not allowed in data style “%s”Too few readings for data style “%s”Data style “%s” unknownStation “%s” already exportedDuplicate reading “%s”FLAG “%s” unknownMissing "Station “%s” referred to just once, with an explicit survey name - typo?The following survey stations are not attached to a fixed point:Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)Unused fixed point “%s”No blank after tokenSolving %d simultaneous equationsAssuming 2 digit year is %dReading “%s” duplicates previous reading(s)Solving one equationNegative adjusted tape readingDate is in the future!End of date range is before the startColour by &LengthCross section specified at non-existent station “%s”CLINO and BACKCLINO readings must be of the same typeColour by &GradientInvalid monthInvalid day of the month3d file format versions %d to %d supportedExpecting survey name.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionerrorTape reading may not be omittedFurther uses of this deprecated feature will not be reported%TAPE reading and BACKTAPE reading disagree by %sCOMPASS reading and BACKCOMPASS reading disagree by %sCLINO reading and BACKCLINO reading disagree by %sStation NameCSV filesproduce CSV outputExpecting “%s” or “%s”“*data %s %c …” is deprecated - use “*data %s …” insteadReading in data - please wait…warning%a,%Y.%m.%d %H:%M:%S %ZDate and time not available.*prefix is deprecated - use *begin and *end insteadCharacter “%c” not allowed in station name (use *SET NAMES to set allowed characters)Error writing to fileCouldn’t parse .err fileThere were %d warning(s) and %d error(s) - no output files produced.Field may not be omittedNorthElevation onP&lan viewElevationprint and exit (requires a 3d file)Calculating statisticsExpecting string fieldtoo few argumentstoo many argumentsFILERemoving trailing traversesConcatenating traversesCalculating traversesCalculating trailing traversesSimplifying networkCalculating networkFound “%s”, expecting “F” or “B”Total length of survey legs = %7.2f%s (%7.2f%s adjusted)Total plan length of survey legs = %7.2f%sTotal vertical length of survey legs = %7.2f%sVertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)There is 1 loop.There are %ld loops.CPU time used %5.2fsTime used %5.2fsTime used unavailableTime used %5.2fs (%5.2fs CPU time)Show &LogOriginal length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). Error %6.2f%%Error N/Agenerate grid (default %sm)station labels text height (default %s)display this help and exitoutput version information and exitstation marker size (default %s)OPTIONScaleinclude items exported by defaultproduce DXF outputTry “%s --help” for more information. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsSurvex pos filesProcessed: %sPlan view, %s up pageElevation facing %slog output to .log filespecify the 3d file format version to outputSurvey contains 1 survey station,Survey contains %ld survey stations, joined by 1 leg. joined by %ld legs.nodenodesSurvey has %ld connected components.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Reprocessnumeric argument “%s” out of rangeargument “%s” not an integerargument “%s” not a numberExpecting “%s”, “%s”, or “%s”Expecting “%s”, “%s”, “%s”, or “%s”Station “%s” referred to by *%s but never usedExtended elevationNo matching %sSurvey name doesn’t match BEGINSurvey name omitted from END( Easting, Northing, Altitude )Display Depth: %d bpp (colour)Expecting date, found “%s”only load the sub-survey with this prefix*UNITS factor must be non-zero&Screenshot...No survey data in 3d file “%s”Facingrewind file and read it a second timeAbout %sSelect a survey file to viewSurvex 3d filesAll filesSurvey visualisation tool&File&Rotation&Orientation&View&Controls&Help&Presentationscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version.&Open... Ctrl+OUndatedNEWLINE can’t be the first readingNEWLINE can’t be the last readingInterleaved readings, but no NEWLINEReading “%s” must occur before NEWLINENEWLINE can only be preceded by STATION, DEPTH, and COUNTCan’t calibrate angular and length quantities together%s Error LogAll survey files&Export...Au&to-Rotate Space%d/%d↑%s 1:%.0f&Reverse Direction%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&PerspectiveTextured &WallsFade Distant Ob&jectsView &NorthView &EastView &SouthView &WestExtended 1:%.0fShow allHide othersE&xtended Elevation...&Plan ViewEle&vation&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specifiedRestore De&fault ViewFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Elements%d pages (%dx%d)One pageBearingStation NamesCrossesUnderground Survey LegsTilt anglePage BordersLegendBlank PagesINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Station &Names Ctrl+N&Crosses Ctrl+X&Underground Survey Legs Ctrl+L&Overlapping Names&CompassC&linometerColour &Key&Scale Bar (unused in perspective view)Time: &Reverse Sense Ctrl+R&Cancel Measuring Line Escape secs (0 = auto; *6 = 6 times auto)ViewElevation facing %s, tilted %s&ElevationReference to station “%s” from non-existent survey “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Colour by &ErrorNot in loop&Surface Survey Legs Ctrl+FColour by &DepthColour by D&ateHighlight &EntrancesHighlight &Fixed PointsHighlight E&xported Points&Grid Ctrl+GSmoot&hed Survey Legs&Indicators%s: option “%s” is ambiguous Input coordinate system must be specified for “%s”%s: option “%c%s” doesn’t allow an argument %s: option “--%s” doesn’t allow an argument No survey date specified - using 0 for magnetic declination%s: option “%s” requires an argument %s: option requires an argument -- %c %s: unrecognized option “--%s” %s: unrecognized option “%c%s” Expected number or “AUTO”%s: invalid option -- %c &New Presentation&Open Presentation...&Save PresentationSa&ve Presentation As...&MarkPla&y&Export as Movie...&Bounding Box Ctrl+BSelect an output filenameAven presentationsSave ScreenshotSelect a presentation to openError in format of presentation file “%s”Compass PLT filesCMAP XYZ filesModified PresentationThe current presentation has been modified. Abandon unsaved changes?No matches were found.Survex svx filesCompass MAK filesExport MovieFindFind stations%d stations match %s%s%sAltitudeYou may only view one 3d file at a time.&Side Panel%.2f E, %.2f NFrom %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s&Metric&Degrees°ᵍPassage &Tubes Ctrl+T&Preferences...Draw passage wallsEstimate LRUD readings based on heuristicsMark survey stations with crossesHighlight stations marked as entrancesHighlight stations marked as fixed pointsHighlight stations which are exportedMark survey stations with their namesAllow names to overlap on the display (faster)Full Screen &Mode F11Display underground survey legsDisplay surface survey legsColour surface surveys by depthDraw surface legs with dashed linesDraw a gridmetric unitsimperial unitsdegrees (°)gradsDisplay measurements inDisplay angles inReverse the sense of the controlsDisplay scale barDisplay depth barDisplay compassDisplay clinometerDisplay side panel%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveysPresentationEastingNorthing&Print... Ctrl+PP&age Setup...&Export as...Export&Hide Clino&Hide scale bar&Hide colour key&Hide CompassHide si&blingsOut of memorySystem Information:Scale factor must be non-zeroSeparator in survey nameCross-sectionsWallsPassagesshow survey date information (if present)Bad *alias commandPrint PreviewPrint&Print...Export as:Couldn’t write file “%s”Sur&face Survey LegsEdit WaypointThis version of %s requires OpenGL to work, but it isn’t available.Spla&y Legs&Hide&Fade&ShowExport formatDXF filesEPS filesGPX filesHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”SVG filesEntrancesFixed PointsExported StationsOrigin in centreFull coordinateskmmcm miles mile′″&Percent∞PlanKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionAlready had FIX command with no coordinates for station “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sKML filesJSON files&Save LogLog filesColour by &SurveyTerr&ainCo&lour bySelect a terrain file to viewTerrain filesOpen &Terrain...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)surface survey legssplay legsentrancesfixed pointsexported stationscross-sectionswallspassagesorigin in centrefull coordinatesstation markersstation labelsunderground survey legsClamp to groundclamp to groundUnits “%s” are deprecated, assuming “grads” - see manual for detailsColour by &Horizontal ErrorColour by &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dCompass DAT filesCompass CLP filesFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayExpecting “%s”Failed to create temporary fileMacro “%s” not definedMoved by (%3.2f,%3.2f,%3.2f): %sAdded: %sDeleted: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Failed to find station %sFailed to find leg %s → %sStarting from station %sExtending to the left from station %sExtending to the right from station %sExtending to the left from leg %s → %sExtending to the right from leg %s → %sBreaking survey loop at station %sBreaking survey loop at leg %s → %sSwapping extend direction from station %sSwapping extend direction from leg %s → %sApplying specfile: “%s”Writing %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/pl.msg0000664000175000017500000004043614766643344010544 Svx Msg A ©Nie można otworzyć pliku “%s”Brak wolnej pamięci podczas odczytu pliku: “%s”Nie udało się otworzyć pliku wyjściowego “%s”Błędny plik 3d “%s”Nazwa “%s” odnosi się do kataloguBłąd przy odczycie pliku “%s”Błąd zapisu do pliku “%s”Plik “%s” jest w nowszym formacie, którego ten program nie rozumieSpodziewałem się liczby, znalazłem “%s”Znalazłem “%s”, spodziewałem się “PRESERVE”, “TOUPPER” lub “TOLOWER”Wykryto błąd w programie! Proszę poinformować autorów!Nieznane polecenie “%s”Punkt “%s” utożsamiony sam z sobąNie można pominąć azymutu, z wyjątkiem odcinków pionowychNiespodziewana treść na końcu liniiZanotowano ostrzeżeń: %dWywołanie zewnętrznego polecenia “%s” nie powiodło sięBłąd podczas odczytu plikuZa dużo błędów - poddaję się*DEFAULT jest przestarzały - użyj *CALIBRATE/DATA/SD/UNITS z argumentem DEFAULTWskazano azymut na odcinku pionowymCorresponding %s was here%s bez odpowiadającego mu %sBrak wolnej pamięci (nie mogę przydzielić %lu bajtów).ROOT jest wycofywany z użyciaPunkt “%s” nie wyeksportowany z sesji “%s”“%s” nie może być jednocześnie nazwą punktu i sesjiSpodziewałem się nazwy punktuPonowne wejście do wprowadzonego już pomiaru jest wycofywane z użyciaPierwotnie wprowadzono tutajZnalazłem “%s”, spodziewałem się “EQUATES”, “EXPORTS” lub “PLUMBS”Znalazłem “%s”, spodziewałem się “ON” lub “OFF”Podano tylko jeden punkt w poleceniu EQUATENieznana wielkość “%s”Nieznana jednostka “%s”Odpowiednie polecenie BEGIN jest bez nazwy sesjiNieprawidłowa jednostka “%s” dla wielkościWersja Survex'a co najmniej %s jest wymagana aby przetworzyć ten plikNieznany instrument “%s”Współczynnik skalowania musi wynosić 1.0 dla DECLINATIONNieznana opcja “%s”Nieznana klasa znaków “%s”Brak danych pomiarowychW pliku dołączonym z %s:%u: Pomiar nie tworzy spójnej całościPunkt już został ustalony lub zrównany z punktem ustalonymNie można dokonać pomiaru pomiędzy dwoma anonimowymi punktamiOdchylenie standardowe musi być dodanieUżycieOdcinek pomiarowy z tym samym punktem (“%s”) po obydwóch stronach - literówka?Wartość klinometru powyżej %.f%s (bezwzględnie)Próba zrównania dwóch różnych punktów ustalonych: “%s” i “%s”Zrównuję dwa tożsame punkty ustalone: “%s” and “%s”Polecenie FIX bez współrzędnych - ustalam na (0,0,0)Ponowne ustalenie punktu na tych samych współrzędnychpunkt anonimowy*EXPORT musi następować bezpośrednio po “*BEGIN ”Wprowadź rok pomiędzy 1900 a 2078Podejrzany azymutUjemna wartość długościTen sam punkt ustalony dwukrotnie bez współrzędnychWartość długości jest mniejsza niż zmiana głębokościWartość “%s” nie jest dozwolona w formacie danych “%s”Za mało wartości dla formatu danych “%s”Format danych “%s” jest nieznanyPunkt “%s” już został wyeksportowanyZdublowana wartość “%s”Nieznany FLAG “%s”Brakujący "Jednorazowe odwołanie do punktu “%s” - literówka?Następujące punkty nie są dołączone do pomiaru:Pomiar nie ma żadnych punktów ustalonych. W związku z tym, ustalam %s w pozycji (0, 0, 0)Niewykorzystany punkt ustalony “%s”No blank after tokenRozwiązywanie układu %d równańAssuming 2 digit year is %dWartość “%s” dubluje poprzednio określone wartościRozwiązywanie jednego równaniaPo korekcji wartość długości jest ujemna!Data w przyszłości!Data końcowa jest wcześniejsza niż początkowaKoloruj po &DługościPrzekrój określony na nieistniejącym punkcie “%s”Wartości CLINO i BACKCLINO muszą być tego samego typuKoloruj po &UpadzieBłędny miesiącBłędny dzień miesiącaobsługiwane wersje formatu 3d od %d do %dSpodziewałem się nazwy sesjiPlik .espec z instrukcjami rozwinięciashow breaks with surface survey legs in outputPionowe wartości CLINO i BACKCLINO nie mogą być w tym samym kierunkubłądNie można pominąć długościKolejne zauważone użycia tej przestarzałej opcji nie będą raportowane%wartości TAPE i BACKTAPE nie zgadzają się o %swartości COMPASS i BACKCOMPASS nie zgadzają się o %swartości CLINO i BACKCLINO nie zgadzają się o %sStation NamePliki CSVwyjście w formacie CSVSpodziewałem się “%s” albo “%s”“*data %s %c …” jest przestarzałe - proszę używać “*data %s …”Odczytuję dane - proszę czekać…ostrzeżenie%a,%Y.%m.%d %H:%M:%S %ZData i czas nie są dostępne*prefix jest przestarzały - użyj *begin i *endZnak “%c” nie jest dozwolony w nazwie punktu (użyj *SET NAMES aby ustalić dozwolone znaki)Błąd zapisu do plikuBłąd podczas przetwarzania pliku .errWystąpiło ostrzeżeń: %d i błędów: %d - nie wygenerowano plików wyjściowych.Nie można pominąć tego polaPółnocPrzekrój zrzutowany naWidok p&lanuPrzekrójdrukuj i wyjdź (wymaga pliku 3d)Obliczanie statystykOczekiwałem pola tekstowegoza mało argumentówza dużo argumentówPLIKUsuwanie ślepych sekwencjiŁączenie sekwencjiPrzeliczanie sekwencjiPrzeliczanie ślepych sekwencjiUpraszczanie sieciObliczanie sieciZnalazłem “%s”, oczekiwałem “F” or “B”Łączna długość odcinków pomiarowych = %7.2f%s (%7.2f%s po poprawkach)Łączna długość zrzutowana odcinków pomiarowych = %7.2f%sŁączne przewyższenie odcinków pomiarowych = %7.2f%sRozciągłość pionowa = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)Rozciągłość Północ-Południe = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)Rozciągłość Wschód-Zachód = %4.2f%s (od %s w %4.2f%s do %s w %4.2f%s)Wykryto 1 pętlę.Wykryto %ld pętli.Czas CPU %5.2fsCzas pracy %5.2fsBrak informacji o czasie pracyCzas pracy %5.2fs (%5.2fs czasu CPU)&Pokaż dziennikPierwodna długość %6.2fm (%3d odcinków), przesunięto o %6.2fm (%5.2fm/odcinek). Błąd %6.2f%%Błąd N/Awygeneruj siatkę (domyślnie %sm)wysokość czcionki nazw punktów (domyślnie %s)wyświetl tę pomoc i wyjdźwyświetl informacje o wersji i wyjdźrozmiar znacznika punktu (domyślnie %s)OPCJASkalainclude items exported by defaultwyjście w formacie DXFUżyj “%s --help” aby uzyskać więcej informacji. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangewyjście w formacie Compass PLT dla programu Cartowyjście w formacie SVGNo terrain data near area of surveyustaw ścieżkę plików wyjściowychwyświetl tylko krótkie podsumowanie (-qq pokaże tylko błędy)nie generuj pliku .errtraktuj ostrzeżenia jak błędyPliki Survex posPrzetworzono: %sWidok planu, %s w górę stronyPrzekrój patrząc na %szapisuj komunikaty do pliku dziennikaokreśl wersję formatu 3d na wyjściuPomiar zawiera 1 punktPomiar zawiera %ld punktów połączonych 1 odcinkiem. połączonych %ld odcinkami.węzełwęzłyPomiar posiada %ld spójnych komponentówposortuj po błędzie poziomymposortuj po błędzie pionowymposortuj po błędzie procentowymposortuj po wielkości błędu na odcinekzastąp plik .err przesortowaną wersją&Przetwórz ponownieargument liczbowy “%s” poza dozwolonym zakresemargument “%s” nie jest liczbą całkowitąargument “%s” nie jest liczbąSpodziewałem się “%s”, “%s”, albo “%s”Spodziewałem się “%s”, “%s”, “%s”, albo “%s”Nazwa punktu “%s” jest przywoływana w *%s, ale poza tym nie używanaPrzekrój rozwiniętyBrak odpowiadającego %sNazwa sesji nie odpowiada tej z BEGINNie wskazano nazwy sesji po END( Wschód, Północ, Wysokość )Głębokość koloru: %dbpp (kolor)Spodziewałem się daty, znalazłem “%s”wczytaj tylko sesje z tym prefiksemWspółczynnik *UNITS musi być niezerowy&Zrzut ekranu...Brak danych pomiarowych w pliku 3d “%s”Patrząc naprzewiń plik i odczytaj go po raz drugiO %sWybierz plik pomiarowy do wczytaniaPliki Survex 3dWszystkie plikiNarzędzie do wizualizacji danych pomiarowych&Plik&ObrótOrientac&ja&Widok&SterowaniePomo&cPre&zentacjascale (50, 0.02, 1:50 and 2:100 all mean 1:50)PLIK1 PLIK2 [PRÓG]Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2-giej tej Licencji lub którejś z późniejszych wersji.&Otwórz... Ctrl+OBez datyNEWLINE nie może być pierwszą wielkościąNEWLINE nie może być ostatnią wielkościąBrak NEWLINE w definicji przeplatanego formatuWartość “%s” musi poprzedzać NEWLINENEWLINE może następować tylko po STATION, DEPTH i COUNTNie można kalibrować równocześnie wielkości kątowych i liniowychDziennki błędów %sWszystkie pliki pomiarowe&Eksport...Au&toobrót Space%d/%d↑%s 1:%.0f&Odwróć kierunki%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspektyw&a&Teksturuj ścianyPrzyciemnij dalekie Ob&iektyNa &północNa &wschódNa połu&dnieNa &zachódRozwinięty 1:%.0fPokaż wszystkoUkryj innePrzekrój &Rozwinięty...Widok p&lanuPrze&krój&DashedDuplicate Le&gsExport format not specified and not known from output file extensionExport format not specifiedPrzywróć do&myślny widokPLIK1 oraz PLIK2 mogą być plikami .pos lub .3d PRÓG jest maksymalną wielkością przesunięcia w każdej z osi, która będzie ignorowana (domyślnie: %s)Elementy%d stron (%dx%d)Jedna stronaAzymutNazwy punktówKrzyżeOdcinki podziemneKąt pochyłuRamkiLegendaPuste stronyWEJŚCIOWY_PLIK [WYJŚCIOWY_PLIK_3D]PLIK_ERR [JAK_WIELE][PLIK_POMIAROWY]&Nazwy punktów Ctrl+N&Krzyże Ctrl+XOd&cinki podziemn Ctrl+LNakłada&j nazwy&KompasKli&nometr&Objaśnienie kolorów&Podziałka liniowa (nieużywany w widoku perspektywy)Czas: &Odwróć sens Ctrl+R&Anuluj pomiar długości Escape sekund (0 = auto, *6 = 6 razy auto)WidokPrzekrój patrząc na %s, pochylony o %s&PrzekrójOdniesienie do punktu “%s” z nieistniejącej sesji “%s”Błąd podczas inicjalizacji wejściowego układu współrzędnych “%s”Błąd podczas inicjalizacji wyjściowego układu współrzednych “%s”Koloruj po &BłędzieNie w pętliO&dcinki powierzchniowe Ctrl+FKoloruj po &GłębokościKoloruj po Da&ciePodświetl &otworyPodświetl punkty &ustalonePodświetl w&yeksportowane punkty&Siatka Ctrl+G&Wygładzone odcinki pomiarowe&Wskaźniki%s: opcja “%s” jest niejednoznaczna Należy wskazać wejściowy układ współrzędnych dla “%s”%s: opcja “%c%s” nie pozwala na argument %s: opcja “--%s” nie pozwala na argument Brak danych o dacie pomiaru - przyjmuję 0 jako deklinację magnetyczną%s: opcja “%s” wymaga argumentu %s: opcja wymaga argumentu -- %c %s: nieznana opcja “--%s” %s: nieznana opcja “%c%s” Spodziewałem się liczby lub “AUTO”%s: nieprawidłowa opcja -- %c &Nowa prezentacjaOtwórz &prezentację...&Zapisz prezentacjęZap&isz prezentację jako...&OznaczO&dtwarzaj&Eksportuj jako film...&Pudełko Ctrl+BWybierz nazwę pliku wyjściowegoPrezentacje AvenZapisz zrzut ekranuWybierz prezentację do wczytaniaBłąd w formacie pliku prezentacji “%s”Pliki Compass PLTPliki CMAP XYZPrezentacja zmodyfikowanaAktualna prezentacja była modyfikowana. Porzucić niezachowane zmiany?Nie znaleziono pasujących.Pliki Survex svxPliki Compass MAKEksportuj klipSzukajFind stations%d stations match %s%s%sWysokośćMożesz przeglądać tylko jeden plik 3dPanel &boczny%.2f W, %.2f POd %sH %.2f%s, V %.2f%s%s: %s, Odlg %.2f%s, Az %03.1f%s, Upadzie %s&Metryczne&Stopni°ᵍObrys korytar&zy Ctrl+T&Preferencje...Rysuj obrys korytarzaOszacuj LRUDy metodą heurystycznąOznacz punkty pomiarowe krzyżamiPodświetl punkty oznaczone jako otworyPodświetl punkty o ustalonej pozycjiPodświetl wyeksportowane punkty pomiaroweOznacz punkty pomiarowe ich nazwamiNazwy mogą się nakładać (działa szybciej)Pełny &Ekran F11Pokaż odcinki podziemnePokaż odcinki powierzchnioweKoloruj odcinki powierzchniowe po głębokościRysuj odcinki powierzchniowe linią przerywanąRysuj siatkęjednostkach metrycznychjednostkach brytyjskichstopniach (°)gradachPokaż odległości wPokaż kąty wOdwrotne kierunki obrotuPokaż skalę liniowąPokaż skalę głębokościPokaż kompasPokaż klinometrPokaż panel boczny%s: H %.2f%s, Az %03.1f%s%s: V %.2f%sSesje pomiarowePrezentacjaWschódPółnoc&Drukuj... Ctrl+P&Ustawienia strony...&Eksportuj jako...Eksport&Ukryj klinometr&Ukryj podziałkę linową&Ukryj objaśnienie kolorów&Ukryj kompasHide si&blingsBrak wolnej pamięciInformacje o systemie:Współczynnik skalowania musi być niezerowySeparator w nazwie sesji pomiarowejPrzekrojeŚcianyObrys korytarzypokaż daty pomiarów (jeśli dostępne)Nieprawidłowe polecenie *aliasPodgląd wydrukuDrukuj&Drukuj...Eksportuj jako:Nie da się zapisywać do pliku “%s”Odcinki &powierzchnioweEdytuj punkt nawigacyjnyTa wersja %s wymaga OpenGL, który jednak nie jest dostępny.Domiary &boczne&Ukryj&PrzyciemnijPo&każFormat eksportuPliki DXFPliki EPSPliki GPXHPGL dla plotterówPliki PLT do użytku z CartoDuplicate date type “%s”Pliki SVGOtworyPunkty ustaloneWyeksportowane punktyZero na środkuPełne współrzędnekmmcm mil mila′″&Procent∞PlanKiwi PlanNieznany układ współrzędnychUkład współrzędnych nieodpowiedni dla wyjściaNie udało się przetworzyć współrzędnych: %sUstalono wejściowy układ współrzędnych, ale brak instrukcji co do wyjściowegoUstalono wyjściowy układ współrzędnych, ale brak instrukcji co do wejściowegoNie można pominąć współrzędnych jeśli wskazano układ współrzędnychUkład współrzędnychPonowny FIX bez współrzędnych dla punktu “%s”Punkt “%s” ustalony przed użyciem polecenia CSNieprawidłowy układ współrzędnych: %sPliki KMLPliki JSON&Zapisz dziennikPliki dziennikaKoloruj po &SesjiTe&renKo&loruj wedługWybierz plik terenu do wczytaniaPliki terenuOtwórz &Teren...wyjście w formacie EPSwyjście w formacie GPXwyjście w formacie HPGLwyjście w formacie JSONwyjście w formacie KMLwyjście w formacie Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)odcinki powierzchniowedomiary boczneotworypunkty ustalonewyeksportowane punktyprzekrojeścianyobrys korytarzyzero na środkupełne współrzędneznaczników punktównazwy punktówodcinki podziemneObcięte do wysokości terenuobcięte do wysokości terenuUnits “%s” are deprecated, assuming “grads” - see manual for detailsKoloruj po Błędzie Po&ziomymKoloruj po Błędzie &PionowymColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGwyjście w formacie Survex 3dOutput coordinate system not setExpecting integer in range %d to %dPliki Compass DATPliki Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlaySpodziewałem się “%s”Nie można utworzyć pliku tymczasowegoMacro “%s” not definedPrzesunięto o (%3.2f,%3.2f,%3.2f): %sDodano: %sUsunięto: %sDatum “%s” not supportedWalls project filesPliki pomiarowy WallsIgnoring “%s”[PLIK_POMIAROWY]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Nie odnaleziono punktu %sNie odnaleziono odcinka %s → %sRozpoczynam od punktu %sRozwijam w lewo od punktu %sRozwijam w prawo od punktu %sRozwijam w lewo od odcinka %s → %sRozwijam w prawo od odcinka %s → %sŁamię pętlę na punkcie %sŁamię pętlę na odcinku %s → %sZamieniam kierunek rozwinięcia począwszy od punktu %sZamieniam kierunek rozwinięcia począwszy od odcinka %s → %sStosuję specfile: “%s”Zapisuję %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/po-to-msg.pl0000775000175000017500000002114214765126030011557 #!/usr/bin/perl -w require 5.008; use bytes; use strict; use Locale::PO; use integer; # Magic identifier (12 bytes) my $magic = "Svx\nMsg\r\n\xfe\xff\0"; # Designed to be corrupted by ASCII ftp, top bit stripping (or # being used for parity). Contains a zero byte so more likely # to be flagged as data (e.g. by perl's "-B" test). my $srcdir = $0; $srcdir =~ s!/[^/]+$!!; my $major = 0; my $minor = 8; # File format (multi-byte numbers in network order (bigendian)): # 12 bytes: Magic identifier # 1 byte: File format major version number (0) # 1 byte: File format minor version number (8) # 2 bytes: Number of messages (N) # 4 bytes: Offset from XXXX to end of file # XXXX: # N*: # NUL my %msgs = (); ${$msgs{'en'}}[0] = '©'; # my %uses = (); my $file; my %n = (); my %loc = (); $file = "$srcdir/survex.pot"; my $num_list = Locale::PO->load_file_asarray($file); foreach my $po_entry (@{$num_list}) { my $ref = $po_entry->reference; (defined $ref && $ref =~ /^n:(\d+)$/m) or next; my $msgno = $1; my $key = $po_entry->msgid; my $msg = c_unescape($po_entry->dequote($key)); my $where = $file . ":" . $po_entry->loaded_line_number; ${$loc{'en'}}[$msgno] = $where; if (${$msgs{'en'}}[$msgno]) { print STDERR "$where: warning: already had message $msgno for language 'en'\n"; } ${$msgs{'en'}}[$msgno] = $msg; ++$n{$msgno}; } my $last = 0; for (sort { $a <=> $b } keys %n) { if ($_ > $last + 1) { print STDERR "$file: Unused msg numbers: ", join(" ", $last + 1 .. $_ - 1), "\n"; } $last = $_; } print STDERR "$file: Last used msg number: $last\n"; %n = (); my %fuzzy; my %c_format; for my $po_file (@ARGV) { my $language = $po_file; $language =~ s/\.po$//; $file = "$srcdir/$po_file"; my $po_hash = Locale::PO->load_file_ashash($file); if (exists $$po_hash{'""'}) { if ($$po_hash{'""'}->msgstr =~ /^(?:.*\\n)?Language:\s*([^\s\\]+)/im) { if ($language ne $1) { my $line = 3 + scalar(@{[$& =~ /(\\n)/g]}); print STDERR "$file:$line: Language code '$1' doesn't match '$language' from filename\n"; } } else { my $line = 2 + scalar(@{[$$po_hash{'""'}->msgstr =~ /(\\n)/g]}); print STDERR "$file:$line: No suitable 'Language:' field in header\n"; } } else { print STDERR "$file:1: Expected 'msgid \"\"' with header\n"; } my $fuzzy = 0; foreach my $po_entry (@{$num_list}) { my $ref = $po_entry->reference; (defined $ref && $ref =~ /^n:(\d+)$/m) or next; my $msgno = $1; my $key = $po_entry->msgid; my $ent = $$po_hash{$key}; my $where = $file . ":" . $po_entry->loaded_line_number; ${$loc{$language}}[$msgno] = $where; if (defined $ent) { my $msg = c_unescape($po_entry->dequote($ent->msgstr)); if ($msg eq '') { print STDERR "$where: warning: Empty translation marked as fuzzy\n" if $ent->fuzzy(); next; } if (${$msgs{$language}}[$msgno]) { print STDERR "$where: warning: already had message $msgno for language $language\n"; } ${$msgs{$language}}[$msgno] = $msg; $ent->fuzzy() and ++$fuzzy; } $po_entry->c_format and $c_format{$language}[$msgno]++; } $fuzzy{$language} = $fuzzy; } my $lang; my @langs = sort grep ! /_\*$/, keys %msgs; my $num_msgs = -1; foreach $lang (@langs) { my $aref = $msgs{$lang}; $num_msgs = scalar @$aref if scalar @$aref > $num_msgs; } foreach $lang (@langs) { my $fnm = $lang; $file = "$srcdir/$lang.po"; $fnm =~ s/(_.*)$/\U$1/; open OUT, ">$fnm.msg" or die $!; my $aref = $msgs{$lang}; my $parentaref; my $mainlang = $lang; $parentaref = $msgs{$mainlang} if $mainlang =~ s/_.*$//; print OUT $magic or die $!; print OUT pack("CCn", $major, $minor, $num_msgs) or die $!; my $buff = ''; my $missing = 0; for my $n (0 .. $num_msgs - 1) { my $warned = 0; my $msg = $$aref[$n]; if (!defined $msg) { $msg = $$parentaref[$n] if defined $parentaref; if (!defined $msg) { $msg = ${$msgs{'en'}}[$n]; # don't report if we have a parent (as the omission will be # reported there) if (defined $msg && $msg ne '' && $msg ne '©' && !defined $parentaref) { ++$missing; $warned = 1; } else { $msg = '' if !defined $msg; } } } else { if ($lang ne 'en') { my $c_format = $c_format{$lang}[$n] // 0; sanity_check("Message $n in language $lang", $msg, ${$msgs{'en'}}[$n], ${$loc{$lang}}[$n], $c_format); } } $buff .= $msg . "\0"; } print OUT pack('N',length($buff)), $buff or die $!; close OUT or die $!; my $fuzzy = $fuzzy{$lang}; if ($missing || $fuzzy) { print STDERR "Warning: $file: "; if ($missing) { print STDERR "$missing missing message(s)"; if ($fuzzy) { print STDERR " and $fuzzy fuzzy message(s)"; } } else { print STDERR "$fuzzy fuzzy message(s)"; } print STDERR " for $lang\n"; } } sub sanity_check { my ($what, $msg, $orig, $where, $c_format) = @_; if ($c_format) { # check printf-like specifiers match # allow valid printf specifiers, or % to support strftime # and other printf-like formats. my @pcent_m = grep /\%/, split /(%(?:[-#0 +'I]*(?:[0-9]*|\*|\*m\$)(?:\.[0-9]*)?(?:hh|ll|[hlLqjzt])?[diouxXeEfFgGaAcsCSpn]|[a-zA-Z]))/, $msg; my @pcent_o = grep /\%/, split /(%(?:[-#0 +'I]*(?:[0-9]*|\*|\*m\$)(?:\.[0-9]*)?(?:hh|ll|[hlLqjzt])?[diouxXeEfFgGaAcsCSpn]|[a-zA-Z]))/, $orig; while (scalar @pcent_m || scalar @pcent_o) { if (!scalar @pcent_m) { print STDERR "$where: warning: $what misses out \%spec $pcent_o[0]\n"; } elsif (!scalar @pcent_o) { print STDERR "$where: warning: $what has extra \%spec $pcent_m[0]\n"; } elsif ($pcent_m[0] ne $pcent_o[0]) { print STDERR "$where: warning: $what has \%spec $pcent_m[0] instead of $pcent_o[0]\n"; } pop @pcent_m; pop @pcent_o; } } # Check for missing (or added) ellipses (...) if ($msg =~ /\.\.\./ && $orig !~ /\.\.\./) { print STDERR "$where: warning: $what has ellipses but original doesn't\n"; } elsif ($msg !~ /\.\.\./ && $orig =~ /\.\.\./) { print STDERR "$where: warning: $what is missing ellipses\n"; } # Check for missing (or added) menu shortcut (&) if ($msg =~ /\&[A-Za-z\xc2-\xf4]/ && $orig !~ /\&[A-Za-z]/) { print STDERR "$where: warning: $what has menu shortcut but original doesn't\n"; } elsif ($msg !~ /\&[A-Za-z\xc2-\xf4]/ && $orig =~ /\&[A-Za-z]/) { print STDERR "$where: warning: $what is missing menu shortcut\n"; } # Check for missing (or added) double quotes (“ and ”) if (scalar($msg =~ s/(?:“|»)/$&/g) != scalar($orig =~ s/“/$&/g)) { print STDERR "$where: warning: $what has different numbers of “\n"; print STDERR "$orig\n$msg\n\n"; } if (scalar($msg =~ s/(?:”|«)/$&/g) != scalar($orig =~ s/”/$&/g)) { print STDERR "$where: warning: $what has different numbers of ”\n"; print STDERR "$orig\n$msg\n\n"; } # Check for missing (or added) menu accelerator "##" if ($msg =~ /\#\#/ && $orig !~ /\#\#/) { print STDERR "$where: warning: $what has menu accelerator but original doesn't\n"; } elsif ($msg !~ /\#\#/ && $orig =~ /\#\#/) { print STDERR "$where: warning: $what is missing menu accelerator\n"; } elsif ($orig =~ /\#\#(.*)/) { my $acc_o = $1; my ($acc_m) = $msg =~ /\#\#(.*)/; if ($acc_o ne $acc_m) { print STDERR "$where: warning: $what has menu accelerator $acc_m instead of $acc_o\n"; } } # Check for missing (or added) menu accelerator "\t" if ($msg =~ /\t/ && $orig !~ /\t/) { print STDERR "$where: warning: $what has menu accelerator but original doesn't\n"; } elsif ($msg !~ /\t/ && $orig =~ /\t/) { print STDERR "$where: warning: $what is missing menu accelerator\n"; } elsif ($orig =~ /\t(.*)/) { my $acc_o = $1; my ($acc_m) = $msg =~ /\t(.*)/; if ($acc_o ne $acc_m) { print STDERR "$where: warning: $what has menu accelerator $acc_m instead of $acc_o\n"; } } } sub c_unescape { my $str = shift @_; $str =~ s/\\(x..|0|[0-7][0-7][0-7]|.)/&c_unescape_char($1)/ge; return $str; } sub c_unescape_char { my $ch = shift @_; if ($ch eq '0' || $ch eq 'x00' || $ch eq '000') { print STDERR "Nul byte in translation! (\\$ch)\n"; exit(1); } return $ch if $ch eq '"' || $ch eq '\\'; return "\n" if $ch eq "n"; return "\t" if $ch eq "t"; return "\r" if $ch eq "r"; return "\f" if $ch eq "f"; return chr(hex(substr($ch,1))) if $ch =~ /^x../; return chr(oct($ch)) if $ch =~ /^[0-7][0-7][0-7]/; print STDERR "Unknown C-escape in translation! (\\$ch)\n"; exit(1); } survex-1.4.17/lib/el.po0000664000175000017500000025713714766623453010370 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Αρχείο" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "Πε&ριστροφή" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "Προσανα&τολισμός" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Όψη" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Στοιχεία ελέγχου" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Βοήθεια" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Παρουσίαση" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Χρήση" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Ανεπαρκής μνήμη" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, fuzzy, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Ανεπαρκής μνήμη (%lu bytes)" #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Ανεπαρκής μνήμη: «%s»" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "" #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "πληροφορίες" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "προειδοποίηση" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "σφάλμα" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Άγνωστη εντολή «%s»" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "" #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Η εκτέλεση της εντολής «%s» απέτυχε" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Σφάλμα ανάγνωσης αρχείου" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Δεν είναι δυνατό το άνοιγμα του αρχείου «%s»" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "" #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, fuzzy, c-format msgid "Error writing to file “%s”" msgstr "Σφάλμα κατά την εγγραφή στο αρχείο «%s»" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Σφάλμα κατά την εγγραφή στο αρχείο" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "" #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Βορράς" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Πλάνο" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "πολύ λίγα ορίσματα" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "πάρα πολλές παράμετροι" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "ΑΡΧΕΊΟ" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "" #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "" #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "" #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Σφαλμα %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Σφαλμα N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "εμφάνιση αυτής της βοήθειας και έξοδος" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "προβολή πληροφοριών έκδοσης και έξοδος" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "ΕΠΙΛΟΓΗ" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Κλίμακας" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "" #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "" #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr "" #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr "" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "κόμβος" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "κόμβοι" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "" #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Αποθήκευση καταγραφής" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Ανατολικά, Βόρεια, Υψόμετρο )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr "" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 #, fuzzy msgid "Facing" msgstr "Στραμμένη" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Σχετικά %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3d αρχεία" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Όλα τα αρχεία" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Survex svx αρχεία" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK αρχεία" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT αρχεία" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP αρχεία" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV αρχεία" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF αρχεία" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS αρχεία" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX αρχεία" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML αρχεία" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG αρχεία" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON αρχεία" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Το παρόν πρόγραμμα είναι ελεύθερο λογισμικό: μπορείτε να το αναδιανείμετε ή/και να το τροποποιήσετε υπό τους όρους της Γενικής Άδειας Δημόσιας Χρήσης GNU, όπως αυτή έχει δημοσιευτεί από το Ίδρυμα Ελεύθερου Λογισμικού είτε με την έκδοση 2 της Άδειας είτε (κατ' επιλογήν) με οποιαδήποτε μεταγενέστερη έκδοση." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "ΑΡΧΕΊΟ1 ΑΡΧΕΊΟ2 [ΚΑΤΏΦΛΙ]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "αχρονολόγητος" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Εξαγωγή..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Αντίστροφη κατεύθυνση" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Όψη" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Στοιχεία" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Μία σελίδα" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Αζιμούθιο" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Σταυροί" #: ../src/survexport.cc:146 #: n:474 #, fuzzy msgid "station markers" msgstr "σταυροί" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Ακινητοποίηση στο έδαφος" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "ακινητοποίηση στο έδαφος" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Λεζάντα" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Σταυροί\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Πλέγμα\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Πυξίδα" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Κλινόμετρο" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Γραμμή κλίμακας" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: η επιλογή «%s» απαιτεί ένα όρισμα\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: η επιλογή απαιτεί ένα όρισμα -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: μη αναγνωρίσιμη επιλογή -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "" #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "" #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Αναπαραγωγή" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "" #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Αποθήκευση στιγμιότυπου οθόνης" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Δεν βρέθηκαν αντιστοιχίες." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Αναζήτηση" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Υψόμετρο" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, fuzzy, c-format msgid "%.2f E, %.2f N" msgstr "%.2f Α, %.2f Β" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Από %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "χλμ" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " μίλια" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " μίλι" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Παρουσίαση" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Εμφάνιση όλων" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Απόκρυψη άλλων" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Ανατολικά" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Βόρεια" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Άνοιγμα...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "" #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Εμφάνιση &Καταγραφής" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Εκτύπωση...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "" #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Στιγμιότυπου..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "" #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "" #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Εξαγωγή" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Προεπισκόπηση Εκτύπωσης" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Εκτύπωση" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Εκτύπωση..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Χρόνος: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "" #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Απόκρυψη" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 #, fuzzy msgid "&Fade" msgstr "&Ξεθωριάζω" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Εμφάνιση" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Προστέθηκαν: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Διαγραμένα: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Προτιμήσεις..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "" #: n:361 #~ msgid "Draw a grid" #~ msgstr "" #: n:362 #~ msgid "metric units" #~ msgstr "" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "" #: n:366 #~ msgid "Display measurements in" #~ msgstr "" #: n:367 #~ msgid "Display angles in" #~ msgstr "" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "" #: n:369 #~ msgid "Display scale bar" #~ msgstr "" #: n:370 #~ msgid "Display depth bar" #~ msgstr "" #: n:371 #~ msgid "Display compass" #~ msgstr "" #: n:372 #~ msgid "Display clinometer" #~ msgstr "" #: n:373 #~ msgid "Display side panel" #~ msgstr "" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/pt_BR.po0000664000175000017500000030100614766623454010760 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Arquivo" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotação" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientação" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Visualisar" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Controles" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "A&juda" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "A&presentação" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Uso" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Memória insuficiente" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Memória insuficiente (são necesssários mais %lu bytes)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Memória insuficiente: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Para processar estes dados é necessária a versão %s (ou posterior) do Survex." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "informação" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "aviso" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "erro" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "No arquivo incluído em %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix descontinuado - use *begin e *end em seu lugar" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Caractere “%c” não permitido em nome de base (use *SET NAMES para configurar os caracteres permitidos)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Campo não pode ser omitido" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Esperava valor numérico, encontrei “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Encontrado “%s”, quando era esperado “PRESERVE”, “TOUPPER” ou “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Erro no programa! Por favor, comunique aos autores" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Comando desconhecido “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Base “%s” igualada a ela mesma" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Azimute não pode ser omitido exceto em visadas em prumo" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Distância não pode ser omitido" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Final da linha não está em branco" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Há %d alerta(s)." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "A execução do comando “%s” falhou" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Erro ao ler o arquivo" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Hà muitos erros - desistindo" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT decontinuado - use *CALIBRATE/DATA/SD/UNITS com argumento DEFAULT em seu lugar" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Azimute fornecido numa visada vertical" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s sem o %s correspondente neste arquivo" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Base “%s” não exportada da topo “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” não pode ser nome de base e de topografia ao mesmo tempo" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Esperava um nome de base" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Encontrado “%s” quando “EQUATES”, “EXPORTS” ou “PLUMBS” era esperado" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Encontrado “%s” quando “ON” ou “OFF” eram esperados" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Apenas uma base para o comando EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Tipo de quantidade “%s” desconhecida" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unidade “%s” desconhecida" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "O BEGIN correspondente não tem prefixo" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unidade “%s” inválida para tipo de quantidade" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrumento “%s” desconhecido" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Fator de escala tem que ser 1.0 para comando DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Fator de escala não pode ser zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Configuração “%s” desconhecida" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Classe de caracteres desconhecida: “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Nenhum dado topográfico" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Nome de arquivo “%s” referencia diretório ao invés de arquivo" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Topografia não completamente conectada a bases posicionadas" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Base já posicionada ou com correspondência a uma base posicionada" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Não foi possível abrir arquivo de saída “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Desvio-padrão deve ser positivo" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Visada com mesma base em ambas as pontas (“%s”) - erro de digitação?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Inclinação maior que %.f%s em valor absoluto" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tentativa de igualar duas bases posicionadas em coordenadas diferentes: “%s” e “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Igualando duas bases posicionadas nas mesmas coordenadas: “%s” e “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Comando FIX sem coordenadas - atribuindo (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Base já posicionada nessas coordenadas" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Mais de um comando FIX sem coordenadas: “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT deve estar logo após um “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Ano inválido (< 1900 or > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Ano inválido" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Azimute suspeito" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Distância negativa" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Mesma base posicionada duas vezes sem coordenadas" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Distância menor que mudança de profundidade" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Campo “%s” não é permitido em tipo de visada “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Faltam campos necessários ao tipo de visada “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Tipo de visada “%s” desconhecido" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Base “%s” já foi exportada" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Campo “%s” duplicado" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” com problemas" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Falta \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Base “%s” utilizada apenas uma vez, e com um prefixo explícito - erro de digitação?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "As seguintes bases não estão conectadas a uma base posicionada:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Topografia sem bases posicionadas. Assim %s foi posicionada em (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Base posicionada não usada “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Resolvendo sistema de %d equações" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Valor “%s” duplica valor(es) anterior(es)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Resolvendo uma equação" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Distância ajustada negativa" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Data está no futuro!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Data final do intervalo ocorre antes da data inicial" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Especificada secção cruzada numa base “%s” inexistente" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Valores de CLINO e BACKCLINO têm que ser do mesmo tipo" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Mês inválido" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Dia inválido" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Esperando nome de topografia" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Impossível abrir arquivo “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Não foi possível gravar o arquivo “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Não foi possível criar um arquivo temporário" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Futuros usos deste recurso desaconselhado não serão reportados" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Ângulos de COMPASS e BACKCOMPASS diferem em %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Ângulos de CLINO e BACKCLINO diferem em %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” obsoleto - use “*data %s …” no lugar" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Arquivo de imagem 3d “%s” com problemas" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Data e hora não disponível." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Erro lendo arquivo “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Erro escrevendo no arquivo “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Erro escrevendo em arquivo" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Há %d alerta(s) e %d erro(s) - nenhum arquivo de saída criado" #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Arquivo “%s” tem um formato mais novo do que este programa consegue entender" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Norte" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Perfil em" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Planta" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "Pe&rfil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Perfil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Planta" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calculando estatísticas" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Esperando cadeia de caracteres" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "número de argumentos insuficiente" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "número de argumentos excessivo" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "ARQUIVO" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Removendo seqüências de ponta" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Concatenando seqüências" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calculando seqüências" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calculando seqüências de ponta" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplificando rede de visadas" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calculando rede de visadas" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Encontrado “%s” quando “F” ou “B” eram esperados" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Desenvolvimento linear das visadas = %7.2f%s (%7.2f%s corrigidos)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Desenvolvimento horizontal das visadas = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Desenvolvimento vertical das visadas = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Desnível = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensão Norte-Sul = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensão Leste-Oeste = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Há 1 loop." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Há %ld loops." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Tempo de CPU gasto %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Tempo gasto %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Tempo gasto não disponível" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Tempo gasto %5.2fs (tempo de CPU %5.2fs)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Desenvolvimento Original %6.2fm (%3d visadas), deslocado %6.2fm (%5.2fm/visada). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Erro %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Erro N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "exibir esta mensagem e sair" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "exibir número de versão e sair" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPÇÃO" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Escala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Tente “%s --help” para maiores informações.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Processada em %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Perfil retificado" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Topografia contém somente uma base," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Topografia contém %ld bases," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " unidas por uma única visada." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " unidas por %ld visadas." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nodo" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nodos" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Topografia tem %ld componentes interligados." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Guardar Registro" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Reprocesssar" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argumento numérico “%s” fora dos limites" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argumento “%s” não é um número inteiro" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argumento “%s” não é um número" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "“%s” era esperado" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "“%s” ou “%s” eram esperados" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "“%s”, “%s” ou “%s” eram esperados" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "“%s”, “%s”, “%s” ou “%s” eram esperados" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Base “%s” referenciada por *%s mas nunca usada" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Não há %s correspondente" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Prefixo não corresponde ao do BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Prefixo omitido no END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Leste, Norte, Altura )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Profundidade: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (cor)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Esperando data, encontrado “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 #, fuzzy msgid "only load the sub-survey with this prefix" msgstr "carregue apenas a sub-topografia com prefixo" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Fator em *UNITS não pode ser zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Não há dados de topografia no arquivo 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Olhando para" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Sobre %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Escolha um arquivo de relevo de superfície para examinar" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Arquivos de relevo de superfície" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 #, fuzzy msgid "Select a survey file to view" msgstr "Selecione um arquivo 3d para ser visualizado" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Arquivos 3d do Survex" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Todos os arquivos" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 #, fuzzy msgid "Survex svx files" msgstr "Arquivos svx do Survex" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Arquivos MAK do Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Arquivos DAT do Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Arquivos CLP do Compass" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Arquivos CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Arquivos DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Arquivos EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Arquivos GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Arquivos KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Arquivos Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Arquivos SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Arquivos JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Arquivos de registro" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Ferramenta de visualização de Levantamento topográfico" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Este programa é um software de livre distribuição, que pode ser copiado e distribuído sob os termos da Licença Pública Geral GNU, conforme publicada pela Free Software Foundation, versão 2 da licença ou (a critério do autor) qualquer versão posterior." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Sem data" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE não pode ser o primeiro valor" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE não pode ser o último valor" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Valores em mais de uma linha sem NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Valor “%s” deve estar antes do NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE só pode ser precedido por STATION, DEPTH e COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Não é possível calibrar ângulos e comprimentos ao mesmo tempo" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportar..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Au&to-Rodar\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Inverter Sentido" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Olhar para &Norte" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Olhar para &Leste" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Olhar para &Sul" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Olhar para &Oeste" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Planta" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Per&fil" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Restaurar Vista Predefinida" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vista" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elementos" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Formato para exportar" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d páginas (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Uma página" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimute" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Nome de base" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nomes de base" #: ../src/survexport.cc:147 #: n:475 #, fuzzy msgid "station labels" msgstr "nomes de base" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Marcas de base" #: ../src/survexport.cc:146 #: n:474 #, fuzzy msgid "station markers" msgstr "marcas de base" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Visadas Subterrâneas" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "visadas subterrâneas" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Secções cruzadas" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "secções cruzadas" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Parede" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "parede" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passagem" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "passagem" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Grampear no solo" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "grampear no solo" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Ângulo de inclinação" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Bordas da Página" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Páginas em branco" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Nomes de base\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "&Tubos de Passagem\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 #, fuzzy msgid "Terr&ain" msgstr "Terra&in" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Marcas de base\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grade\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "Caixa &Barreira\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Visadas Subterrâneas\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Visadas de Super&fície\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "visadas de superfície" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nomes &Sobrepostos" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Destacar &Entradas" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Destacar Bases Fi&xadas" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Destacar Bases Export&adas" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Entradas" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "entradas" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Bases Fixadas" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "bases fixadas" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Bases Exportadas" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "bases exportadas" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Pe&rspectiva" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Parede Texturi&zadas" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Distância de desvanecimento de Ob&jectos" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Visadas S&uavizadas" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Modo Ecrã &Completo\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Colorir de acordo com &Profundidade" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Colorir de acordo com &Data" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Colorir de acordo com &Erros" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 #, fuzzy msgid "Colour by &Horizontal Error" msgstr "Colorir de acordo com Erros &Horizontal" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 #, fuzzy msgid "Colour by &Vertical Error" msgstr "Colorir de acordo com Erros &Vertical" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Colorir de acordo com Desenvo&lvimento" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Colorir de acordo com &Topografia" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Bússola" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Clinômetro" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Barra de &Escala" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Inverter Sentido\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Cancelar linha de medida\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicadores" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: opção “%s” é ambígua\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: opção “%c%s” não permite argumentos\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: opção “--%s” não permite argumentos\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: opção “%s” requer um argumento\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opção requer um argumento -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: opção “--%s” não reconhecida\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: opção “%c%s” não reconhecida\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opção inválida -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nova Apresentação" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Abrir Apresentação..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "Guardar Apre&sentação" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "&Guardar Apresentação como..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Marcar" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Reprodu&zir" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exportar como Filme..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Escolha um nome de arquivo de saída" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Apresentações Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Guardar a Captura de Ecrã" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Escolha uma apresentação para abrir" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Erro no formato da apresentação “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Arquivos Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Arquivos CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Apresentação Modificada" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "A apresentação actual foi modificada. Abandonar as alterações não guardadas ?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nada foi encontrado." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Procurar" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altura" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Só é possível examinar um arquivo 3d de cada vez" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Painel lateral" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f L, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "De %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Azim %03.1f%s, Gradient %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Métrico" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Graus" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 #, fuzzy msgid "&Percent" msgstr "P&ercent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 #, fuzzy msgid "&Hide Compass" msgstr "&Esconder Bússola" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 #, fuzzy msgid "&Hide Clino" msgstr "&Esconder Clinômetro" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 #, fuzzy msgid "&Hide scale bar" msgstr "&Esconder barra de escala" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Topográficos" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Apresentação" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Mostrar tudo" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Esconder outros" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Leste" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Norte" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Abrir...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Abrir &Terreno..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Mostrar &Registro" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Imprimir...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "Configuração de &Página..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Captura de Ecrã..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Perfil Retifica&do..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exportar como..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportar" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informação sobre o Sistema:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Visualizar impressão" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Imprimir" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Imprimir..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Visadas de Super&fície" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Editar Waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Tempo: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Esta versão de %s necessita que o OpenGL funcione, mas não está." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Esconder" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Desvanecer" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 #, fuzzy msgid "&Dashed" msgstr "Das&hed" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Mostrar" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Lendo dados - por favor, aguarde…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Falha ao procurar a base %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, fuzzy, c-format msgid "Failed to find leg %s → %s" msgstr "Não foi encontrada a visada %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Começando a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, fuzzy, c-format msgid "Extending to the left from station %s" msgstr "Estendendo-se para a esquerda a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, fuzzy, c-format msgid "Extending to the right from station %s" msgstr "Estendendo-se para a direita a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, fuzzy, c-format msgid "Extending to the left from leg %s → %s" msgstr "A estender para a esquerda a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, fuzzy, c-format msgid "Extending to the right from leg %s → %s" msgstr "A estender para a direita a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "A terminar ciclo de levantamento na base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, fuzzy, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "A terminar ciclo de levantamento na visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, fuzzy, c-format msgid "Swapping extend direction from station %s" msgstr "A trocar direcção estendida a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, fuzzy, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "A trocar a direcção da extensão a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "A aplicar arquivo de especificações (specfile): “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Escrevendo %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Não foi possível analisar arquivo de erros (.err)" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Movido por (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Acrescentado: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Removido: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "A re-utilização de um prefixo é desaconselhada" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Prefixo usado originalmente aqui" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT descontinuado" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "produzir arquivo Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "produzir arquivo CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "produzir arquivo DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "produzir arquivo EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "produzir arquivo GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "produzir arquivo HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "produzir arquivo JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "produzir arquivo KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "produzir arquivo Compass PLT para o Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "produzir arquivo Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "produzir arquivo SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Erro no formato do arquivo de fontes “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Superfície Só&lida" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d bases encontradas" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferências..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Desenhar Paredes da Passagem" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimar leituras LRUD baseadas na heurística" #: n:350 #, fuzzy #~ msgid "Mark survey stations with crosses" #~ msgstr "Marcar as base com cruzes" #: n:351 #, fuzzy #~ msgid "Highlight stations marked as entrances" #~ msgstr "Realçar base marcadas como de entradas" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Realçar bases marcadas como pontos fixos" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Realçar bases que são exportadas" #: n:354 #, fuzzy #~ msgid "Mark survey stations with their names" #~ msgstr "Marcar base com os nomes delas" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permitir que os nomes se sobreponham na apresentação (mais rápido)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #, fuzzy #~ msgid "Display underground survey legs" #~ msgstr "Apresenta as visadas subterrâneas" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #, fuzzy #~ msgid "Display surface survey legs" #~ msgstr "Apresentar as visadas de superfície" #: n:359 #, fuzzy #~ msgid "Colour surface surveys by depth" #~ msgstr "Colorir topográficos de superficie segundo a profundidade" #: n:360 #, fuzzy #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Desenhar visadas de superficie com linhas tracejadas" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Desenhar um grade" #: n:362 #~ msgid "metric units" #~ msgstr "unidades métricas" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unidades imperiais" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "graus (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "ângulos" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Apresentar medidas em" #: n:367 #~ msgid "Display angles in" #~ msgstr "Apresentar ângulos em" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Inverter a direcção dos controlos do rato" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Apresentar Barra de escala" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Apresentar Barra de profundidade" #: n:371 #~ msgid "Display compass" #~ msgstr "Apresentar bússola" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Apresentar inclinómetro" #: n:373 #~ msgid "Display side panel" #~ msgstr "Apresentar painel lateral" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/id.po0000664000175000017500000030413014766623453010346 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Cave ID \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Berkas" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotasi" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientasi" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Tilik" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Kontrol" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "Ba&ntuan" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Presentasi" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Penggunaan" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Kehabisan memori" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Kehabisan memori (tidak dapat menemukan %lu byte)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Kehabisan memori mencoba membaca berkas “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Survex versi %s atau selanjutnya dibutuhkan untuk memproses data survei ini." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "peringatan" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "kesalahan" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "Dalam berkas disertakan dari %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix sudah ditinggalkan - gunakan *begin dan *end sebagai gantinya" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Karakter “%c” tidak diperbolehkan pada nama stasiun (gunakan *SET NAMES untuk mengatur karakter yang diizinkan)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Kolom mungkin tidak dihilangkan" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Mengharapkan bidang angka, ditemukan “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Ditemukan “%s”, mengharapkan “PRESERVE”, “TOUPPER”, atau “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Bug dalam program terdeteksi! Silakan laporkan hal ini kepada penulis" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Perintah tidak dikenal “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Stasiun “%s” disamakan dengan sendirinya" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Membaca kompas tidak dapat diabaikan kecuali pada plumbed leg" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Pembacaan pita tidak dapat diabaikan" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Hentikan jika baris tidak kosong" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Terdapat peringatan %d" #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Gagal mengeksekusi “%s”" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Kesalahan membaca berkas" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Terlalu banyak galat - menyerah" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT sudah ditinggalkan - gunakan *CALIBRATE/DATA/SD/UNITS dengan argumen DEFAULT sebagai gantinya" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Pembacaan kompas diberikan pada leg plumbed" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s tanpa pencocokan %s di berkas ini" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Stasiun “%s” tidak diekspor dari survei “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Referensi ke stasiun “%s” dari survei yang tidak ada “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” tidak dapat menjadi stasiun dan survei" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Mengharapkan nama stasiun" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Ditemukan “%s”, mengharapkan “EQUATES”, “EXPORTS”, atau “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Menemukan “%s”, seharusnya “ON” atau “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Hanya satu stasiun pada perintah EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Kuantitas tidak diketahui “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unit tidak diketahui “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Sistem koordinat tidak diketahui" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Sistem koordinat tidak valid: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Sistem koordinat tidak cocok pada keluaran" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Gagal mengkonversi koordinat: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "Proyeksi masukan diatur tetapi proyeksi keluaran tidak" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "Proyeksi keluaran diatur tetapi proyeksi masukan tidak" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "Koordinat tidak dapat diabaikan saat sistem koordinat yang telah ditentukan" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Masukan sistem koordinat ada harus dicantumkan untuk “%s”" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Angka yang diharapkan atau “AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "Tidak ada tanggal survei yang ditentukan - menggunakan 0 untuk deklinasi magnetik" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "Pencocokan perintah BEGIN tidak memiliki nama survei" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unit tidak valid “%s” untuk kuantitas" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrumen tidak diketahui “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Faktor skala harus 1.0 untuk DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Faktor skala harus non-zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Pengaturan tidak dikenal “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Klas karakter tidak dikenal “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Tidak ada data survei" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Namaberkas “%s” mengacu pada direktori" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Survei tidak semua terhubung ke stasiun tetap" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Stasiun yang sudah tetap atau disamakan dengan titik tetap" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Gagal membuka berkas keluaran “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Standar deviasi harus positif" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Kaki survei dengan stasiun yang sama (“%s”) pada kedua ujungnya - salah ketik?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Membaca clino lebih dari %.f%s (nilai absolut)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Mencoba untuk menyamakan dua stasiun tetap tidak-setara: “%s” dan “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Menyamakan dua titik tetap setara: “%s” dan “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Perintah FIX tanpa koordinat - menetapkan pada (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Stasiun yang sudah ditetapkan pada koordinat yang sama" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Sudah memiliki perintah FIX tanpa koordinat stasiun “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "Stasiun “%s” ditetapkan sebelum perintah CS pertama kali digunakan" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT harus segera mengikuti “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Tahun tidak valid (< 1900 or > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Tahun tidak valid" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Pembacaan kompas yang meragukan" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Pembacaan pita negatif" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Stasiun yang sama tetap dua kali tanpa koordinat" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Pembacaan pita kurang dari perubahan kedalaman" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Membaca “%s” tidak diperbolehkan pada model data “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Terlalu sedikit bacaan untuk model data “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Model data “%s” tidak diketahui" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Stasiun “%s” sudah diekspor" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Duplikasi pembacaan “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” tidak diketahui" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Hilang \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Stasiun “%s” disebut hanya sekali, dengan nama survei secara eksplisit - salah ketik?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Stasiun survei berikut tidak melekat pada titik tetap:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Survei tidak memiliki titik tetap. Oleh karena itu saya telah memperbaiki %s di (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Titik tetap yang tidak digunakan “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Menyelesaikan %d persamaan simultan" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Pembacaan “%s” duplikasi pembacaan sebelumnya" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Menyelesaikan satu persamaan" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Negatif yang disesuaikan pembacaan pita" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Tanggal ini di masa depan!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Akhir rentang tanggal sebelum memulai" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Penampang yang ditentukan di stasiun yang tidak ada “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Pembacaan CLINO dan BACKCLINO harus dari tipe yang sama" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Bulan tidak valid" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Hari yang tidak valid bulan itu" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Format berkas 3d versi %d ke %d didukung" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Mengharapkan nama survei" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Tidak bisa membuka berkas “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Gagal membuka “%s” untuk menulis" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Tidak dapat membuat berkas sementara" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Penggunaan lebih lanjut dari fitur yang ditinggalkan ini tidak perlu dilaporkan" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Pembacaan TAPE dan pembacaan BACKTAPE tidak sama %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Pembacaan Azimuth Kompass (COMPASS) dan pembacaan Back Azimuth Kompass (BACKCOMPASS) tidak sama %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Pembacaan CLINO dan pembacaan BACKCLINO tidak sama %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” sudah ditinggalkan - gunakan “*data %s …” sebagai gantinya" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Berkas gambar 3d yang buruk “%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Tanggal dan waktu tidak tersedia." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Kesalahan pembacaan dari berkas “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Galat saat menulis ke berkas “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Galat saat menulis ke berkas" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Ada peringatan %d dan kesalahan %d - tidak ada berkas keluaran yang dihasilkan." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Berkas “%s” memiliki format baru dari program ini dapat memahami" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Utara" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Elevasi pada" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "Tampilan P&lan" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Elevation" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Elevasi" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Tampak Atas" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "Tampak Atas Kiwi" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Menghitung statistik" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Mengharapkan bidang string" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "argumen terlalu sedikit" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "terlalu banyak argumen" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "BERKAS" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Menghapus trailing traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Concatenating traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Menghitung traverses" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Menghitung trailing traverses" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Menyederhanakan jaringan" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Menghitung jaringan" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Ditemukan “%s”, mengharapkan “F” atau “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Total panjang dari kaki survei = %7.2f%s (%7.2f%s yang disesuaikan)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Total panjang tampak atas kaki survei = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Total panjang vertikal kaki survei = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rentang vertikal = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rentang Utara-Selatan = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rentang Timur-Barat = %4.2f%s (dari %s di %4.2f%s ke %s di %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Ada 1 putaran." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Ada %ld putaran." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Waktu CPU yang digunakan %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Waktu yang digunakan %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Waktu yang digunakan tidak tersedia" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Waktu yang digunakan %5.2fs (%5.2fs waktu CPU)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Panjang asli %6.2fm (%3d kaki), dipindah %6.2fm (%5.2fm/kaki). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Kesalahan %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Kesalahan N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "tampilkan bantuan ini dan keluar" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "menampilkan informasi versi dan keluar" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPSI" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Skala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Coba “%s --help” untuk informasi lebih lanjut.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Diproses: %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Diperpanjang 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Tampak atas, %s halaman atas" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "menghadap elevasi %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "menghadap elevasi %s, kemiringan %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Elevasi diperpanjang" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Survei yang mengandung 1 stasiun survei," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Survei yang mengandung %ld stasiun survei," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " bergabung dengan 1 kaki." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " bergabung dengan %ld kaki." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "Titik" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "titik" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Survei yang memiliki %ld komponen terhubung." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Simpan Log" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Proses ulang" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argumen numerik “%s” diluar rentang" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argumen “%s” bukan bilangan bulat" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argumen “%s” bukan angka" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Mengharapkan “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Mengharapkan “%s” atau “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Mengharapkan “%s”, “%s”, atau “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Mengharapkan “%s”, “%s”, “%s”, atau “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Stasiun “%s” dimaksud pada *%s tetapi tidak pernah digunakan" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Tidak ada yang cocok %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "Nama survei yang tidak cocok BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Nama Survei yang dihilangkan dari END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Timur, Utara, Ketinggian )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Tampilan Kedalaman: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (warna)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Mengharapkan tanggal, ditemukan “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "hanya memuat sub-survei dengan prefiks ini" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "cetak dan keluar (memerlukan berkas 3d)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "set lokasi untuk berkas keluaran" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "hanya menampilkan ringkasan singkat (-qq hanya kesalahan)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "tidak membuat berkas .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "mengaktifkan peringatan menjadi kesalahan" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "keluaran log ke berkas .log" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "menentukan versi format berkas 3d pada keluaran" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "*UNITS faktor harus non-zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Tidak ada data survei di berkas 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Menghadap ke" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Tetang %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Pilih satu berkas dataran untuk melihat" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Berkas-berkas dataran" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Pilih berkas survei untuk melihat" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Berkas survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Semua berkas" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Semua berkas survei" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Berkas Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Berkas Compass MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Berkas Compass DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Berkas Compass CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Berkas CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Berkas DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Berkas EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Berkas GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL untuk plotter" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Berkas KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT untuk digunakan dengan Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Berkas Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Berkas SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Berkas JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Berkas log" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Alat visualisasi survei" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Program ini merupakan perangkat lunak bebas; Anda diizinkan untuk mendistribusikan dan/atau memodifikasinya di bawah GNU General Public Licence yang diterbitkan oleh Free Software Foundation; baik versi 2 dari Lisensi, atau (dengan pilihan Anda) versi yang lebih baru." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FILE1 FILE2 [THRESHOLD]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "Berkas FILE1 dan FILE2 bisa saja .pos atau .3d\nTHRESHOLD merupakan max. Perubahan dapat diketahui sepanjang sumbu dalam meter (baku %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "INPUT_FILE [OUTPUT_3D_FILE]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR_FILE [HOW_MANY]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[SURVEY_FILE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "[SURVEY_DATA_FILE]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Tidak bertanggal" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Tidak di putaran" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE tidak bisa menjadi bacaan pertama" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE tidak bisa menjadi bacaan terakhir" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Bacaan yang disisipkan, tapi tidak ada NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Pembacaan “%s” harus terjadi sebelum NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE hanya dapat didahului oleh STATION, DEPTH, dan COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Tidak dapat mengkalibrasi jumlah sudut dan panjang bersama" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Perintah *alias buruk" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s Kesalahan Log" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Ekspor..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Au&to-Rotate\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "A&rah Sebaliknya" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Lihat &Utara" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Lihat &Timur" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Lihat &Selatan" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Lihat &Barat" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "Tam&pilan Atas" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Ele&vasi" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Kembali ta&mpilan Baku" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Tilik" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Bagian" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Ekspor format" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d halaman (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Satu halaman" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Arah" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nama Stasiun" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "label stasiun" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Silang" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "penanda stasiun" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Kaki Survei di Bawah tanah" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "kaki survei di bawah tanah" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Potongan melintang" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "potongan melintang" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Dinding" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "dinding" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Lorong" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "lorong" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Di tengah" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "di tengah" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Koordinat penuh" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "koordinat penuh" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Jepit ke tanah" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "jepit ke tanah" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Sudut kemiringan" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Batas halaman" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Halaman kosong" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "Stasiun &Nama\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Lorong &Pipa\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "&Lahan" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Silang\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grid\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Batas Kotak\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Kaki Survei di bawah tanah\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Kaki survei perm&ukaan\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "kaki survei permukaan" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nama Tumpang Tindi&h" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "&Warna menurut" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Sorot &Mulut Gua" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Sorot &Titik Tetap" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Sorot titik yang di&ekspor" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Mulut gua" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "mulut gua" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Titik tetap" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "titik tetap" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Stasiun diekspor" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "stasiun diekspor" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Perspekti&f" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Tekstur &Dinding" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "&Obyek Jauh Pudar" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Merap&ikan Kaki Survei" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "La&yar Penuh Mode\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Warna berdasarkan &Kedalaman" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Warna berdasarkan &Tanggal" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Warna menurut &Eror" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Warna menurut Eror &horisontal" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Warna menurut Eror &vertikal" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Warna menurut &Gradien" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Warna menurut &Panjang" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Warna menurut &Survei" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompas" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "K&linometer" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "&Warna Kunci" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Skala Bar" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "Memuta&r\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Batal Mengukur Garis\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "&Indikator" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: pilihan “%s” ambigu\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: pilihan “%c%s” tidak mengizinkan argumen\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: pilihan “--%s” tidak mengizinkan argumen\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: opsi “%s” membutuhkan sebuah argumen\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opsi membutuhkan argumen -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: opsi tidak di-kenal “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: opsi tidak di-kenal “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opsi tidak-valid -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "Presentasi &Baru" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "Bu&ka Presentasi..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Simpan Presentasi" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Si&mpan Presentasi sebagai..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Tandai" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Put&ar" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Ekspor sebagai film..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Ekspor Film" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Pilih nama berkas keluaran" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Presentasi Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Simpan tangkapan layar" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Pilih presentasi untuk membuka" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Kesalahan pada format berkas presentasi “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Berkas Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Berkas CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Presentasi dimodifikasi" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Presentasi saat ini telah dimodifikasi. Abaikan perubahan yang belum disimpan?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Tidak ditemukan kecocokan." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Cari" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Ketinggian" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Anda hanya dapat melihat satu berkas 3d pada satu waktu." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "Panel &Samping" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f T, %.2f U" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Dari %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Jarak %.2f%s, Arah %03.1f%s, Gradien %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metrik" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Derajat" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Persen" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " mil" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " mil" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Sembunyikan Kompas" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Sembunyikan Klino" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Sembunyikan bar skala" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&Sembunyikan kunci warna" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Brg %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Survei" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Presentasi" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Tampilkan semua" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Sembunyikan yang lainnya" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Arah timur" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Arah Utara" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Buka...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Buka &Dataran..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Tampilkan &Log" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Cetak...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Tata Halaman..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Screenshot..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Elevasi Di&perpanjang..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Ekpor sebagai..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Ekspor sebagai:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Ekspor" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informasi Sistem:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Pratilik Cetak" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Cetak" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Cetak..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Kaki Survei Per&mukaan" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Edit Waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (tidak digunakan dalam tampak perspektif)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Waktu: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " detik (0 = otomatis; *6 = 6 waktu otomatis)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Versi %s membutuhkan OpenGL untuk bekerja, tetapi tidak tersedia." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Separator pada nama survei" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "stasiun anonim" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Tidak bisa memiliki kaki antara dua stasiun anonim" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "Kaki Leba&r" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "kaki lebar" #: ../src/mainfrm.cc:857 #: n:251 #, fuzzy msgid "&Duplicate Legs" msgstr "Dupli&cate Legs" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Sembunyikan" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Pudar" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Tampilkan" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Pembacaan data - mohon tunggu…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Gagal menemukan stasiun %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Gagal menemukan kaki %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Mulai dari stasiun %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Membentang ke kiri dari stasiun %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Membentang ke kanan dari stasiun %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Membentang ke kiri dari kaki %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Membentang ke kanan dari kaki %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Mematahkan putaran survei pada stasiun %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Mematahkan putaran survei kaki kaki %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Menukar arah diperluas dari stasiun %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Menukar arah diperluas dari kaki %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Menerapkan berkas spesifikasi: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Menulis %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "urutkan berdasarkan faktor kesalahan horisontal" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "urutkan berdasarkan faktor kesalahan vertikal" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "urutkan berdasarkan presentase kesalahan" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "urutkan berdasarkan kesalahan per kaki" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "ganti berkas .err dengan versi dipulihkan" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Tidak dapat mengurai berkas .err" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Dipindahkan oleh (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Ditambahkan: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Dihapus: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Memasukkan kembali survei yang ada sudah ditinggalkan" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Aslinya dimasukkan di sini" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT sudah ditinggalkan" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "memutar mundur berkas dan membacanya untuk kedua kalinya" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "Menampilkan informasi tanggal survei (jika ada)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Gagal menginisialisasi masukan sistem koordinat “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Gagal menginisialisasi keluaran sistem koordinat “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "menghasilkan grid (baku %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "station labels text height (baku %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "Ukuran penanda stasiun (baku %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "menghasilkan keluaran Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "menghasilkan keluaran CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "menghasilkan keluaran DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "menghasilkan keluaran EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "menghasilkan keluaran GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "menghasilkan keluaran HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "menghasilkan keluaran JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "menghasilkan keluaran KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "menghasilkan keluaran Compass PLT untuk Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "menghasilkan keluaran Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "menghasilkan keluaran SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Kesalahan dalam format berkas huruf “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Pe&rmukaan Padat" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d ditemukan" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferensi..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Menggambar dinding lorong" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Pembacaan LRUD estimasi berdasarkan heuristik" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Menandai stasiun survei dengan silang" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Sorot stasiun ditandai sebagai mulut gua" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Sorot stasiun ditandai sebagai titik tetap" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Sorot stasiun yang diekspor" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Stasiun survei tandai dengan nama mereka" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Biarkan nama tumpang tindih pada layar (lebih cepat)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Tampilan kaki survei bawah tanah" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Tampilan kaki survei permukaan" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Warna survei permukaan berdasarkan kedalaman" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Menggambar kaki permukaan dengan garis putus-putus" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Menggambar grid" #: n:362 #~ msgid "metric units" #~ msgstr "unit metrik" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unit imperial" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "derajat (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grads" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Menampilkan ukuran pada" #: n:367 #~ msgid "Display angles in" #~ msgstr "Menampilkan sudut pada" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Membalikkan arti kontrol" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Menampilkan skala bar" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Menampilkan bar kedalaman" #: n:371 #~ msgid "Display compass" #~ msgstr "Menampilkan kompas" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Menampilkan klinometer" #: n:373 #~ msgid "Display side panel" #~ msgstr "Menampilkan panel" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Proyeksi koordinat" survex-1.4.17/lib/de_CH.msg0000664000175000017500000004125614766643344011074 Svx Msg B©Konnte Datei «%s» nicht öffnenNicht genug Speicher vorhanden beim Einlesen der Datei «%s»Ausgabedatei «%s» konnte nicht geöffnet werden3D-Bilddatei «%s» ist fehlerhaftDateiname «%s» bezeichnet ein VerzeichnisFehler beim Lesen der Datei «%s»Fehler beim Schreiben in die Datei «%s»Datei «%s» ist in einem neueren Format, als dieses Programm verarbeiten kannZahl erwartet, «%s» gelesen«PRESERVE», «TOUPPER» oder «TOLOWER» erwartet, «%s» gelesenFehler im Programm, bitte informieren Sie die Programmierer darüberUnbekanntes Befehl «%s»Messpunkt «%s» mit sich selbst gleichgesetztKompassablesung darf nur bei Lotstrecken weggelassen werdenEnde der Zeile ist nicht leerEs gab %d Warnungen.Externer Befehl konnte nicht ausgeführt werden: «%s»Fehler beim Einlesen der DateiAbbruch wegen zu vieler Fehler*DEFAULT ist veraltet - stattdessen *CALIBRATE/DATA/SD/UNITS mit DEFAULT-Argument verwendenKompassablesung für geloteten Schacht angegebenCorresponding %s was here%s ohne entsprechendes %s in dieser DateiNicht genug Speicher vorhanden (%lu Bytes nicht gefunden).ROOT ist veraltetMesspunkt «%s» nicht aus Vermessung «%s» exportiert«%s» kann nicht ein Messpunkt und eine Vermessung seinMesspunktname erwartetErneutes Einführen einer Vermessung ist veraltetBereits hier verwendet«EQUATES», «EXPORTS» oder «PLUMBS» erwartet, «%s» gelesen«ON» oder «OFF» erwartet, «%s» gelesenNur ein Messpunkt im EQUATE-Befehl angegebenUnbekannte Grösse «%s»Unbekannte Einheit(en) «%s»Zugehöriges BEGIN hatte kein VermessungsnamenUnpassende Einheit «%s» für diese GrösseZum Verarbeiten dieser Vermessungsdaten ist Survex-Version %s oder neuer erforderlich.Unbekanntes Instrument «%s»Skalenfaktor für die DECLINATION muss 1.0 seinUngültige Einstellung «%s»Unbekannte Zeichenklasse «%s»Keine Vermessungsdaten vorhandenIn von %s:%u aus eingelesener Datei: Teile der Vermessung sind nicht mit festen Messpunkten verbundenMesspunkt ist schon fest oder gleich einem festen PunktZwischen zwei anonymen Messpunkten kann keine Messstrecke seinStandardabweichung muss positiv seinAufrufMessstrecke mit einem auf sich selbst bezogenen Messpunkt («%s») – Tippfehler?Neigungseintrag übertrifft %.f%s (Absolutwert)Versuch, zwei verschiedene feste Messpunkte gleichzusetzen: «%s» und «%s»Zwei identische feste Punkte miteinander gleichgesetzt: «%s» und «%s»FIX-Befehl ohne Koordinatenwerte, wurde auf (0,0,0) gesetztMesspunkt schon auf die gleichen Koordinaten festgelegtanonymer Messpunkt*EXPORT muss unmittelbar auf «*BEGIN » folgenUngültiges Jahr (< 1900 oder > 2078)Seltsamer KompasswertNegativer LängeneintragGleicher Messpunkt zweimal ohne Koordinaten angegebenLängeneintrag ist kleiner als HöhenunterschiedMessgrösse «%s» ist beim Datenformat «%s» nicht erlaubtZu wenige Messwerte für Datenformat «%s»Datenformat «%s» unbekanntMesspunkt «%s» ist bereits exportiertMessgrösse «%s» mehrfach angegebenFLAG «%s» unbekannt" fehltMesspunkt «%s» nur einmal erwähnt, mit explizitem Vermessungsnamen - Tippfehler?Die folgenden Messpunkte haben keine festen Koordinaten:Vermessung hat keine Festpunkte. %s wurde als Nullpunkt (0,0,0) gewähltFester Messpunkt «%s» wird nicht verwendetNo blank after tokenLöse System mit %d Gleichungen und UnbekanntenAssuming 2 digit year is %dEintrag «%s» wiederholt frühere(n)Eine Gleichung wird gelöstNegative korrigierte StreckenlängeDatum liegt in der Zukunft!Das Enddatum ist früher als das AnfangsdatumFarbe je nach &LängeÜberschneidung an nicht existierendem Messpunkt «%s» angegebenCLINO- und BACKCLINO-Eintrag müssen den gleichen Typ habenFarbe je nach &GefälleUngültiger MonatUngültiger MonatstagVersionen %d bis %d des 3D-Dateiformats werden unterstütztName einer Vermessung erwartet.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionFehlerLängeneintrag fehltWeitere Vorkommen dieser veralteten Funktionalität werden nicht gemeldet werden%TAPE- und BACKTAPE-Eintrag differieren um %sCOMPASS- und BACKCOMPASS-Eintrag differieren um %sCLINO- und BACKCLINO-Eintrag differieren um %sMesspunktnameCSV-DateienCSV-Ausgabe erzeugen«%s» oder «%s» erwartet«*data %s %c …» ist veraltet - verwenden Sie stattdessen «*data %s …»Daten werden eingelesen - bitte warten…Warnung%a,%Y.%m.%d %H:%M:%S %ZDatum und Uhrzeit nicht feststellbar.*prefix ist veraltet - stattdessen *begin und *end verwendenUngültiges Zeichen «%c» in Messpunktname (erlaubte Zeichen können mit *SET NAMES definiert werden)Fehler beim Schreiben in eine Datei.err-Datei konnte nicht interpretiert werdenEs gab %d Warnungen und %d Fehler - keine Ausgabedatei erstellt.Eintragung fehltNordenAufriss auf die Ebene&GrundrissAufrissDrucken und Beenden (3D-Datei erforderlich)Statistik wird berechnetTextfeld erwartetzu wenige Argumentezu viele ArgumenteDATEIEinseitig angeschlossene Messzüge werden entferntMesszüge zwischen Abzweigungen werden verbundenMesszüge zwischen Abzweigungen werden berechnetEinseitig angeschlossene Messzüge werden berechnetNetzwerk wird vereinfachtNetzwerk wird ausgeglichen«F» oder «B» erwartet, «%s» gelesenGesamtlänge der Messstrecken = %7.2f%s (%7.2f%s ausgeglichen)Gesamte Horizontallänge der Messstrecken = %7.2f%sGesamte Vertikallänge der Messstrecken = %7.2f%sVertikale Erstreckung = %4.2f%s (von %s auf %4.2f%s bis %s auf %4.2f%s)Nord-Süd-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)Ost-West-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)Es gibt eine Ringverbindung.Es gibt %ld Ringverbindungen.Benötigte Rechenzeit (CPU) %5.2fsBenötigte Zeit %5.2fsBenötigte Zeit nicht feststellbarBenötigte Zeit %5.2fs (%5.2fs CPU-Zeit)&Protokoll anzeigenUrsprüngliche Länge %6.2fm (%3d Strecken), verändert um %6.2fm (%5.2fm/Messstrecke). Fehler %6.2f%%Fehler belanglosGitter erzeugen (Vorgabe %sm)Texthöhe der Messpunktbezeichnungen (Vorgabe %s)Diese Hilfemeldung anzeigen und BeendenVersionsinformation ausgeben und beendenMesspunktmarkierungsgrösse (Vorgabe %s)OPTIONMassstabinclude items exported by defaultDXF-Ausgabe erzeugenVersuchen Sie «%s --help» für weitere Hinweise. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeCompass PLT-Ausgabe für Carto erzeugenSVG-Ausgabe erzeugenNo terrain data near area of surveyOrt für Ausgabedateien festlegenNur kurze Zusammenfassung zeigen (-qq zeigt nur Fehler)Keine .err-Datei erstellenWarnungen als Fehler behandelnSurvex POS-DateienBerechnung von Seite %sGrundriss, %s obenAufriss in Richtung %sAusgabe in .log-Datei protokollierenVersion des 3D-Dateiformats für die AusgabeVermessung enthält 1 Messpunkt,Vermessung enthält %ld Messpunkte, verbunden durch 1 Messstrecke. verbunden durch %ld Messstrecken.VerzweigungspunktVerzweigungspunkteNetzwerk hat %ld zusammenhängende Teile.Nach horizontalem Fehlerfaktor sortierenNach vertikalem Fehlerfaktor sortierenNach prozentualem Fehlerfaktor sortierenNach Fehlern pro Messstrecke sortieren.err-Datei durch sortierte Version ersetzen&Neu berechnenNumerisches Argument «%s» ist nicht im gültigen BereichArgument «%s» ist keine GanzzahlArgument «%s» ist keine Zahl«%s», «%s» oder «%s» erwartet«%s», «%s», «%s» oder «%s» erwartetIn *%2$s wird sich auf den Messpunkt «%1$s» bezogen, er wird aber nirgends verwendetAbwicklungKein entsprechendes %sVermessungsnamen passt nicht zu BEGINVermessungsnamen vor END fehlt( Rechtsw.,Hochwert, Höhe )Farbtiefe: %d bpp (Farbe)Datum erwartet, «%s» gelesenNur Teilvermessung mit diesem Präfix ladenFaktor nach *UNITS muss von Null verschieden sein&Bildschirmabzug...Keine Vermessungsdaten in 3D-Datei «%s»Blickricht.An den Anfang der Datei und neu einlesenÜber %sVermessungsdatei zur Ansicht wählenSurvex 3D-DateienAlle DateienVisualisierungsprogramm für Vermessungsdaten&Datei&Rotieren&Orientierung&Ansicht&Steuerung&Hilfe&Präsentationscale (50, 0.02, 1:50 and 2:100 all mean 1:50)DATEI1 DATEI2 [SCHWELLE]Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version.Ö&ffnen... Ctrl+ONicht datiertNEWLINE kann nicht der erste Eintrag seinNEWLINE kann nicht der letzte Eintrag seinAbwechselnde Einträge, aber kein NEWLINEEintrag «%s» muss vor NEWLINE stehenVor NEWLINE kann nur STATION, DEPTH oder COUNT stehenWinkel und Längen können nicht gleichzeitig kalibriert werden%s-FehlerprotokollAlle Vermessungsdateien&Exportieren...Auto&matisch rotieren Space%d/%d↑%s 1:%.0f&Andere Richtung%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&Perspektive&WandtexturDunsteffe&ktNach &NordenNach &OstenNach &SüdenNach &WestenExtended 1:%.0fAlles zeigenAndere ausblenden&Abwicklung...&Grundriss&Aufriss&Gestrichelt&Doppelte MessstreckenExport format not specified and not known from output file extensionExport format not specified&Zurück zur voreingestellten AnsichtDATEI1 und DATEI2 können .pos- oder .3d-Dateien sein SCHWELLE ist die max. zu ignorierende Abweichung entlang beliebiger Achsen in Metern (Vorgabe %s)Elemente%d Seiten (%dx%d)Eine SeiteRichtungMesspunktnamenKreuzeMessstrecken unter GrundNeigungSeitenrahmenLegendeLeerseitenEINGABE-DATEI [AUSGABE-3D-DATEI]ERR-DATEI [WIE_VIELE][VERMESSUNGSDATEI]Messpunkt&namen Ctrl+NKreu&ze Ctrl+XMessstrecken unter Gr&und Ctrl+LÜber&lappende Namen&Kompass&Neigungsanzeige&Farbschlüssel&Massstab (in Ansicht «Perspektive» ungenutzt)Zeit: Richtung &umkehren Ctrl+RMesslinie &abschalten Escape Sekunden (0 = auto; *6 = 6 mal auto)AnsichtAufriss in Richtung %s, Neigung %s&AufrissReferenz zu Messpunkt «%s» aus nicht existierender Vermessung «%s»Initialisierung des Eingabekoordinatensystems «%s» ist gescheitertInitialisierung des Ausgabekoordinatensystems «%s» ist gescheitertFarbe je nach &FehlernNicht in SchleifeMessstrecken an der &Oberfläche Ctrl+FFarbe je nach &TiefeFarbe je nach &Datum&Eingänge hervorheben&Festpunkte hervorhebenE&xportierte Punkte hervorheben&Gitter Ctrl+GGeglättete &Messstrecken&Richtungsanzeiger%s: Die Option «%s» ist nicht eindeutig Input coordinate system must be specified for “%s”%s: Die Option «%c%s» erlaubt kein Argument %s: Die Option «--%s» erlaubt kein Argument No survey date specified - using 0 for magnetic declination%s: Die Option «%s» benötigt ein Argument %s: Die Option verlangt ein Argmuent -- %c %s: Unbekannte Option «--%s» %s: Unbekannte Option «%c%s» Expected number or “AUTO”%s: ungültige Option -- %c &Neue Präsentation&Präsentation öffnen...Präsentation &speichernPräsentation speichern &als...&MarkierenAbspie&len&Exportieren als Film...&Begrenzendes Rechteck Ctrl+BName der Ausgabedatei wählenAven PräsentationenBildschirmabzug speichernZu öffnende Präsentation auswählenFormatfehler in der Präsentationsdatei «%s»Compass PLT DateiCAMP XYZ DateiModifizierte PräsentationDie aktuelle Präsentation wurde verändert. Abbrechen, ohne die Änderungen zu speichern?Kein Treffer gefunden.SVX-Dateien für SurvexCompass MAK-DateienFilm exportierenSuchenFind stations%d Messpunkt(e) entsprechen %s%s%sHöheEs kann nur eine 3D-Datei zugleich angezeigt werden.&Seitliches Kontrollfeld%.2f R, %.2f HVon %s ausH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Richt. %03.1f%s, Gefälle %s&Metrisch&Grad°ᵍ3D-Pa&ssagen Ctrl+T&Einstellungen...Wände einzeichnenLROU-Werte heuristisch schätzenMesspunkte durch Kreuze markierenMesspunkte an den Eingängen hervorhebenFeste Messpunkte hervorhebenExportierte Messpunkte hervorhebenMesspunkte mit ihren Namen beschriftenÜberlappende Beschriftungen zulassen (schneller)&Vollbild-Modus F11Messstrecken unter Grund anzeigenMessstrecken an der Oberfläche anzeigenOberflächenvermessung nach Höhe einfärbenOberflächenstrecken gestrichelt zeichnenGitter einzeichnenMeterenglische EinheitenAltgrad (°)Neugrad (gon)Längen anzeigen inWinkel anzeigen inMaus-Steuerung umkehrenMassstab anzeigenTiefenskala anzeigenKompass anzeigenNeigungsmesser anzeigenSeitliches Kontrollfeld anzeigen%s: H %.2f%s, Richt. %03.1f%s%s: V %.2f%sVermessungenPräsentationRechtswertHochwert&Drucken... Ctrl+P&Seite einrichten...&Exportieren als...Exportieren&Clino versteckenMassstab &versteckenFarbschlüssel &verstecken&Kompass versteckenHide si&blingsNicht genug Speicher vorhandenSysteminformation:Skalenfaktor muss von Null verschieden seinTrennzeichen im VermessungsnamenÜberschneidungenWändePassagenDatumsangaben einer Vermessung zeigen (wenn vorhanden)*alias-Befehl ist fehlerhaftDruckvorschauDrucken&Drucken...Exportieren als:In die Datei «%s» konnte nicht geschrieben werdenMessstrecken an der Ober&flächeWegpunkt bearbeitenDiese Version von %s benötigt zum Funktionieren OpenGL, was jedoch nicht verfügbar ist.&Hilfslinien (splay)&Verstecken&Dunsteffekt&ZeigenExportformatDXF-DateienEPS-DateienGPX-DateienHPGL-Dateien für PlotterCompass PLT-Dateien für CartoDuplicate date type “%s”SVG-DateienEingängeFestpunkteExportierte PunkteUrsprung in der MitteVollständige Koordinatenkmmcm Meilen Meile′″&Prozentual∞GrundrissKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionMehr als ein FIX-Befehl ohne Koordinaten für Messpunkt «%s»Station “%s” fixed before CS command first usedInvalid coordinate system: %sKML-DateienJSON-Dateien&Protokoll SpeichernProtokolldateienFarbe je nach Verme&ssungTerr&ain&Colour byGeländedatei zur Ansicht wählenGeländedateienGelände&modell öffnen...EPS-Ausgabe erzeugenGPX-Ausgabe erzeugenHPGL-Ausgabe erzeugenJSON-Ausgabe erzeugenKML-Ausgabe erzeugenSurvex POS-Ausgabe erzeugenbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)Messstrecken an der OberflächeHilfslinien (splay)EingängeFestpunkteExportierte PunkteÜberschneidungenWändePassagenUrsprung in der MitteVollständige KoordinatenMesspunktmarkierungenMesspunktbezeichnungenMessstrecken unter GrundBefestigt am BodenBefestigt am BodenUnits “%s” are deprecated, assuming “grads” - see manual for detailsFarbe je nach &horizontalen FehlernFarbe je nach &vertikalen FehlernColour by St&yleExpecting quadrant bearing, found “%s”Deklination: %s, Meridiankonvergenz: %.1f%sInformationconvert MOVE and LINE into LEGSurvex 3d-Ausgabe erzeugenOutput coordinate system not setExpecting integer in range %d to %dCompass DAT-DateienCompass CLP-DateienFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlay«%s» erwartetEs ist nicht möglich, eine temporäre Datei anzulegenMacro “%s” not definedVerschoben um (%3.2f,%3.2f,%3.2f): %sHinzugefügt: %sEntfernt: %sDatum “%s” not supportedWalls project filesWalls VermessungsdateiIgnoring “%s”[VERMESSUNGSDATEI]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Messpunkt konnte nicht gefunden werden: %sMessstrecke konnte nicht gefunden werden: %s → %sBei diesem Messpunkt wird begonnen: %sVon diesem Messpunkt aus nach links erweitern: %sVon diesem Messpunkt aus nach rechts erweitern: %sVon dieser Messstrecke aus nach links erweitern: %s → %sVon dieser Messstrecke aus nach rechts erweitern: %s → %sMessschleife wird an diesem Messpunkt unterbrochen: %sMessschleife wird an dieser Messstrecke unterbrochen: %s → %sErweiterungsrichtung von Messpunkt %s wird umgekehrtErweiterungsrichtung von Messstrecke wird umgekehrt: %s → %sSpezifikationsdatei wird angewendet: «%s»%s wird geschrieben…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Ungültiges JahrZ exaggeration factorsurvex-1.4.17/lib/pt.msg0000664000175000017500000004015214766643344010547 Svx Msg @V©Impossível abrir ficheiro “%s”Memória insuficiente: “%s”Não foi possível abrir arquivo de saída “%s”Ficheiro de imagem 3d “%s” com problemasNome de arquivo “%s” referencia diretório ao invés de arquivoErro ao ler o ficheiro “%s”Erro escrevendo no arquivo “%s”Arquivo “%s” tem um formato mais novo do que este programa consegue entenderEsperava valor numérico, encontrei “%s”Encontrei “%s” quando eram esperados “PRESERVE”, “TOUPPER” ou “TOLOWER”Erro no programa! Por favor, comunique aos autoresComando desconhecido “%s”Base “%s” igualada a ela mesmaAzimute não pode ser omitido exceto em visadas em prumoFinal da linha não está em brancoHá %d alerta(s).Falhou a execução do comando “%s”Erro ao ler o ficheiroDemasiados erros - desistindo*DEFAULT decontinuado - use *CALIBRATE/DATA/SD/UNITS com argumento DEFAULT em seu lugarAzimute fornecido numa visada verticalCorresponding %s was here%s sem o %s correspondente neste ficheiroMemória insuficiente (são necesssários mais %lu bytes).ROOT descontinuadoBase “%s” não exportada da topo “%s”“%s” não pode ser nome de base e de topografia ao mesmo tempoEsperava um nome de baseA re-utilização de um prefixo é desaconselhadaPrefixo usado originalmente aquiEncontrado “%s” quando “EQUATES”, “EXPORTS” ou “PLUMBS” era esperadoEncontrado “%s” quando “ON” ou “OFF” eram esperadosApenas uma base para o comando EQUATETipo de quantidade “%s” desconhecidaUnidade “%s” desconhecidaO BEGIN correspondente não tem prefixoUnidade “%s” inválida para tipo de quantidadePara processar estes dados é necessária a versão %s (ou posterior) do Survex.Instrumento “%s” desconhecidoFator de escala tem que ser 1.0 para comando DECLINATIONConfiguração “%s” desconhecidaClasse de caracteres desconhecida: “%s”Nenhum dado topográficoNo arquivo incluído em %s:%u: Topografia não completamente conectada a bases posicionadasBase já posicionada ou com correspondência a uma base posicionadaCan't have a leg between two anonymous stationsDesvio-padrão deve ser positivoUsoVisada com mesma base em ambas as pontas (“%s”) - erro de digitação?Inclinação maior que %.f%s em valor absolutoTentativa de igualar duas bases posicionadas em coordenadas diferentes: “%s” e “%s”Igualando duas bases posicionadas nas mesmas coordenadas: “%s” e “%s”Comando FIX sem coordenadas - atribuindo (0,0,0)Base já posicionada nessas coordenadasanonymous station*EXPORT deve estar logo após um “*BEGIN ”Ano inválido (< 1900 or > 2078)Azimute suspeitoDistância negativaMesma base posicionada duas vezes sem coordenadasDistância menor que mudança de profundidadeCampo “%s” não é permitido em tipo de visada “%s”Faltam campos necessários ao tipo de visada “%s”Tipo de visada “%s” desconhecidoBase “%s” já foi exportadaCampo “%s” duplicadoFLAG “%s” com problemasFalta "Base “%s” utilizada apenas uma vez, e com um prefixo explícito - erro de digitação?As seguintes bases não estão conectadas a uma base posicionada:Topografia sem bases posicionadas. Assim %s foi posicionada em (0,0,0)Base posicionada não usada “%s”No blank after tokenResolvendo sistema de %d equaçõesAssuming 2 digit year is %dValor “%s” duplica valor(es) anterior(es)Resolvendo uma equaçãoDistância ajustada negativaA data é no futuro!Data final do intervalo ocorre antes da data inicialColour by &LengthEspecificada secção cruzada numa base “%s” inexistenteValores de CLINO e BACKCLINO têm que ser do mesmo tipoColour by &GradientMês inválidoDia inválido3d file format versions %d to %d supportedEsperando nome de topografia.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionerroDistância não pode ser omitidoFuturos usos deste recurso desaconselhado não serão reportados%TAPE reading and BACKTAPE reading disagree by %sÂngulos de COMPASS e BACKCOMPASS diferem em %sÂngulos de CLINO e BACKCLINO diferem em %sNome de baseFicheiros CSVproduce CSV output“%s” ou “%s” eram esperados“*data %s %c …” obsoleto - use “*data %s …” no lugarLendo dados - por favor, aguarde…alerta%a,%Y.%m.%d %H:%M:%S %ZData e hora não disponível.*prefix descontinuado - use *begin e *end em seu lugarCaractere “%c” não permitido em nome de base (use *SET NAMES para configurar os caracteres permitidos)Erro escrevendo em arquivoNão foi possível analisar arquivo de erros (.err)Há %d alerta(s) e %d erro(s) - nenhum arquivo de saída criadoCampo não pode ser omitidoNortePerfil em&PlantaPerfilprint and exit (requires a 3d file)Calculando estatísticasEsperando cadeia de caracteresnúmero de argumentos insuficientenúmero de argumentos excessivoFICHEIRORemovendo seqüências de pontaConcatenando seqüênciasCalculando seqüênciasCalculando seqüências de pontaSimplificando rede de visadasCalculando rede de visadasEncontrado “%s” quando “F” ou “B” eram esperadosDesenvolvimento linear das visadas = %7.2f%s (%7.2f%s corrigidos)Desenvolvimento horizontal das visadas = %7.2f%sDesenvolvimento vertical das visadas = %7.2f%sDesnível = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)Extensão Norte-Sul = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)Extensão Leste-Oeste = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)Há 1 loop.Há %ld loops.Tempo de CPU gasto %5.2fsTempo gasto %5.2fsTempo gasto não disponívelTempo gasto %5.2fs (tempo de CPU %5.2fs)Mostrar &RegistoDesenvolvimento Original %6.2fm (%3d visadas), deslocado %6.2fm (%5.2fm/visada). Erro %6.2f%%Erro N/Agenerate grid (default %sm)station labels text height (default %s)exibir esta mensagem e sairexibir número de versão e sairstation marker size (default %s)OPÇÃOEscalainclude items exported by defaultproduce DXF outputTente “%s --help” para mais informações. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsFicheiros Survex posProcessada em %sPlan view, %s up pageElevation facing %slog output to .log filespecify the 3d file format version to outputTopografia contém somente uma base,Topografia contém %ld bases, unidas por uma única visada. unidas por %ld visadas.nodonodosTopografia tem %ld componentes interligados.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Reprocessargumento numérico “%s” fora dos limitesargumento “%s” não é um número inteiroargumento “%s” não é um número“%s”, “%s” ou “%s” eram esperados“%s”, “%s”, “%s” ou “%s” eram esperadosBase “%s” referenciada por *%s mas nunca usadaPerfil retificadoNão há %s correspondentePrefixo não corresponde ao do BEGINPrefixo omitido no END( Leste, Norte, Altura )Display Depth: %d bpp (colour)Esperando data, encontrado “%s”carregue apenas a sub-topografia com prefixoFator em *UNITS não pode ser zero&Captura de Ecrã...Não há dados de topografia no ficheiro 3d “%s”Olhando pararewind file and read it a second timeAcerca de %sSelecione um arquivo 3d para ser visualizadoFicheiros de Survex 3dTodos os ficheirosFerramenta de visualização de Levantamento topográfico&Ficheiro&Rotação&Orientação&Vista&Comandos&AjudaA&presentaçãoscale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]Este programa é um software de livre distribuição, que pode ser copiado e distribuído sob os termos da Licença Pública Geral GNU, conforme publicada pela Free Software Foundation, versão 2 da licença ou (a critério do autor) qualquer versão posterior.&Abrir... Ctrl+OSem dataNEWLINE não pode ser o primeiro valorNEWLINE não pode ser o último valorValores em mais de uma linha sem NEWLINEValor “%s” deve estar antes do NEWLINENEWLINE só pode ser precedido por STATION, DEPTH e COUNTNão é possível calibrar ângulos e comprimentos ao mesmo tempo%s Error LogAll survey files&Exportar...Au&to-Rodar Space%d/%d↑%s 1:%.0f&Inverter Sentido%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPe&rspectivaParede Texturi&zadasDistância de desvanecimento de Ob&jectosOlhar para &NorteOlhar para &LesteOlhar para &SulOlhar para &OesteExtended 1:%.0fMostrar tudoOcultar outrosPerfil Retifica&do...&PlantaPer&filDas&hed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specified&Restaurar Vista PredefinidaFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Elementos%d páginas (%dx%d)Uma páginaAzimuteNomes de baseMarcas de baseVisadas SubterrâneasGrau de inclinaçãoMargens da PáginaLegendaPáginas em brancoINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]&Nomes de base Ctrl+N&Marcas de base Ctrl+X&Visadas Subterrâneas Ctrl+LNomes &Sobrepostos&Bússola&ClinômetroColour &KeyBarra de &Escala (unused in perspective view)Tempo: &Inverter Sentido Ctrl+R&Cancelar linha de medida Escape secs (0 = auto; *6 = 6 times auto)VistaElevation facing %s, tilted %sPe&rfilReference to station “%s” from non-existent survey “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Colorir de acordo com Err&osNot in loopVisadas de Super&fície Ctrl+FColorir de acordo com &ProfundidadeColorir de acordo com &DataDestacar &EntradasDestacar Bases Fi&xadasDestacar Bases Export&adas&Grade Ctrl+GVisadas S&uavizadasI&ndicadores%s: opção “%s” é ambígua Input coordinate system must be specified for “%s”%s: opção “%c%s” não recebe nenhum argumento %s: opção “--%s” não recebe nenhum argumento No survey date specified - using 0 for magnetic declination%s: opção “%s” requer um argumento %s: opção requer um argumento -- %c %s: a opção “--%s” é desconhecida %s: a opção “%c%s” é desconhecida Expected number or “AUTO”%s: opção inválida -- %c &Nova Apresentação&Abrir Apresentação...Guardar Apre&sentação&Guardar Apresentação como...&MarcarReprodu&zir&Exportar como Filme...Caixa &Barreira Ctrl+BEscolha um nome de arquivo de saídaApresentações AvenGuardar a Captura de EcrãEscolha uma apresentação para abrirErro no formato da apresentação “%s”Ficheiros Compass PLTFicheiros CMAP XYZApresentação ModificadaA apresentação actual foi modificada. Abandonar as alterações não guardadas ?Nada foi encontrado.Ficheiros de Survex svxFicheiros de COMPASS MAKExport MovieProcurarFind stations%d stations match %s%s%sAlturaSó é possível examinar um arquivo 3d de cada vez&Painel lateral%.2f L, %.2f NDe %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Azim %03.1f%s, Gradient %s&Métrico&Graus°ᵍ&Tubos de Passagem Ctrl+T&Preferências...Desenhar Paredes da PassagemEstimar leituras LRUD baseadas na heurísticaMarcar as base com cruzesRealçar base marcadas como de entradasRealçar bases marcadas como pontos fixosRealçar bases que são exportadasMarcar base com os nomes delasPermitir que os nomes se sobreponham na apresentação (mais rápido)Modo Ecrã &Completo F11Apresenta as visadas subterrâneasApresentar as visadas de superfícieColorir topográficos de superficie segundo a profundidadeDesenhar visadas de superficie com linhas tracejadasDesenhar uma grelhaunidades métricasunidades imperiaisgraus (°)ângulosApresentar medidas emApresentar ângulos emInverter a direcção dos controlos do ratoApresentar Barra de escalaApresentar Barra de profundidadeApresentar bússolaApresentar inclinómetroApresentar painel lateral%s: H %.2f%s, Azim %03.1f%s%s: V %.2f%sTopográficosApresentaçãoLesteNorte&Imprimir... Ctrl+PConfiguração de &Página...&Exportar como...Exportar&Esconder Clinômetro&Esconder Barra de escala&Hide colour key&Esconder BússolaHide si&blingsMemória insuficienteInformação sobre o Sistema:Fator de escala não pode ser zeroSeparator in survey nameSecções cruzadasParedePassagemshow survey date information (if present)Bad *alias commandPré-visualização de ImpressãoImprimir&Imprimir...Exportar como:Não foi possível escrever no ficheiro “%s”Visadas de Super&fícieEdit WaypointEsta versão de %s necessita que o OpenGL funcione, mas não está.Spla&y Legs&Esconder&Desvanecer&MostrarFormato para exportarFicheiros DXFFicheiros EPSFicheiros GPXHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”Ficheiros SVGEntradasBases FixadasBases ExportadasOrigin in centreFull coordinateskmmcm miles mile′″P&ercentagem∞PlantaKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionMais de um comando FIX sem coordenadas: “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sFicheiros KMLFicheiros JSON&Guardar RegistoFicheiros de registoColour by &SurveyTerra&inCo&lour byEscolha um arquivo de relevo de superfície para examinarArquivos de relevo de superfícieAbrir &Terreno...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)visadas de superfíciesplay legsentradasbases fixadasbases exportadassecções cruzadasparedepassagemorigin in centrefull coordinatesmarcas de basenomes de basevisadas subterrâneasAssente no chãoassente no chãoUnits “%s” are deprecated, assuming “grads” - see manual for detailsColorir de acordo com Erros &HorizontalColorir de acordo com Erros &VerticalColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinformaçãoconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dFicheiros de COMPASS DATFicheiros de COMPASS CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlay“%s” era esperadoFailed to create temporary fileMacro “%s” not definedMovido por (%3.2f,%3.2f,%3.2f): %sAcrescentado: %sRemovido: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Falha ao procurar a base %sNão foi encontrada a visada %s → %sComeçando a partir da base %sEstendendo-se para a esquerda a partir da base %sEstendendo-se para a direita a partir da base %sA estender para a esquerda a partir da visada %s → %sA estender para a direita a partir da visada %s → %sA terminar ciclo de levantamento na base %sA terminar ciclo de levantamento na visada %s → %sA trocar direcção estendida a partir da base %sA trocar a direcção da extensão a partir da visada %s → %sA aplicar ficheiro de especificações (specfile): “%s”Escrevendo %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Ano inválidoZ exaggeration factorsurvex-1.4.17/lib/ChineseTraditional.isl0000664000175000017500000004706114756727464013711 ; *** Inno Setup version 6.1.0+ Chinese Traditional messages *** ; Name: Enfong Tsao, nelson22768384@gmail.com ; Based on 5.5.3+ translations by Samuel Lee, Email: 751555749@qq.com ; Translation based on network resource ; ; Note: When translating this text, do not add periods (.) to the end of ; messages that didn't have them already, because on those messages Inno ; Setup adds the periods automatically (appending a period would result in ; two periods being displayed). [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. LanguageName=<7e41><9ad4><4e2d><6587> LanguageID=$0404 LanguageCodepage=950 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;TitleFontName=Arial ;TitleFontSize=29 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** Application titles SetupAppTitle=安裝程式 SetupWindowTitle=%1 安裝程式 UninstallAppTitle=解除安裝 UninstallAppFullTitle=解除安裝 %1 ; *** Misc. common InformationTitle=訊息 ConfirmTitle=確認 ErrorTitle=錯誤 ; *** SetupLdr messages SetupLdrStartupMessage=這將會安裝 %1。您想要繼續嗎? LdrCannotCreateTemp=無法建立暫存檔案。安裝程式將會結束。 LdrCannotExecTemp=無法執行暫存檔案。安裝程式將會結束。 HelpTextNote= ; *** Startup error messages LastErrorMessage=%1%n%n錯誤 %2: %3 SetupFileMissing=安裝資料夾中遺失檔案 %1。請修正此問題或重新取得此軟體。 SetupFileCorrupt=安裝檔案已經損毀。請重新取得此軟體。 SetupFileCorruptOrWrongVer=安裝檔案已經損毀,或與安裝程式的版本不符。請重新取得此軟體。 InvalidParameter=某個無效的變量已被傳遞到了命令列:%n%n%1 SetupAlreadyRunning=安裝程式已經在執行。 WindowsVersionNotSupported=本安裝程式並不支援目前在電腦所運行的 Windows 版本。 WindowsServicePackRequired=本安裝程式需要 %1 Service Pack %2 或更新。 NotOnThisPlatform=這個程式無法在 %1 執行。 OnlyOnThisPlatform=這個程式必須在 %1 執行。 OnlyOnTheseArchitectures=這個程式只能在專門為以下處理器架構而設計的 Windows 上安裝:%n%n%1 WinVersionTooLowError=這個程式必須在 %1 版本 %2 或以上的系統執行。 WinVersionTooHighError=這個程式無法安裝在 %1 版本 %2 或以上的系統。 AdminPrivilegesRequired=您必須登入成系統管理員以安裝這個程式。 PowerUserPrivilegesRequired=您必須登入成具有系統管理員或 Power User 權限的使用者以安裝這個程式。 SetupAppRunningError=安裝程式偵測到 %1 正在執行。%n%n請關閉該程式後按 「確定」 繼續,或按 「取消」 離開。 UninstallAppRunningError=解除安裝程式偵測到 %1 正在執行。%n%n請關閉該程式後按 「確定」 繼續,或按 「取消」 離開。 ; *** Startup questions PrivilegesRequiredOverrideTitle=選擇安裝程式安裝模式 PrivilegesRequiredOverrideInstruction=選擇安裝模式 PrivilegesRequiredOverrideText1=可以為所有使用者安裝 %1 (需要系統管理權限),或是僅為您安裝。 PrivilegesRequiredOverrideText2=可以僅為您安裝 %1,或是為所有使用者安裝 (需要系統管理權限)。 PrivilegesRequiredOverrideAllUsers=為所有使用者安裝 (&A) PrivilegesRequiredOverrideAllUsersRecommended=為所有使用者安裝 (建議選項) (&A) PrivilegesRequiredOverrideCurrentUser=僅為我安裝 (&M) PrivilegesRequiredOverrideCurrentUserRecommended=僅為我安裝 (建議選項) (&M) ; *** Misc. errors ErrorCreatingDir=安裝程式無法建立資料夾“%1”。 ErrorTooManyFilesInDir=無法在資料夾“%1”內建立檔案,因為資料夾內有太多的檔案。 ; *** Setup common messages ExitSetupTitle=結束安裝程式 ExitSetupMessage=安裝尚未完成。如果您現在結束安裝程式,這個程式將不會被安裝。%n%n您可以稍後再執行安裝程式以完成安裝程序。您現在要結束安裝程式嗎? AboutSetupMenuItem=關於安裝程式 (&A)... AboutSetupTitle=關於安裝程式 AboutSetupMessage=%1 版本 %2%n%3%n%n%1 網址:%n%4 AboutSetupNote= TranslatorNote= ; *** Buttons ButtonBack=< 上一步(&B) ButtonInstall=安裝(&I) ButtonNext=下一步(&N) > ButtonOK=確定 ButtonCancel=取消 ButtonYes=是(&Y) ButtonYesToAll=全部皆是 (&A) ButtonNo=否(&N) ButtonNoToAll=全部皆否 (&O) ButtonFinish=完成 (&F) ButtonBrowse=瀏覽 (&B)... ButtonWizardBrowse=瀏覽 (&R)... ButtonNewFolder=建立新資料夾 (&M) ; *** "Select Language" dialog messages SelectLanguageTitle=選擇安裝語言 SelectLanguageLabel=選擇在安裝過程中使用的語言: ; *** Common wizard text ClickNext=按 「下一步」 繼續安裝,或按 「取消」 結束安裝程式。 BeveledLabel= BrowseDialogTitle=瀏覽資料夾 BrowseDialogLabel=在下面的資料夾列表中選擇一個資料夾,然後按 「確定」。 NewFolderName=新資料夾 ; *** "Welcome" wizard page WelcomeLabel1=歡迎使用 [name] 安裝程式 WelcomeLabel2=這個安裝程式將會安裝 [name/ver] 到您的電腦。%n%n我們強烈建議您在安裝過程中關閉其它的應用程式,以避免與安裝程式發生沖突。 ; *** "Password" wizard page WizardPassword=密碼 PasswordLabel1=這個安裝程式具有密碼保護。 PasswordLabel3=請輸入密碼,然後按 「下一步」 繼續。密碼是區分大小寫的。 PasswordEditLabel=密碼 (&P): IncorrectPassword=您輸入的密碼不正確,請重新輸入。 ; *** "License Agreement" wizard page WizardLicense=授權合約 LicenseLabel=請閱讀以下授權合約。 LicenseLabel3=請閱讀以下授權合約,您必須接受合約的各項條款才能繼續安裝。 LicenseAccepted=我同意 (&A) LicenseNotAccepted=我不同意 (&D) ; *** "Information" wizard pages WizardInfoBefore=訊息 InfoBeforeLabel=在繼續安裝之前請閱讀以下重要資訊。 InfoBeforeClickLabel=當您準備好繼續安裝,請按 「下一步」。 WizardInfoAfter=訊息 InfoAfterLabel=在繼續安裝之前請閱讀以下重要資訊。 InfoAfterClickLabel=當您準備好繼續安裝,請按 「下一步」。 ; *** "User Information" wizard page WizardUserInfo=使用者資訊 UserInfoDesc=請輸入您的資料。 UserInfoName=使用者名稱(&U): UserInfoOrg=組織(&O): UserInfoSerial=序號(&S): UserInfoNameRequired=您必須輸入您的名稱。 ; *** "Select Destination Location" wizard page WizardSelectDir=選擇目的資料夾 SelectDirDesc=選擇安裝程式安裝 [name] 的位置。 SelectDirLabel3=安裝程式將會把 [name] 安裝到下面的資料夾。 SelectDirBrowseLabel=按 「下一步」 繼續,如果您想選擇另一個資料夾,請按 「瀏覽」。 DiskSpaceGBLabel=最少需要 [gb] GB 磁碟空間。 DiskSpaceMBLabel=最少需要 [mb] MB 磁碟空間。 CannotInstallToNetworkDrive=安裝程式無法安裝於網絡磁碟機。 CannotInstallToUNCPath=安裝程式無法安裝於 UNC 路徑。 InvalidPath=您必須輸入完整的路徑名稱及磁碟機代碼。%n%n例如 C:\App 或 UNC 路徑格式 \\伺服器\共用資料夾。 InvalidDrive=您選取的磁碟機或 UNC 名稱不存在或無法存取,請選擇其他的目的地。 DiskSpaceWarningTitle=磁碟空間不足 DiskSpaceWarning=安裝程式需要至少 %1 KB 的磁碟空間,您所選取的磁碟只有 %2 KB 可用空間。%n%n您要繼續安裝嗎? DirNameTooLong=資料夾名稱或路徑太長。 InvalidDirName=資料夾名稱不正確。 BadDirName32=資料夾名稱不得包含以下特殊字元:%n%n%1 DirExistsTitle=資料夾已經存在 DirExists=資料夾:%n%n%1%n%n 已經存在。仍要安裝到該資料夾嗎? DirDoesntExistTitle=資料夾不存在 DirDoesntExist=資料夾:%n%n%1%n%n 不存在。要建立該資料夾嗎? ; *** "Select Components" wizard page WizardSelectComponents=選擇元件 SelectComponentsDesc=選擇將會被安裝的元件。 SelectComponentsLabel2=選擇您想要安裝的元件;清除您不想安裝的元件。然後按 「下一步」 繼續安裝。 FullInstallation=完整安裝 ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=最小安裝 CustomInstallation=自訂安裝 NoUninstallWarningTitle=元件已存在 NoUninstallWarning=安裝程式偵測到以下元件已經安裝在您的電腦上:%n%n%1%n%n取消選擇這些元件將不會移除它們。%n%n您仍然要繼續嗎? ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceGBLabel=目前的選擇需要至少 [gb] GB 磁碟空間。 ComponentsDiskSpaceMBLabel=目前的選擇需要至少 [mb] MB 磁碟空間。 ; *** "Select Additional Tasks" wizard page WizardSelectTasks=選擇附加的工作 SelectTasksDesc=選擇要執行的附加工作。 SelectTasksLabel2=選擇安裝程式在安裝 [name] 時要執行的附加工作,然後按 「下一步」。 ; *** "Select Start Menu Folder" wizard page WizardSelectProgramGroup=選擇「開始」功能表的資料夾 SelectStartMenuFolderDesc=選擇安裝程式建立程式的捷徑的位置。 SelectStartMenuFolderLabel3=安裝程式將會把程式的捷徑建立在下面的「開始」功能表資料夾。 SelectStartMenuFolderBrowseLabel=按 「下一步」 繼續,如果您想選擇另一個資料夾,請按 「瀏覽」。 MustEnterGroupName=您必須輸入一個資料夾的名稱。 GroupNameTooLong=資料夾名稱或路徑太長。 InvalidGroupName=資料夾名稱不正確。 BadGroupName=資料夾名稱不得包含下列字元:%n%n%1 NoProgramGroupCheck2=不要在「開始」功能表中建立資料夾 (&D) ; *** "Ready to Install" wizard page WizardReady=準備安裝 ReadyLabel1=安裝程式將開始安裝 [name] 到您的電腦中。 ReadyLabel2a=按下 「安裝」 繼續安裝,或按 「上一步」 重新檢視或設定各選項的內容。 ReadyLabel2b=按下 「安裝」 繼續安裝。 ReadyMemoUserInfo=使用者資訊 ReadyMemoDir=目的資料夾: ReadyMemoType=安裝型態: ReadyMemoComponents=選擇的元件: ReadyMemoGroup=「開始」功能表資料夾: ReadyMemoTasks=附加工作: ; *** TDownloadWizardPage wizard page and DownloadTemporaryFile DownloadingLabel=正在下載額外檔案... ButtonStopDownload=停止下載 (&S) StopDownload=您確定要停止下載嗎? ErrorDownloadAborted=已停止下載 ErrorDownloadFailed=下載失敗: %1 %2 ErrorDownloadSizeFailed=取得檔案大小失敗: %1 %2 ErrorFileHash1=檔案雜湊失敗: %1 ErrorFileHash2=檔案雜湊無效: 必須為 %1,收到 %2 ErrorProgress=進度無效: %1 之 %2 ErrorFileSize=檔案大小無效: 必須為 %1,收到 %2 ; *** "Preparing to Install" wizard page WizardPreparing=準備安裝程式 PreparingDesc=安裝程式準備將 [name] 安裝到您的電腦上。 PreviousInstallNotCompleted=先前的安裝/ 解除安裝尚未完成,您必須重新啟動電腦以完成該安裝。%n%n在重新啟動電腦之後,請再執行這個程式來安裝 [name]。 CannotContinue=安裝程式無法繼續。請按 「取消」 離開。 ApplicationsFound=下面的應用程式正在使用安裝程式所需要更新的檔案。建議您允許安裝程式自動關閉這些應用程式。 ApplicationsFound2=下面的應用程式正在使用安裝程式所需要更新的檔案。建議您允許安裝程式自動關閉這些應用程式。當安裝過程結束後,本安裝程式將會嘗試重新開啟該應用程式。 CloseApplications=關閉應用程式 (&A) DontCloseApplications=不要關閉應用程式 (&D) ErrorCloseApplications=安裝程式無法自動關閉所有應用程式。建議您在繼續前先關閉所有應用程式使用的檔案。 PrepareToInstallNeedsRestart=安裝程式必須重新啟動您的電腦。重新啟動後,請再次執行安裝程式以完成 [name] 的安裝。%n%n您想要現在重新啟動電腦嗎? ; *** "Installing" wizard page WizardInstalling=正在安裝 InstallingLabel=請稍候,安裝程式正在將 [name] 安裝到您的電腦上 ; *** "Setup Completed" wizard page FinishedHeadingLabel=安裝完成 FinishedLabelNoIcons=安裝程式已經將 [name] 安裝在您的電腦上。 FinishedLabel=安裝程式已經將 [name] 安裝在您的電腦中,您可以選擇程式的圖示來執行該應用程式。 ClickFinish=按 「完成」 以結束安裝程式。 FinishedRestartLabel=要完成 [name] 的安裝,安裝程式必須重新啟動您的電腦。您想要現在重新啟動電腦嗎? FinishedRestartMessage=要完成 [name] 的安裝,安裝程式必須重新啟動您的電腦。%n%n您想要現在重新啟動電腦嗎? ShowReadmeCheck=是,我要閱讀讀我檔案。 YesRadio=是,立即重新啟動電腦(&Y) NoRadio=否,我稍後重新啟動電腦(&N) ; used for example as 'Run MyProg.exe' RunEntryExec=執行 %1 ; used for example as 'View Readme.txt' RunEntryShellExec=檢視 %1 ; *** "Setup Needs the Next Disk" ChangeDiskTitle=安裝程式需要下一張磁片 SelectDiskLabel2=請插入磁片 %1,然後按 「確定」。%n%n如果檔案不在以下所顯示的資料夾之中,請輸入正確的資料夾名稱或按 [瀏覽] 選取。 PathLabel=路徑(&P): FileNotInDir2=檔案“%1”無法在“%2”找到。請插入正確的磁片或選擇其它的資料夾。 SelectDirectoryLabel=請指定下一張磁片的位置。 ; *** Installation phase messages SetupAborted=安裝沒有完成。%n%n請更正問題後重新安裝一次。 AbortRetryIgnoreSelectAction=選取動作 AbortRetryIgnoreRetry=請再試一次 (&T) AbortRetryIgnoreIgnore=略過錯誤並繼續 (&I) AbortRetryIgnoreCancel=取消安裝 ; *** Installation status messages StatusClosingApplications=正在關閉應用程式... StatusCreateDirs=正在建立資料夾... StatusExtractFiles=正在解壓縮檔案... StatusCreateIcons=正在建立程式集圖示... StatusCreateIniEntries=寫入 INI 檔案的項目... StatusCreateRegistryEntries=正在更新系統登錄... StatusRegisterFiles=正在登錄檔案... StatusSavingUninstall=儲存解除安裝資訊... StatusRunProgram=正在完成安裝... StatusRestartingApplications=正在重新開啟應用程式... StatusRollback=正在復原變更... ; *** Misc. errors ErrorInternal2=內部錯誤: %1 ErrorFunctionFailedNoCode=%1 失敗 ErrorFunctionFailed=%1 失敗;代碼 %2 ErrorFunctionFailedWithMessage=%1 失敗;代碼 %2.%n%3 ErrorExecutingProgram=無法執行檔案:%n%1 ; *** Registry errors ErrorRegOpenKey=無法開啟登錄鍵:%n%1\%2 ErrorRegCreateKey=無法建立登錄項目:%n%1\%2 ErrorRegWriteKey=無法變更登錄項目:%n%1\%2 ; *** INI errors ErrorIniEntry=在檔案“%1”建立 INI 項目錯誤。 ; *** File copying errors FileAbortRetryIgnoreSkipNotRecommended=略過這個檔案 (不建議) (&S) FileAbortRetryIgnoreIgnoreNotRecommended=略過錯誤並繼續 (不建議) (&I) SourceDoesntExist=來源檔案“%1”不存在。 SourceIsCorrupted=來源檔案已經損毀。 ExistingFileReadOnly2=無法取代現有檔案,因為檔案已標示為唯讀。 ExistingFileReadOnlyRetry=移除唯讀屬性並重試 (&R) ExistingFileReadOnlyKeepExisting=保留現有檔案 (&K) ErrorReadingExistingDest=讀取一個已存在的檔案時發生錯誤: FileExistsSelectAction=選擇操作 FileExists2=檔案已存在。 FileExistsOverwriteExisting=覆寫現有檔案 FileExistsKeepExisting=保留現有檔案 (&O) FileExistsOverwriteOrKeepAll=對下次衝突執行相同操作 (&D) ExistingFileNewerSelectAction=選擇操作 ExistingFileNewer2=現有檔案比安裝程式嘗試安裝的檔案還新。 ExistingFileNewerOverwriteExisting=覆寫現有檔案 (&O) ExistingFileNewerKeepExisting=保留現有檔案 (&K) (建議選項) ExistingFileNewerOverwriteOrKeepAll=對下次衝突執行相同操作 (&D) ErrorChangingAttr=在變更檔案屬性時發生錯誤: ErrorCreatingTemp=在目的資料夾中建立檔案時發生錯誤: ErrorReadingSource=讀取原始檔案時發生錯誤: ErrorCopying=複製檔案時發生錯誤: ErrorReplacingExistingFile=取代檔案時發生錯誤: ErrorRestartReplace=重新啟動電腦後取代檔案失敗: ErrorRenamingTemp=在目的資料夾變更檔案名稱時發生錯誤: ErrorRegisterServer=無法注冊 DLL/OCX 檔案: %1。 ErrorRegSvr32Failed=RegSvr32 失敗;退出代碼 %1 ErrorRegisterTypeLib=無法注冊類型庫: %1。 ; *** Uninstall display name markings ; used for example as 'My Program (32-bit)' UninstallDisplayNameMark=%1 (%2) ; used for example as 'My Program (32-bit, All users)' UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32 位元 UninstallDisplayNameMark64Bit=64 位元 UninstallDisplayNameMarkAllUsers=所有使用者 UninstallDisplayNameMarkCurrentUser=目前使用者 ; *** Post-installation errors ErrorOpeningReadme=開啟讀我檔案時發生錯誤。 ErrorRestartingComputer=安裝程式無法重新啟動電腦,請自行重新啟動。 ; *** Uninstaller messages UninstallNotFound=檔案“%1”不存在,無法解除安裝。 UninstallOpenError=無法開啟檔案“%1”,無法解除安裝 UninstallUnsupportedVer=這個版本的解除安裝程式無法辨識記錄檔 “%1” 之格式,無法解除安裝。 UninstallUnknownEntry=解除安裝記錄檔中發現未知的記錄 (%1)。 ConfirmUninstall=您確定要完全移除 %1 及其相關的檔案嗎? UninstallOnlyOnWin64=這個程式只能在 64 位元的 Windows 上解除安裝。 OnlyAdminCanUninstall=這個程式要具備系統管理員權限的使用者方可解除安裝。 UninstallStatusLabel=正在從您的電腦移除 %1 中,請稍候... UninstalledAll=%1 已經成功從您的電腦中移除。 UninstalledMost=%1 解除安裝完成。%n%n某些檔案及元件無法移除,您可以自行刪除這些檔案。 UninstalledAndNeedsRestart=要完成 %1 的解除安裝程序,您必須重新啟動電腦。%n%n您想要現在重新啟動電腦嗎? UninstallDataCorrupted=檔案“%1”已經損毀,無法解除安裝 ; *** Uninstallation phase messages ConfirmDeleteSharedFileTitle=移除共用檔案 ConfirmDeleteSharedFile2=系統顯示下列共用檔案已不再被任何程式所使用,您要移除這些檔案嗎?%n%n%1%n%n倘若您移除了以上檔案但仍有程式需要使用它們,將造成這些程式無法正常執行,因此您若無法確定請選擇 [否]。保留這些檔案在您的系統中不會造成任何損害。 SharedFileNameLabel=檔案名稱: SharedFileLocationLabel=位置: WizardUninstalling=解除安裝狀態 StatusUninstalling=正在解除安裝 %1... ; *** Shutdown block reasons ShutdownBlockReasonInstallingApp=正在安裝 %1。 ShutdownBlockReasonUninstallingApp=正在解除安裝 %1。 ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 版本 %2 AdditionalIcons=附加圖示: CreateDesktopIcon=建立桌面圖示(&D) CreateQuickLaunchIcon=建立快速啟動圖示(&Q) ProgramOnTheWeb=%1 的網站 UninstallProgram=解除安裝 %1 LaunchProgram=啟動 %1 AssocFileExtension=將 %1 與檔案副檔名 %2 產生關聯(&A) AssocingFileExtension=正在將 %1 與檔案副檔名 %2 產生關聯... AutoStartProgramGroupDescription=開啟: AutoStartProgram=自動開啟 %1 AddonHostProgramNotFound=%1 無法在您所選的資料夾中找到。%n%n您是否還要繼續?survex-1.4.17/lib/ro.po0000664000175000017500000027771414766623454010414 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Fişier" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotire" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientare" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Vizualizare" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Controale" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Ajutor" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Prezentare" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Folosire" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Memorie insuficienta" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Memorie insuficienta (nu am putut gasi %lu bytes)" #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Memorie insuficienta: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Este necesara versiunea Survex %s sau superioara pentru procesarea acestor date" #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "avertisment" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "eroare" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "In fişierul inclus de %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix contine eroare - folositi in schimb *begin si *end" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Folosirea caracterului “%c” in numele statiei, nu este permisa (folositi *SET NAMES pentru a modifica lista de caractere)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Aceasta rubrica nu poate fi omisa" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Se asteapta camp numeric, s-a gasit “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "S-a gasit “%s”, se astepta “PRESERVE”, “TOUPPER” sau “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Eroare de program! Va rugam anuntati autorii" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Comanda necunoscuta “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Statia “%s” este egala cu ea insasi" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Valoarea azimutului poate fi omisa doar in cazul vizelor verticale" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Distanta nu poate fi omisa" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Sfarsitul liniei nu este gol" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Au fost %d avertismente." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Executarea comenzii “%s” a eșuat" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Eroare in citirea fişierului" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Prea multe erori - proces intrerupt" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT nu mai este folosit - folositi in schimb *CALIBRATE/DATA/SD/UNITS cu argumentul DEFAULT" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Citire a busolei la o masuratoare verticala" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s nu are un corespondent %s in acest fişier" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Punctul de statie “%s” nu a fost exportat din masuratoarea “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” nu poate fi acelasi timp punct de statie si denumire de masuratoare" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Lipseste numele punctului de statie" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "S-a gasit “%s” in loc de “EQUATES”, “EXPORTS”, sau “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "S-a gasit “%s” in loc de “ON” sau “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Doar un punct de statie in comanda EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Cantitate necunoscuta “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unitati necunoscute “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "BEGIN nu are nici un prefix corespondent" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unitate incorecta “%s” pentru cantitate" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrument necunoscut “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Raportul scarii trebuie sa fie 1.0 pentru DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Raportul scarii trebuie sa fie diferit de zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Parametru necunoscut “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Clasa de caractere necunoscuta “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Lipsesc masuratorile topografice" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Fişierul “%s” este un director" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Topografia nu este complet conectata la puncte fixate" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Punct de statie deja fixat sau echivalat cu un punct fix" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Nu este posibila deschiderea fişierului “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Deviatia standard trebuie sa fie pozitiva" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Masuratoare cu acelasi punct (“%s”) la ambele capete - eroare de transcriere?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Valoare a clinometrului peste %.f%s (valoare absoluta)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tentativa de egalizare a doua puncte de statie fixe diferite: “%s” si “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Egalizare a doua puncte de statie identice “%s” si “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Comanda FIX fara coordonate - se atribuie (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Punct de statie deja fixat cu aceleasi coordonate" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Mai mult de o comanda FIX fara coordonate: “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT trebuie sa urmeze dupa “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "An gresit (< 1900 or > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "An gresit" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Azimut suspect" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Distanta negativa" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Acelasi punct de statie fixat de doua ori fara coordonate" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Distanta este mai mica decat difeneta de nivel" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Datele “%s” nu sunt permise in campul de date “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Lipsesc date pentru campul de date “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Tipul de date “%s” necunoscut" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Punctul de statie “%s” este deja exportat" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Campul “%s” duplicat" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” necunoscut" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Lipseste \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Punctul de statie “%s” are o referinta unica, cu un prefix explicit - eroare de scriere?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Urmatoarele puncte de statie nu sunt atasate unui punct fixat" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Topografia nu contine puncte fixate. Am fixat %s ca (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Punct fix nefolosit “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Rezolv %d ecuatii simultane" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Valoarea “%s” dubleaza campul/campurile precedent/e" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Rezolv o ecuatie" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Distanta corectata negativ" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Data se gaseste in viitor!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Data finala este anterioara datei de inceput" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Citirile CLINO si BACKCLINO trebuie sa fie de acelasi tip." #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Luna incorecta" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Zi incorecta" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Se asteapta o denumire de topografie" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Nu am putut deschide fişierul “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Nu a putut fi scris fişierul “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Folosirea ulterioara a acestei facilitate dezaprobată nu va fi semnalata" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Lectura TAPE si BACKTAPE nu concorda cu %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Lectura COMPASS si BACKCOMPASS nu concorda cu %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Lectura CLINO si BACKCLINO nu concorda cu %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” nu este agreata - folositi “*data %s …” in loc" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Fişier imagine 3d “%s” gresit" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Data si ora nu sunt disponibile." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Eroare in citirea fişierului “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Eroare in scrierea fişierului “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Eroare in scrierea fişierului" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Au fost %d avertisment(e) si %d eroare(erori) - nu s-a generat nici un fişier." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Fişierul “%s” are un format prea nou pe care acest program nu il poate intelege" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Nord" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Profil in directia" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Plan" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "P&rofil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Profil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Plan" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calculez statisticile" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Camp de caractere asteptat" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "Parametrii insuficienti" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "Prea multi parametrii" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FISIER" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Elimin traversele terminale" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Leg traversele" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calculez traversele" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calculez traversele terminale" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplific reteaua" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calculez reteaua" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Am gasit “%s”, asteptam “F” sau “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Lungimea totala a masuratorilor topografiei = %7.2f%s (%7.2f%s ajustat)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Lungimea totala in plan a masuratorilor topografiei = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Lungimea totala verticala a masuratorilor topografiei = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Interval vertical = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extindere Nord-Sud = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extindere Est-Vest = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Este 1 inchidere." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Sunt %ld inchideri." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Timp CPU folosit %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Timp utilizat %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Timp utilizat indisponibil" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Timp utilizat %5.2fs (timp CPU %5.2fs)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Lungimea originala %6.2fm (%3d legs), ajustata %6.2fm (%5.2fm/masuratoare). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Eroare %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Eroare N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "afişează acest mesaj şi termină" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "afişează informaţii despre versiune şi termină" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPŢIUNE" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Scara" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Încercaţi “%s --help” pentru informaclţii suplimentare.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Procesat in %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, fuzzy, c-format msgid "Extended 1:%.0f" msgstr "Profil longitudinal 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Profil longitudinal" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Topografia contine 1 punct de statie," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Topografia contine %ld puncte de statie," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " unite printr-o masuratoare." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " unite prin %ld masuratori." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nod" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "noduri" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Topografia contine %ld componente conexe." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Salvează jurnalul" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argumentul numeric “%s” in afara intervalului acceptat" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argumentul “%s” nu este un intreg" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argumentul “%s” nu este un numar" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Astept “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Astept “%s” sau “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Astept “%s”, “%s”, sau “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Astept “%s”, “%s”, “%s” sau “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Punctul de statie “%s” a fost definit ca *%s dar nu a fost folost" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Lipseste %s corespunzator" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Prefixul nu corespunde cu cel al lui BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Prefixul de incheiere omis in END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Est (X), Nord (Y), Altitudine Z )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr "" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Date asteptate, “%s” gasit" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "incarcati doar sub-topografia cu prefixul" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Factorul *UNITS trebuie sa fie diferit de zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Nu exista date de topografie in fişierul 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Directie" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Despre %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Selectati un model digital al terenului pentru vizualizare" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Model digital al terenului" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 #, fuzzy msgid "Select a survey file to view" msgstr "Selectati un fişier 3d pentru vizualizare" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Fişier Survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Toate fişierele" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Fişier Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Fişier Compass MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Fişier Compass DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Fişier Compass CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Fişier CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Fişier DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Fişier EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Fişier GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Fişier KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Fişier SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Fişier JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Fişiere jurnalul" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Utilitar pentru vizualizarea topografiei" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Acest program este liber; îl puteţi redistribui şi/sau modifica în conformitate cu termenii Licenţei Publice Generale GNU aşa cum este publicată de Free Software Foundation; fie versiunea 2 Licenţei, fie (la latitudinea dumneavoastră) orice versiune ulterioară." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Fără dată" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE nu poate fi prima lectura" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE nu poate fi ultima lectura" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Lectura pe mai multe randuri, dar nici o NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Lectura “%s” trebuie sa preceada NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "en:226 NEWLINE poate fi precedat doar de STATION, DEPTH, si COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Nu pot calibra unghiurile verticale si lungimile in acelasi timp" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exporta..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "&Auto-rotatie\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Schimba directia" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Vizualizare spre &Nord" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Vizualizare spre &Est" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Vizualizare spre &Sud" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Vizualizare spre &Vest" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Plan" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Profi&l" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Restabiliti setarile initiale" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vizualizare" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elemente" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d pagini (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "O pagina" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Numele punctelor de statie" #: ../src/survexport.cc:147 #: n:475 #, fuzzy msgid "station labels" msgstr "numele punctelor de statie" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Cruci" #: ../src/survexport.cc:146 #: n:474 #, fuzzy msgid "station markers" msgstr "cruci" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Portiuni subterane ale topografiei" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "portiuni subterane ale topografiei" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Sectiuni transversale" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "sectiuni transversale" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Pereti" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "pereti" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Pasaje" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "pasaje" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Unghi de inclinatie" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Limite pagina" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legendă" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Document nou" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Numele punctelor de statie\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Pasaje &Tub\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Cruci\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grid\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "Cadr&u\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Portiuni subterane ale topografiei\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Portiuni de &suprafata ale topografiei\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "portiuni de suprafata ale topografiei" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nu&me suprapuse" #: ../src/mainfrm.cc:873 #: n:450 #, fuzzy msgid "Co&lour by" msgstr "Colour by (&q)" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Marcheaza &Intrarile" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Marcheaza Punctele &Fixe" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Marc&heaza Punctele Exportate" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Intrarile" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "intrarile" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Punctele Fixe" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "punctele fixe" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Punctele Exportate" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "punctele exportate" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Perspecti&va" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Pereti cu te&xtura" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "&Obiecte indepartate neclare" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Elementele topografiei &rotunjite" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Afisare pe tot ecranu&l\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Culori in functie de &adancime" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Culori in functie de &Data" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Culori in functie de &Eroare" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Culori in functie de &Lungimea" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Culori in functie de &Topografia" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Busolă" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Clinometru" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Bara de control a &scarii" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Schimbati sensul\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Anulati linia de masura\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicatorii" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: opţiunea “%s” este ambiguă\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: opţiunea “%c%s” nu permite un argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: opţiunea “--%s” nu permite un argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: opţiunea “%s” necesită un argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opţiunea necesită un argument -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: opţiune nerecunoscută “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: opţiune nerecunoscută “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opţiune invalidă -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "Prezentare &noua" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Deschidere prezentare..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Salvare Prezentare" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Salvare Prezentare &ca..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Marcheaza" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Vizualizeaza" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exporta ca Animatie..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Selectati un fişier pentru iesire" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Prezentare Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Salvare captura de ecran" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Deschidere prezentare" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Eroare in formatul fişierului prezentare “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Fişier Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Fişier CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Prezentare Modificata" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Prezentarea curenta a fost modificata. Se abandoneaza schimbarile nesalvate?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nici un element nua fost gasit." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Găseşte" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altitudine" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Puteti vizualiza doar un fişier 3d odata" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Cadran lateral" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f E, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "De la %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Azim %03.1f%s, Gradient %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metric" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Grade" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Procent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 #, fuzzy msgid "&Hide Compass" msgstr "&Ascunde Busolă" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 #, fuzzy msgid "&Hide Clino" msgstr "&Ascunde Clinometru" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 #, fuzzy msgid "&Hide scale bar" msgstr "&Ascunde bara de control a &scarii" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, fuzzy, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, fuzzy, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Masuratori" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Prezentare" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Arată tot" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Ascunde restul" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Est" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Nord" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Deschide...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Deschidere &Model Teren..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Arăta &jurnalul" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Imprimare...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "Initializare &pagina..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Captura ecran..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Pro&fil Longitudinal..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exporta ca..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exporta ca:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exporta" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informatii despre Sistem:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Vizualizare inaintea imprimarii" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Imprimare" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Imprimare..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "&Portiuni de suprafata ale topografiei" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Timp: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "" #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 #, fuzzy msgid "Spla&y Legs" msgstr "Splay Legs (&z)" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Ascunde" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "A&răta" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Se citesc datele - va rog asteptati…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Nu s-a gasit punctul de statie %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Nu s-a gasit masuratoarea %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Incepind cu punctul de statie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Extindere spre stanga incepind cu punctul de statie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Extindere spre dreapta incepind cu punctul de statie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Extindere spre stanga incepind cu masuratoarea %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Extindere spre drepta incepind cu masuratoarea %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Topografia intrerupta incepind cu punctul de statie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Topografia intrerupta incepind cu masuratoarea %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Schimbare directie desen incepind cu punctul de statie %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Schimbare directie desen incepind cu masuratoarea %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Aplicare fişier de specificatii: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Scriere %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Lectura fişierului .err nu a putut fi realizata" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Mutat cu (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Adaugat: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Eliminat: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "Reintroducerea unui prefix deja existent nu este recomandata" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Introdus aici in original" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT nu se recomanda" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Eroare in formatul fisireului de font “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Suprafata S&olida" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d gasit" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferinte..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Deseneaza peretii" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimeaza masuratorile SDSJ pe baze euristice" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Marcheaza punctele de statie cu cruci" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Evidentiaza punctele de statie selectate ca intrari" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Evidentiaza punctele de statie selectate ca puncte fixe" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Evidentiaza punctele de statie care sunt exportate" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Marcheaza punctele de statie cu numele lor" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permite suprapunerea numelor (mai rapid)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Afisare masuratori subterane" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Afisare masuratori de suprafata" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Colorare masuratori suprafata in functie de altitudine" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Deseneaza masuratorile de suprafata cu linie intrerupta" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Afiseaza un grid" #: n:362 #~ msgid "metric units" #~ msgstr "Metri" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unitati masura englezesti" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "grade sexagesimale (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grade zecimale" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Afisare distante in" #: n:367 #~ msgid "Display angles in" #~ msgstr "Afisare unghiuri in" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Schimba sensul butoanelor de control" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Afiseaza scara" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Afiseaza scara de adancime" #: n:371 #~ msgid "Display compass" #~ msgstr "Afiseaza busolă" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Afiseaza clinometrul" #: n:373 #~ msgid "Display side panel" #~ msgstr "Afiseaza casuta laterala" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/sk.po0000664000175000017500000030232514766623454010374 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-16 03:17:10 +0000\n" "Last-Translator: Martin Sluka \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Súbor" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotácia" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientácia" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Pohľad" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "O&vládanie" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "Pomocní&k" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "Pre&zentácia" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Použitie" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Nedostatok pamäte" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Nedostatok pamäte (chýba %lu bytov)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Nedostatočná pamäť: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Pre spracovanie týchto dát je potrebná verzia Survexu %s alebo novšia." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "varovanie" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "chyba" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "V súbore vloženom z %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix bol odmietnutý - použijte namiesto toho *begin a *end" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Znak “%c” v mene bodu nie je povolený (použijte *SET NAMES pre nastavenie povolených znakov)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Pole by nemalo zostať nevyplnené" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "predpokladá sa numerické pole, zistené “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Zistené “%s”, predpokladá sa “PRESERVE”, “TOUPPER” alebo “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Zistená chyba programu! Prosíme, dajte to na vedomie autorom" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Neznámy príkaz “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Bod “%s” je totožný sám so sebou" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Nemalo by chýbať čítanie kompasu pokiaľ nejde o vertikálnu zámeru" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Koniec riadku obsahuje nepatričný znak" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Celkom bolo zaznamenaných %d varovaní." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Vykonávanie príkazu “%s” zlyhalo" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Chyba pri čítaní súboru" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Príliš mnoho chýb, koniec" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT bol odmietnutý - použijte namiesto toho *CALIBRATE/DATA/SD/UNITS s argumentom DEFAULT" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Pri vertikálnej zámere bol zadaný azimut" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "V tomto súbore sa vyskytlo %s bez odpovadajúceho %s" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Bod “%s” nebol exportovaný z merania (survey) “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Odkaz na bod “%s” z neexistujúceho survey “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” nemôže byť súčasne bodom i meraním (survey)" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Predpokladá sa meno bodu" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Zistené “%s”, predpokladané “EQUATES”, “EXPORTS” alebo “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Zistené “%s”, predpokladané “ON” alebo “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "V zozname EQUATE zistený iba jeden bod" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Neznáma hodnota “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Neznáma jednotka “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "Odpovedajúci tag BEGIN nemá prefix" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Nesprávna jednotka “%s” pre hodnotu" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Neznáma pomôcka “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Prepočítací faktor pre DECLINATION musí byť 1.0" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Prepočítací faktor musí byť nenulový" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Neznáme nastavenie “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Neznáma trieda charakteru “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Chýbajú údaje z merania" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Meno súboru “%s” odpovedá adresáru" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Časti merania nie sú pripojené na fixné body" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Bod je už fixný alebo je totožný s fixným bodom" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Zlyhal pokus o otvorenie výstupného súboru “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Štandardná ochylka musí byť pozitívna" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Zámera s tým istým bodom (“%s”) na oboch koncoch - preklep?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Absolútna hodnota sklonu väčšia ako %.f%s" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Pokus o ztotožnenie dvoch rôznych fixných bodov “%s” a “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Ztotožnenie dvoch identických fixných bodov “%s” a “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Príkaz FIX bez odpovedajúcich súradníc - priradené (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Bod už bol fixovaný s tými istými súradnicami" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Viac ako jeden príkaz FIX bez súradníc: “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT musí bezprostredne nasledovať “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Neplatný rok (< 1900 alebo > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Neplatný rok" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Podozrivé čítanie kompasu" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Záporný dļžkový údaj" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Niektorý z bodov bol fixovaný dvakrát bez súradníc" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Dļžkový údaj je menší ako výškový rozdiel" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Hodnota “%s” nie je povolená v type dát “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Príliš málo údajov pre typ dát “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Neznámy typ dát “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Bod “%s” už bol vyexportovaný" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Duplicitná hodnota “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” je neznámy" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Chýba \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Bod “%s” použitý iba raz s explicitným prefixom - preklep?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Nasledujúci body nie sú pripojené na fixný bod" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Meranie (survey) nemá fixné body. Preto bude fixovaný %s so súradnicami (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Nepoužitý fixný bod “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Rieši sa %d simultánnych rovníc" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Údaj “%s” duplikuje predchádzajúci údaj/e" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Rieši sa jedna rovnica" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Záporná nastavená vzdialenosť" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Dátum je v budúcnosti!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Posledný dátum je pred prvým" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Priečny rez definovaný na neexistujúcom bode “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Hodnoty CLINO a BACKCLINO musí byť toho istého typu" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Nesprávny mesiac" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Tento deň v tomto mesiaci neexistuje" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Sú podporované 3D formáty súborov %d až %d" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Predpokladá sa názov survey" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Nie je možné otvoriť súbor “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Súbor “%s” sa nedá zapísať" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Nie je možné vytvoriť dočasný súbor" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Ďalšie použitia zamietnutej fukcie nebudú zaznamenané" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Hodnoty TAPE a BACKTAPE sa líši o %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Hodnoty COMPASS a BACKCOMPASS sa líši o %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Hodnoty CLINO a BACKCLINO sa líši o %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” boly zamietnuté - použijte “*data %s …” namiesto toho" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Nesprávny 3D obrazový súbor “%s”" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Dátum a čas nie sú dostupné" #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Chyba pri čítaní zo súboru “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Chyba pri zápise do súboru “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Chyba pri zápise do súboru" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Vyskytlo sa %d varovaní a %d chýb - nebol vytvorený výstupný súbor." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Súbor “%s” má novší formát, než je tento program schopný zpracovať" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Sever" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Profil v smere" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Pôdorys" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "P&rofil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Profil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Pôdorys" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Počíta sa štatistika" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Predpokladá sa textové pole" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "Príliš málo argumentov" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "Príliš mnoho argumentov" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "SÚBOR" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Odstránenie slepých odbočiek" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Pripojenie spojok" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Výpočet spojok" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Výpočet koncových spojok" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Zjednodušenie siete" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Výpočet siete" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Nájdené “%s”, očakávané “F” alebo “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Celková dļžka zámer = %7.2f%s (%7.2f%s nastavené)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Celková pôdorysná dļžka zámer %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Celková vertikálna dļžka zámer %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Vertikálny rozsah = %4.2f%s (od %s v %4.2f%s do %s v %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rozsah sever-juh = %4.2f%s (od %s od %4.2f%s do %s do %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Rozsah východ-západ = %4.2f%s (od %s od %4.2f%s do %s do %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Jeden uzavretý polygón." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "%ld uzavretých polygónov." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Využitý čas CPU %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Celkový čas %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Celkový čas - nedostupný" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Celkový čas %5.2fs (%5.2fs času CPU)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Pôvodná dļžka %6.2fm (%3d zámer), redukovaná %6.2fm (%5.2fm/zámeru). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Chyba %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Chyba (nemá zmysel)" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "zobraziť túto nápovedu a skončiť" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "zobraziť informáciu o verzii a skončiť" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPTION" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Merítko" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Viac informácií získate príkazom “%s --help”.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Zpracované od stránky %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Mapa, %s v hlavičke" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Bočný pohľad v smere %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Bočný pohľad v smere %s, pootočený o %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Rozvinutý rez" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Meranie (survey) obsahuje jediný bod," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Meranie (survey) obsahuje %ld bodov," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " spojených 1 zámerou." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " spojených %ld zámerami." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "uzol" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "uzly" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Meranie (survey) má %ld spojených častí." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Uložiť Záznam" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Spracuj dáta znova" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "číselný argument “%s” mimo rozsah" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argument “%s” nie je integer" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argument “%s” nie je číslo" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Predpokladá sa “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Predpokladá sa “%s” alebo “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Predpokladá sa “%s”, “%s”, alebo “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Predpokladá sa “%s”, “%s”, “%s”, alebo “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Bod “%s” sa uvádza ako *%s ale nebol použitý" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Chýba odpovedajúce %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Prefix tag neodpovedá BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Koncový prefix chýba v END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( východ, sever, výška )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Rozsah zobrazenia %d v bitoch na pixel)" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (pre farbu)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Predpokladá sa čas, najdené “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "s prefixom sa natiahla iba časť merania" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "vytlač a ukonči (vyžaduje 3D súbor)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "urči miesto pre uloženie výstupných súborov" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "zobraz iba krátku správu (-qq iba pre chyby)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "nedá sa vytvoriť súbor s chybami" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "zmena varovania na chyby" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "zápis výstupu do súboru .log" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "ktorú verziu 3d súboru použiť pre výstup" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "*UNITS faktor musí byť nenulový" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "V 3d súbore “%s” nie sú údaje" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Smer" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "O %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Vyber súbor s povrchom k zobrazeniu" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Súbory s povrchom" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Vyber súbor s meraním (survey)" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "3D súbory Survex" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Všetky súbory" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Všetky súbory s meraním" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Súbory svx Survexu" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Súbory MAK pre Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Súbory DAT pre Compass" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Súbory CLP pre Compass" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Súbory CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Súbory DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Súbory EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Súbory GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "Súbory HPGL pre plotry" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Súbory KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Súbory Compass PLT pre použitie v prog. Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Súbory pos Survexu" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Súbory SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Súbory JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Vizualizácia polygónu" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Tento program je volný software; můžete jej šířit a modifikovat podle ustanovení Obecné veřejné licence GNU, vydávané Free Software Foundation; a to buď verze 2 této licence anebo (podle vašeho uvážení) kterékoli pozdější verze." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FILE1 FILE2 [THRESHOLD]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "FILE1 a FILE2 môžu byť súbory .pos alebo .3d\nTHRESHOLD je max. ignorovateľná zmena pozdĺž ktorejkoľvek osi v metroch (defaultne %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "INPUT_FILE [OUTPUT_3D_FILE]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR_FILE [HOW_MANY]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[SURVEY_FILE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "[SURVEY_DATA_FILE]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Bez dátumu" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Nie je súčasťou uzavretého ťahu" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE nemôže byť prvý údaj" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE nemôže byť posledný údaj" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Vložené údaje, ale nie NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Údaj “%s” musí predchádzať NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE môže byť zpracované iba pri STATION, DEPTH, a COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Nie je možné nakalibrovať uhlovýé a dļžkové údaje naraz" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s záznam chýb" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Export..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "&Autorotácia\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Otočiť rotáciu" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Pohľad na &sever" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Pohľad na &východ" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Pohľad na &juh" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Pohľad na &západ" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Pôdorys" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "R&ez" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Obnovenie východzieho pohľadu" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Pohľad na" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Objekty" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d stránok (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Jednu stránku" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Mená bodov" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "popisky bodov" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Krížiky" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "symboly bodov" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Zámery pod povrchom" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "zámery pod povrchom" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Steny" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "steny" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Chodby" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "chodby" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Prichytiť na zem" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "prichytiť na zem" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Náklon" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Rámček" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Popiska" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Prázdne stránky" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Mená bodov\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Chodby &rúrovité\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 #, fuzzy msgid "Terr&ain" msgstr "Terra&in" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Krížiky\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Sieť\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Ohraničenie\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Zámery &pod povrchom\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Zámery &na povrchu\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "zámery na povrchu" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Pr&ekrývajúce sa mená" #: ../src/mainfrm.cc:873 #: n:450 #, fuzzy msgid "Co&lour by" msgstr "Colo&ur by" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Zvýrazniť &vchody" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Zvýrazniť &fixné body" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Zvýrazniť e&xportované body" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Vchody" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "vchody" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Fixné body" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "fixné body" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Exportované body" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "exportované body" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Perspektív&a" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "&Texturované steny" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Hm&listý opar" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "V&yrovnané zámery" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Celoobrazovkový režim\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Farba podľa &hļbky" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Farba podľa &dátumu" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Farba podľa &chyby" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 #, fuzzy msgid "Colour by &Horizontal Error" msgstr "Farba podľa hori&zontálnej chyby" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 #, fuzzy msgid "Colour by &Vertical Error" msgstr "Farba podľa &vertikálnej chyby" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Farba podľa dļž&ka" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Farba podľa &merania" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompas" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Sklonomer" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "Priradenie &Farieb" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Merítko" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "Obrátený sme&r\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Zrušit líniu meraní\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "Indiká&tory" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: možnosť “%s” je dvojznačná\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: možnosť “%c%s” neumožňuje argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: možnosť “--%s” neumožňuje argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: možnosť “%s” vyžaduje argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: možnosť vyžaduje argument -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: nerozpoznaná možnosť “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: nerozpoznaná možnosť “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: nesprávna možnosť -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nová prezentácia" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Otvoriť prezentáciu..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Ulož prezentáciu" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Ulož prezentáciu a&ko..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Zvýrazni" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Prehrať" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Vyexportuj ako film..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "vygeneruj film" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Zvoliť meno výstupného súboru" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Prezentácie programu Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Uložiť otlačok obrazovky" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Vybrať prezentáciu pre otvorenie" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Chyba vo formáte prezentačného súboru “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Súbory Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Súbory CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Upravená prezentácia" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Prezentácia bola zmenená. Nechcete radšej uožiť zmeny?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Neúspešné hľadanie." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Hľadať" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Nadmorská výška" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Môžete prehliadať iba jeden 3D súbor" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Postranný panel" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f V, %.2f S" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Od %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Vzd %.2f%s, Azim %03.1f%s, Sklon %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metricky" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Stupne" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 #, fuzzy msgid "&Percent" msgstr "P&ercent" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&skryť azimut" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&skryť sklon" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&skryť mierku" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&skryť popis farieb" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Merania" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Zobrazenie" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Zobraziť všetky" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Skryť ostatné" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "východ" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "sever" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Otvoriť...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Otvoriť &digitálny model terénu..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Zobraziť &záznam" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Tlačiť...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Nastavení tisku..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "Otlačok o&brazovky..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "&Rozvinutý Rez..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Export ako..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exportuj ako:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Export" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informácie o systéme:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Náhľad tlače" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Tlačiť" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Tlačiť..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Zámery &na povrchu" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Zmeniť miesto pohľadu" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (nepoužíva sa v perspektívnom zobrazení)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Čas: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " sekundy (0 = auto; *6 = 6 krát auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Verzia %s vyžaduje funkčné OpenGL, ale to nie je dostupné." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 #, fuzzy msgid "Spla&y Legs" msgstr "Splay Legs (&z)" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Skryť" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Zobraziť" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Načítam údaje - prosím počkajte…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Nepodarilo sa nájsť bod %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Nepodarilo sa nájsť zámeru %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Začať od bodu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Rozvinutý rez vľavo od bodu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Rozvinutý rez vpravo od bodu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Rozvinutý rez vľavo od zámery %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Rozvinutý rez vpravo od zámery %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Prerušený okruh na bode %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Prerušený okruh v zámere %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Zrkadlový smer rozvinutého rezu od bodu %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Zrkadlový smer rozvinutého rezu od zámery %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Použiť nastavenie zo súboru: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Zapisuje sa súbor %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "triedenie podľa horizontálnej chyby" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "triedenie podľa vertikálnej chyby" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "triedenie podľa perceptuálnej chyby" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "triedenie podľa chyby ne zámeru" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "prepísať súbor .err novým triedením" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Chyba pri analýze .err súboru" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Posun (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Pridané: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Zrušené: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "Opakované vloženie existujúcej úrovne prefixu nie je povolené" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Pôvodne vložené sem" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT bol zamietnutý" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "znova načítať súbor od začiatku" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Zlyhal pokus o inicializáciu vstupného súradnicového systému “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Zlyhal pokus o inicializáciu výstupného súradnicového systému “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "generovať sieť (defaultne %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "veľkosť textu pre popisky bodov (defaultne %sm)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "veľkosť symbolu bodu (defaultne %sm)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "vygenerovať formát Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "vygenerovať formát CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "vygenerovať formát DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "vygenerovať formát EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "vygenerovať formát GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "vygenerovať formát HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "vygenerovať formát JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "vygenerovať formát KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "vygenerovať formát Compass PLT pre Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "vygenerovať formát Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "vygenerovať formát SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Chyba vo formáte fontu “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Neprie&hľadný povrch" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d nájdených" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Predvoľby..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Vykresliť steny priestorov" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Odhadnuté rozmery rezu na základe heuristiky" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Vyznačiť meračské body krížikmi" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Zvýrazniť body označené ako vchody" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Zvýrazniť body označené ako fixné body" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Zvýrazniť vyexportované body" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Doplniť body ich názvami" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Povoliť prekrývanie názvov na obrazovke (rýchlejšie)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Zobraziť podzemné zámery" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Zobraziť povrchové zámery" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Zafarbiť povrchové zámery podľa výšky" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Zobraziť povrchové zámery čiarkovano" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Zobraziť sieť" #: n:362 #~ msgid "metric units" #~ msgstr "metrických jednotkách" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "anglosaských jednotkách" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "stupňoch (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grádoch" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Zobraziť dļžky v" #: n:367 #~ msgid "Display angles in" #~ msgstr "Zobraziť uhly v" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Obrátiť zmysel kontroly" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Zobraziť mierku" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Zobraziť hļbkovú škálu" #: n:371 #~ msgid "Display compass" #~ msgstr "Zobraziť kompas" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Zobraziť sklon" #: n:373 #~ msgid "Display side panel" #~ msgstr "Zobraziť bočný panel" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/es.msg0000664000175000017500000004246514766643344010544 Svx Msg E!©No se pudo abrir el archivo “%s”Memória insuficiente intentando leer el archivo: “%s”No se pudo abrir el archivo de salida “%s”Archivo de imagen 3d “%s” erróneoNombre de archivo “%s” referido a un directorioError al leer el archivo “%s”Error escribiendo en el archivo “%s”El archivo “%s” tiene un formato mas nuevo del que éste programa puede entenderSe espera un campo numérico; encontrado “%s”Encontrado “%s”, esperando “PRESERVE”, “TOUPPER”, o “TOLOWER”Error detectado en el programa! Por favor comunícalo a los autoresComando desconocido “%s”Estación “%s” igualada a si mismaLa lectura de la brújula no se puede omitir excepto en visuales a plomoFin de línea no vacioHabía %d alerta(s).No se pudo ejecutar la orden “%s”Error al leer el archivoDemasiados errores - proceso abandonado*DEFAULT ya no se usa - utiliza *CALIBRATE/DATA/SD/UNITS con el argumento DEFAULT en su lugarLectura de brújula en una tirada verticalCorresponding %s was here%s sin el correspondiente %s en este archivoMemoria insuficiente (se necesitan %lu bytes de más).ROOT ya no se usaLa estación “%s” no ha sido exportada desde la topografía “%s”“%s” no puede ser a la vez una estación y una topografíaEsperando un nombre de estaciónReentrar en una topografia exitente ya no se usaOriginalmente entrado aquiEncontrado “%s”, esperando “EQUATES”, “EXPORTS”, o “PLUMBS”Encontrado “%s”, esperando “ON” o “OFF”Solo una estación en la orden EQUATECantidad “%s” desconocidaUnidades “%s” desconocidasLa instrucción BEGIN correspondiente no tiene nombre de topografiaUnidades “%s” inválidas para cantidadPara procesar estos datos topográficos se requiere la versión %s de Survex (o superior).Instrumento “%s” desconocidoEl factor de escala debe ser 1.0 para el comando DECLINATIONConfiguración “%s” desconocidaClase de carácter desconocida “%s”Ningún dato de topografiaEn el archivo incluido desde %s:%u: La topografia no está completamente conectada a estaciones fijasEstación ya fijada o igualada a un punto fijadoNo puede haber una visual entre estaciones anónimasLa desviación estándard tiene que ser positivaUtilizaciónTirada con la misma estación en ambas puntas (“%s”) - error de transcripción?Lectura del clino superior a %.f%s (valor absoluto)Tentativa de igualar dos estaciones fijadas en coordenadas diferentes: “%s” y “%s”Igualando dos estaciones fijadas en las mismas coordenadas: “%s” y “%s”Comando FIX sin coordenades - se fijará en (0,0,0)Estación fijada previamente en las mismas coordenadasestación anónima*EXPORT debe seguir inmediatamente a “*BEGIN ”Año inválido (< 1900 ó > 2078)Lectura de brújula sospechosaLectura de longitud negativaLa misma estación se fijó dos veces sin coordenadasLectura de longitud inferior a la diferencia de profundidadesCampo “%s” no permitido en este estilo de datos “%s”Faltan campos para el estilo de datos “%s”Estilo de datos “%s” desconocidoLa estación “%s” ya ha sido exportada anteriormenteCampo duplicado “%s”FLAG “%s” desconocidoFalta "La estacioón “%s” solo ha sido referenciada una vez, con un nombre de topografia explícito - error tipográfico?Las siguientes estaciones no están conectadas a un punto fijo:La topografia no tiene puntos fijados. De todos modos he fijado %s en (0,0,0)Punto fijado no utilizado “%s”No blank after tokenResolviendo un sistema de %d ecuacionesAsumiendo 2 digitos el año es %dEl campo “%s” duplica campo(s) precedente(s)Resolviendo una ecuaciónDistancia ajustada negativaLa fecha es en el futuro!La fecha final es anterior a la inicialColorear por &LongitudSe ha especificado una sección transversal en la estación inexistente “%s”Las lecturas de CLINO y BACKCLINO deben de ser del mismo tipoColorear por Pe&ndienteMes inválidoEl dia del mes es inválido%d versiones del formato del archivo 3d respecto al %d soportadoEsperando un nombre de topografíaarchivo .espec para controlar el desarrollomostrar las interrupciones con las viuales de superficie en la salidaLas lecturas reciprocas del CLINO y BACKCLINO no pueden tener la misma direcciónerrorLectura de longitud no se puede omitirUsos futuros de ésta función obsoleta no serán informados%Las lecturas de TAPE y BACKTAPE difieren de %sLas lecturas de COMPASS y BACKCOMPASS difieren de %sLas lecturas de CLINO y BACKCLINO difieren de %sNombre de estaciónArchivos CSVproducir salida CSVEsperando “%s” o “%s”“*data %s %c …” obsoleto - usa “*data %s …” en su lugarLeyendo datos, espere por favor…aviso%a,%Y.%m.%d %H:%M:%S %ZFecha y hora no disponibles.*prefix ya no se usa - utiliza *begin y *end en su lugarCarácter “%c” no permitido en el nombre de una estación (utiliza *SET NAMES para definir los caracteres permitidos)Error escribiendo en archivoNo se ha podido analizar el archivo de errores .errHabía %d alerta(s) y %d error(es) - no se generaron archivos de salida.Campo que no puede ser omitidoNorteAlzado enVista de P&lantaAlzadoimprimir y salir (require un archivo 3d)Calculando estadísticasEsperando una cadena de carácteresFaltan argumentosSobran argumentosARCHIVOBorrando las secuencias terminalesConectando secuenciasCalculando secuenciasCalculando las secuencias terminalesSimplificando la redCalculando la redEncontrado “%s”, esperando “F” o “B”Longitud total de las visuales de la topografia = %7.2f%s (%7.2f%s corregido)Longitud total en proyección horizontal = %7.2f%sLongitud vertical total de las visuales de la topografia = %7.2f%sDesnivel total = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)Extensión Norte-Sur = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)Extensión Este-Oeste = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)Hay 1 bucle.Hay %ld bucles.Tiempo de CPU utilizado %5.2fsTiempo utilizado %5.2fsTiempo utilizado no disponibleTiempo utilizado %5.2fs (%5.2fs tiempo CPU)Mostrar &RegistroLongitud original %6.2fm (%3d visuales), reducidos %6.2fm (%5.2fm/visual). Error %6.2f%%Error N/Agenerar rejilla (por defecto %sm)altura del texto de las etiquetas (por defecto %s)muestra esta ayuda y salemuestra información de la versión y saletamaño de la marca de la estación (%s por defecto)OPCIÓNEscalainclude items exported by defaultproducir salida DXFPrueba “%s --help” para más información. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproducir salida Compass PLT para Cartoproducir salida SVGSin datos del terreno en el área de la topografiaestablecer la localización para los archivos de salidasolo mostrar un breve resumen (-qq para solo errores)no crear el archivo .errconvertir las advertencias en erroresArchivos Survex posProcesada en: %sVista de Planta, %s arriba de la paginaAlzado mirando a %sregistro de salida a archivo .logespecificar la versión del formato del archivo de salidaLa topografia contiene 1 estación,La topografia contiene %ld estaciones, unidas por 1 tirada. unidas por %ld visuales.nodonodosLa topografia contiene %ld componentes conectados.ordenar por factor de error horizontalordenar por factor de error verticalordenar por porcentaje de errorordenar por error por visualreemplaza el archivo .err con la versión recurrida&Reprocesarargumento numérico “%s” fuera de rangoEl argumento “%s” no es un enteroEl argumento “%s” no es un númeroEsperando “%s”, “%s”, o “%s”Esperando “%s”, “%s”, “%s”, o “%s”La estación “%s” ha sido referenciada por *%s pero no se ha usado nuncaAlzado desarrolladoFalta el %s correspondienteEl nombre de la topografia no se corresponde con el del BEGINNombre de la topografia omitido en el END( Este X , Norte Y , Altitud Z)Profundidad de pantalla: %dbpp (color)Esperando dato, encontrado “%s”solo carga la sub-topografía con prefijoEl factor de *UNITS debe de ser diferente de cero&Captura de pantalla...No hay datos topográficos en el archivo 3d “%s”Direcciónrebobinar el archivo y leerlo una segunda vezAcerca de %sSelecciona un archivo de topografia para visualizarArchivos Survex 3dTodos los archivosHerramienta para visualizar topografias&Archivo&Rotación&Orientación&Vista&ControlesA&yuda&Presentaciónscale (50, 0.02, 1:50 and 2:100 all mean 1:50)ARCHIVO1 ARCHIVO2 [LÍMITE]Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la versió 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.&Abrir... Ctrl+OSin fechaNEWLINE no puede ser el primer campoNEWLINE no puede ser el último campoCampos en más de una linea, pero sin NEWLINEEl campo “%s” tiene que preceder a NEWLINENEWLINE solo puede ser precedido por STATION, DEPTH, y COUNTNo se pueden calibrar cantidades angulares y de longitud juntas%s Registro de ErroresTodos los archivos de topografias&Exportar...&Auto-Rotar Space%d/%d↑%s 1:%.0f&Invierte el sentido%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspecti&va&Paredes con textura&Desvanece los objetos lejanosVista hacia el &NorteVista hacia el &EsteVista hacia el &SurVista hacia el &OesteExtendido 1:%.0fMostrar todoOcultar otrosAlzado &Desarrollado...&PlantaAl&zado&DiscontinuaVisuales Dupl&icadasExport format not specified and not known from output file extensionExport format not specifiedRestaurar la &vista predeterminadaARCHIVO1 y ARCHIVO2 pueden ser archivos .pos o .3d LÍMITE es el max. cambio ignorable a lo largo de cualquier eje en metros (por defecto %s)Elementos%d páginas (%dx%d)Una páginaAzimutNombres de estaciónCrucesVisuales SubterráneasAngulo de inclinaciónMarcos de la páginaLeyendaPáginas en blancoARCHIVO_ENTRADA [ARCHIVO_3D_SALIDA]ARCHIVO_ERR [CUANTOS][ARCHIVO_TOPOGRAFIA]&Nombres de estación Ctrl+N&Cruces Ctrl+XVisuales S&ubterráneas Ctrl+LNombres &Superpuestos&Brújula&ClinómetroCla&ve de colorBarra de &Escala (no utilizado en la vista en perspectiva)Tiempo: &Invierte el sentido Ctrl+R&Cancela la linea de medida Escape secs (0 = auto; *6 = 6 veces auto)VistaAlzado mirando a %s, inclinado %s&AlzadoReferencia a la estación “%s” desde una topografía inexistente “%s”Error al inicializar el sistema de coordenadas de entrada “%s”Error al inicializar el sistema de coordenadas de salida “%s”Colorear por &ErrorNo en el bucleVisuales de t&opografia de superficie Ctrl+FColorear por &ProfundidadColorear por &FechaMarca las &EntradasMarca los Puntos &fijadosMarca los Puntos E&xportadosRe&jilla Ctrl+GVisuales Suavi&zadasI&ndicadores%s: la opción “%s” es ambigua Debe especificarse un sistema de coordenadas para “%s”%s: la opción “%c%s” no permite argumento %s: la opción “--%s” no permite argumento No especificada la fecha en los datos de la topografia - usando 0 para la declinación magnética%s: la opción “%s” requiere un argumento %s: la opción requiere un argumento -- %c %s: opción “--%s” desconocida %s: opción “%c%s” desconocida Numero esperado o “AUTO”%s: opción inválida -- %c &Nueva Presentación&Abrir Presentación...&Guardar la PresentaciónGuardar la Presentació &Como...&Marca&Reproduce&Exporta como Animación...&Bordes del Cuadro Ctrl+BSelecciona un nombre de archivo de salidaPresentaciones AvenGuardar la captura de pantallaSelecciona una presentación para abrirError en el formato del archivo de presentación “%s”Archivos Compass PLTArchivos CMAP XYZPresentación ModificadaLa presentación actual ha sido modificada. Abandonar los cambios no guardados?Búsqueda infructuosa.Archivos Survex svxArchivos Compass MAKExportar AnimaciónEncuentraFind stations%d stations match %s%s%sAltitudSolo se puede visualizar un archivo 3d a la vez.&Panel Lateral%.2f E, %.2f NDesde %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Azim %03.1f%s, Pend %s&Metrico&Grados°ᵍ&Galerias Tubulares Ctrl+T&Preferencias...Dibuja las paredesEstimación heurística de los datos LRUDMarcar las estaciones topográficas con crucesDestacar las estaciones marcadas como entradasDestacar las estaciones marcadas como puntos fijosDestacar las estaciones exportadasMarcar las estaciones topográficas con sus nombresPermitir que los nombres se sobrepongan (más rápido)&Modo Pantalla Completa F11Muestra las visuales subterráneasMuestra las visuales de superficieColorea las visuales de superficie según profundidadDibuja las visuales de superficie con líneas discontinuasDibuja una cuadrículaunidades en sistema métricounidades en sistema imperialgrados (°)grados centesimalesMuestra las distancias enMuestra los ángulos enInvierte el sentido de los controlesMuestra la escala gráficaMuestra la escala de profundidadMuestra la brújulaMuestra el clinómetroMuestra el panel lateral%s: H %.2f%s, Azim %03.1f%s%s: V %.2f%sTopografíasPresentaciónEsteNorte&Imprimir... Ctrl+PConfiguración de la &página...&Exporta como...Exportar&Ocultar Clino&Ocultar barra de escala&Ocultar clave de color&Ocultar BrújulaHide si&blingsMemoria insuficienteInformación del Sistema:El factor de escala debe de ser diferente de ceroSeparador en el nombre de la topografiaSecciones transversalesParedesGaleriasmostrar la fecha de la topografia (si esta presente)Comando *alias erróneoVista previa de la impresiónImprimir&Imprimir...Exporta como:No se pudo escribir en el archivo “%s”Visuales de topografia de super&ficieEditar waypointSe requiere OpenGL para trabajar la versión de %s, pero no está disponible.Visuales &Radiantes&OcultaD&escolorada&MostrarFormato de exportaciónArchivos DXFArchivos EPSArchivos GPXHPGL para plottersCompass PLT para usar con CartoDuplicate date type “%s”Archivos SVGEntradasPuntos fijadosPuntos ExportadosOrigen en el centroCoordenadas completaskmmcm millas milla′″Porc&entaje∞PlantaPlantaKiwiSistema de coordenadas desconocidoSistema de coordenadas inadecuado para la salidaFalló la conversión de las coordenadas: %sLa proyección de entrada está establecida pero la de salida noLa proyección de salida está establecida pero la de entrada noNo se puede omitir las coordenadas cuando se ha especificado un sistema de coordenadasProyección de coordenadasYa hay un comando FIX sin coordenadas para la estación “%s”La estación “%s” fue fijada antes del primer comando CS usadoEl sistema de coordenadas no es válido: %sArchivos KMLArchivos JSON&Guardar RegistroArchivos de registroColorear por &Topografia&TerrenoCo&lorear porSelecciona un archivo de terreno para visualizarArchivos de terrenoAbrir &Terreno...producir salida EPSproducir salida GPXproducir salida HPGLproducir salida JSONproducir salida KMLproducir salida Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)visuales de topografia de superficievisuales radiantesentradaspuntos fijadospuntos Exportadossecciones transversalesparedesgaleriasorigen en el centrocoordenadas completasmarcadores de estaciónetiquetas de estaciónvisuales subterráneasPegar al suelopegar al sueloUnits “%s” are deprecated, assuming “grads” - see manual for detailsColorear por Error &HorizontalColorear por Error &VerticalColour by St&yleExpecting quadrant bearing, found “%s”Declinación: %s, convergencia de meridianos: %.1f%sinfoconvert MOVE and LINE into LEGproducir salida Survex 3dOutput coordinate system not setExpecting integer in range %d to %dArchivos Compass DATArchivos Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayEsperando “%s”No se puede crear un fichero temporalMacro “%s” not definedMovido por (%3.2f,%3.2f,%3.2f): %sAñadido: %sBorrado: %sDatum “%s” not supportedWalls project filesArchivos topografia WallsOmitiendo “%s”[ARCHIVO_TOPOGRAFIA]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-La estación %s no se ha encontradoNo se han encontrado las visuales %s → %sInicio desde la estación %sExtendiendo hacia la izquierda desde la estación %sExtendiendo hacia la derecha desde la estación %sExtendiendo hacia la izquierda desde la visual %s → %sExtendiendo hacia la derecha desde la visual %s → %sRompiendo el bucle en la estación %sRompiendo el bucle en la visual %s → %sCambiando la dirección del alzado extendido desde la estación %sCambiando la dirección del alzado extendido desde la visual %s → %sAplicando fichero de especificaciones: “%s”Escribiendo %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Año inválidoZ exaggeration factorsurvex-1.4.17/lib/preload_font.h0000664000175000017500000006043514721407276012240 static const unsigned char fontdata_preloaded[] = { 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 0, 1, 201, 158, 90, 81, 234, 80, 74, 81, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 147, 138, 82, 50, 95, 194, 82, 57, 147, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 37, 137, 36, 49, 25, 193, 36, 59, 165, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 121, 37, 193, 36, 121, 25, 193, 36, 123, 165, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 121, 137, 194, 72, 122, 73, 194, 72, 121, 191, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 122, 79, 194, 214, 123, 83, 194, 82, 122, 77, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 73, 165, 202, 40, 122, 49, 202, 40, 49, 165, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 115, 223, 202, 16, 115, 209, 202, 16, 115, 209, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 30, 113, 145, 8, 30, 49, 145, 64, 30, 57, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 34, 33, 162, 32, 62, 33, 162, 32, 34, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 62, 129, 160, 128, 32, 249, 160, 128, 32, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 8, 33, 148, 32, 34, 33, 162, 32, 34, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 32, 129, 160, 128, 62, 249, 160, 128, 62, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 30, 137, 160, 144, 32, 241, 160, 136, 30, 241, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 60, 113, 130, 136, 28, 137, 160, 136, 30, 113, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 60, 249, 130, 32, 28, 33, 160, 32, 30, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 57, 221, 165, 16, 37, 29, 165, 16, 57, 29, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 157, 202, 8, 74, 9, 202, 24, 113, 137, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 157, 202, 16, 74, 9, 202, 4, 113, 153, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 153, 202, 4, 74, 25, 202, 4, 113, 153, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 133, 202, 28, 74, 21, 202, 12, 113, 133, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 74, 83, 219, 212, 106, 89, 234, 84, 73, 147, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 19, 137, 18, 49, 23, 194, 154, 52, 83, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 121, 57, 193, 36, 121, 57, 193, 36, 123, 185, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 52, 165, 196, 164, 71, 173, 196, 180, 51, 37, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 62, 137, 160, 136, 62, 169, 160, 216, 62, 137, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 157, 138, 82, 50, 93, 194, 82, 58, 93, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 123, 143, 192, 80, 121, 145, 194, 16, 121, 207, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 16, 225, 144, 16, 30, 97, 144, 128, 30, 113, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 14, 225, 146, 16, 22, 97, 144, 128, 14, 113, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 18, 225, 148, 16, 28, 97, 146, 128, 28, 113, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 12, 225, 146, 16, 18, 97, 146, 128, 18, 113, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 4, 65, 41, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 69, 163, 136, 136, 136, 136, 70, 41, 144, 144, 144, 252, 72, 72, 252, 36, 36, 36, 71, 41, 16, 124, 146, 18, 28, 112, 144, 146, 124, 16, 71, 41, 140, 82, 82, 44, 16, 16, 104, 148, 148, 98, 71, 41, 114, 140, 132, 138, 82, 48, 40, 68, 68, 56, 65, 163, 128, 128, 128, 128, 67, 27, 32, 64, 64, 128, 128, 128, 128, 128, 128, 64, 64, 32, 67, 27, 128, 64, 64, 32, 32, 32, 32, 32, 32, 64, 64, 128, 71, 54, 16, 146, 84, 56, 84, 146, 16, 71, 54, 16, 16, 16, 254, 16, 16, 16, 66, 3, 128, 64, 64, 192, 68, 96, 240, 66, 33, 192, 192, 70, 41, 128, 128, 64, 32, 32, 16, 16, 8, 4, 4, 70, 41, 48, 72, 132, 196, 164, 148, 140, 132, 72, 48, 69, 41, 248, 32, 32, 32, 32, 32, 32, 160, 96, 32, 70, 41, 252, 128, 128, 64, 32, 24, 4, 132, 132, 120, 70, 41, 120, 132, 132, 4, 4, 56, 4, 132, 132, 120, 70, 41, 8, 8, 8, 252, 136, 136, 72, 40, 24, 8, 70, 41, 120, 132, 4, 4, 4, 248, 128, 128, 128, 252, 70, 41, 120, 132, 132, 132, 132, 248, 128, 128, 64, 56, 70, 41, 16, 16, 16, 16, 8, 8, 8, 4, 4, 252, 70, 41, 120, 132, 132, 132, 132, 120, 132, 132, 132, 120, 70, 41, 112, 8, 4, 4, 4, 124, 132, 132, 132, 120, 66, 54, 192, 192, 0, 0, 0, 192, 192, 66, 24, 128, 64, 64, 192, 0, 0, 0, 192, 192, 69, 40, 8, 16, 32, 64, 128, 64, 32, 16, 8, 70, 68, 252, 0, 0, 0, 252, 69, 40, 128, 64, 32, 16, 8, 16, 32, 64, 128, 70, 41, 16, 16, 0, 16, 16, 8, 4, 132, 132, 120, 70, 41, 60, 64, 156, 164, 164, 164, 172, 148, 68, 56, 70, 41, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 70, 41, 248, 132, 132, 132, 132, 248, 132, 132, 132, 248, 70, 41, 120, 132, 132, 128, 128, 128, 128, 132, 132, 120, 70, 41, 240, 136, 132, 132, 132, 132, 132, 132, 136, 240, 70, 41, 252, 128, 128, 128, 128, 248, 128, 128, 128, 252, 70, 41, 128, 128, 128, 128, 128, 248, 128, 128, 128, 252, 70, 41, 116, 140, 132, 132, 156, 128, 128, 132, 132, 120, 70, 41, 132, 132, 132, 132, 132, 252, 132, 132, 132, 132, 69, 41, 248, 32, 32, 32, 32, 32, 32, 32, 32, 248, 71, 41, 112, 136, 136, 8, 8, 8, 8, 8, 8, 62, 70, 41, 132, 136, 144, 160, 192, 192, 160, 144, 136, 132, 70, 41, 252, 128, 128, 128, 128, 128, 128, 128, 128, 128, 70, 41, 132, 132, 132, 132, 180, 180, 204, 204, 132, 132, 70, 41, 132, 140, 140, 148, 148, 164, 164, 196, 196, 132, 70, 41, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 70, 41, 128, 128, 128, 128, 128, 248, 132, 132, 132, 248, 71, 26, 6, 120, 204, 180, 132, 132, 132, 132, 132, 132, 120, 70, 41, 132, 132, 136, 136, 144, 248, 132, 132, 132, 248, 70, 41, 120, 132, 132, 4, 24, 96, 128, 132, 132, 120, 71, 41, 16, 16, 16, 16, 16, 16, 16, 16, 16, 254, 70, 41, 120, 132, 132, 132, 132, 132, 132, 132, 132, 132, 71, 41, 16, 16, 40, 40, 68, 68, 68, 130, 130, 130, 70, 41, 132, 132, 204, 204, 180, 180, 132, 132, 132, 132, 70, 41, 132, 132, 72, 72, 48, 48, 72, 72, 132, 132, 71, 41, 16, 16, 16, 16, 16, 40, 68, 68, 130, 130, 70, 41, 252, 128, 128, 64, 32, 16, 8, 4, 4, 252, 67, 27, 224, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 224, 70, 41, 4, 4, 8, 16, 16, 32, 32, 64, 128, 128, 67, 27, 224, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 224, 70, 178, 132, 72, 48, 71, 16, 254, 67, 194, 32, 64, 128, 70, 39, 116, 140, 132, 132, 124, 4, 132, 120, 70, 42, 184, 196, 132, 132, 132, 132, 196, 184, 128, 128, 128, 70, 39, 120, 132, 128, 128, 128, 128, 132, 120, 70, 42, 116, 140, 132, 132, 132, 132, 140, 116, 4, 4, 4, 70, 39, 120, 132, 128, 128, 252, 132, 132, 120, 69, 42, 32, 32, 32, 32, 32, 32, 248, 32, 32, 32, 24, 70, 10, 120, 132, 132, 120, 64, 112, 136, 136, 136, 116, 4, 70, 42, 132, 132, 132, 132, 132, 132, 196, 184, 128, 128, 128, 69, 42, 248, 32, 32, 32, 32, 32, 32, 96, 0, 32, 32, 69, 12, 96, 144, 8, 8, 8, 8, 8, 8, 8, 24, 0, 8, 8, 70, 42, 132, 136, 144, 160, 192, 160, 144, 136, 128, 128, 128, 69, 42, 248, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 71, 39, 146, 146, 146, 146, 146, 146, 146, 236, 70, 39, 132, 132, 132, 132, 132, 132, 196, 184, 70, 39, 120, 132, 132, 132, 132, 132, 132, 120, 70, 9, 128, 128, 184, 196, 132, 132, 132, 132, 196, 184, 70, 9, 4, 4, 116, 140, 132, 132, 132, 132, 140, 116, 70, 39, 128, 128, 128, 128, 128, 132, 196, 184, 70, 39, 120, 132, 4, 24, 96, 128, 132, 120, 69, 41, 24, 32, 32, 32, 32, 32, 248, 32, 32, 32, 70, 39, 116, 140, 132, 132, 132, 132, 132, 132, 70, 39, 48, 48, 72, 72, 72, 132, 132, 132, 71, 39, 108, 146, 146, 146, 146, 146, 146, 130, 70, 39, 132, 132, 72, 48, 48, 72, 132, 132, 70, 9, 120, 4, 4, 52, 76, 132, 132, 132, 132, 132, 70, 39, 252, 128, 64, 32, 16, 8, 4, 252, 68, 12, 48, 64, 64, 32, 32, 64, 128, 64, 32, 32, 64, 64, 48, 65, 13, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 68, 12, 192, 32, 32, 64, 64, 32, 16, 32, 64, 64, 32, 32, 192, 71, 162, 140, 146, 98, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 115, 223, 202, 16, 75, 209, 202, 16, 115, 209, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 66, 93, 194, 82, 115, 211, 202, 82, 113, 157, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 73, 145, 202, 80, 122, 93, 202, 82, 73, 157, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 114, 19, 202, 18, 115, 159, 202, 82, 115, 147, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 75, 147, 202, 82, 91, 159, 234, 82, 75, 147, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 116, 185, 164, 164, 37, 165, 166, 164, 116, 185, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 75, 223, 202, 16, 91, 209, 234, 16, 75, 209, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 115, 147, 136, 82, 49, 159, 194, 18, 57, 205, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 123, 147, 192, 82, 121, 159, 194, 18, 121, 205, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 73, 57, 201, 4, 121, 25, 201, 32, 75, 157, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 36, 153, 164, 132, 60, 133, 164, 132, 37, 221, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 16, 153, 168, 132, 68, 137, 196, 144, 69, 205, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 67, 221, 194, 18, 114, 19, 202, 18, 114, 29, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 67, 205, 194, 18, 114, 19, 202, 18, 114, 19, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 9, 33, 138, 32, 14, 33, 137, 32, 14, 33, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 115, 159, 136, 80, 49, 141, 194, 2, 57, 221, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 115, 157, 136, 66, 49, 141, 194, 2, 57, 221, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 221, 202, 2, 74, 13, 202, 16, 113, 207, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 65, 143, 194, 68, 114, 69, 202, 76, 114, 69, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 65, 159, 194, 80, 114, 77, 202, 66, 114, 93, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 57, 137, 4, 49, 25, 193, 32, 59, 157, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 57, 211, 194, 18, 66, 31, 194, 18, 57, 211, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 34, 137, 162, 216, 42, 169, 182, 136, 34, 137, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 114, 19, 138, 18, 51, 159, 194, 82, 59, 141, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 122, 19, 194, 18, 123, 159, 194, 82, 123, 141, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 157, 138, 66, 50, 77, 194, 80, 57, 143, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 99, 155, 148, 162, 37, 163, 196, 34, 51, 155, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 113, 221, 138, 8, 50, 9, 194, 8, 57, 221, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 59, 157, 192, 72, 65, 137, 194, 8, 57, 221, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 28, 33, 130, 32, 12, 33, 144, 32, 14, 249, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 51, 143, 200, 80, 73, 145, 202, 16, 49, 207, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 16, 137, 144, 136, 28, 169, 146, 216, 28, 137, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 0, 1, 128, 0, 74, 15, 202, 16, 123, 145, 202, 80, 51, 143, 128, 0, 0, 1, 128, 0, 0, 1, 170, 170, 4, 65, 41, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 71, 41, 16, 16, 124, 146, 144, 144, 146, 124, 16, 16, 71, 41, 194, 124, 32, 32, 32, 248, 32, 32, 32, 28, 70, 55, 132, 120, 72, 132, 132, 72, 120, 132, 71, 41, 16, 16, 16, 254, 16, 254, 16, 40, 68, 130, 65, 41, 128, 128, 128, 128, 0, 0, 128, 128, 128, 128, 70, 41, 120, 132, 4, 120, 132, 132, 120, 128, 132, 120, 68, 225, 144, 144, 72, 41, 60, 66, 153, 165, 161, 161, 165, 153, 66, 60, 69, 118, 248, 0, 120, 136, 120, 8, 112, 70, 40, 36, 36, 72, 72, 144, 72, 72, 36, 36, 70, 35, 4, 4, 4, 252, 144, 15, 85, 85, 128, 0, 0, 1, 128, 0, 3, 193, 128, 0, 0, 1, 128, 0, 114, 73, 138, 72, 51, 201, 194, 84, 58, 99, 128, 0, 0, 1, 170, 170, 72, 41, 60, 66, 165, 169, 185, 165, 165, 185, 66, 60, 70, 208, 252, 68, 131, 96, 144, 144, 96, 71, 56, 254, 0, 16, 16, 16, 254, 16, 16, 16, 69, 102, 248, 128, 64, 48, 8, 136, 112, 69, 102, 112, 136, 8, 112, 8, 136, 112, 67, 194, 128, 64, 32, 72, 9, 128, 64, 89, 102, 66, 66, 66, 66, 66, 66, 71, 26, 20, 20, 20, 20, 20, 20, 116, 244, 244, 244, 126, 66, 97, 192, 192, 67, 1, 192, 32, 69, 102, 248, 32, 32, 32, 160, 96, 32, 69, 118, 248, 0, 112, 136, 136, 136, 112, 70, 40, 144, 144, 72, 72, 36, 72, 72, 144, 144, 70, 41, 132, 156, 84, 44, 36, 80, 80, 72, 196, 68, 70, 41, 156, 136, 68, 52, 40, 80, 80, 72, 196, 68, 70, 41, 132, 156, 84, 44, 36, 208, 48, 72, 36, 196, 70, 41, 120, 132, 132, 128, 64, 32, 32, 0, 32, 32, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 0, 24, 96, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 0, 96, 24, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 0, 72, 48, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 0, 152, 100, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 0, 72, 72, 70, 45, 132, 132, 132, 132, 252, 132, 132, 72, 72, 48, 0, 48, 72, 48, 71, 41, 158, 144, 144, 144, 144, 254, 144, 144, 80, 62, 70, 11, 96, 16, 120, 132, 132, 128, 128, 128, 128, 132, 132, 120, 70, 45, 252, 128, 128, 128, 128, 248, 128, 128, 128, 252, 0, 0, 24, 96, 70, 45, 252, 128, 128, 128, 128, 248, 128, 128, 128, 252, 0, 0, 96, 24, 70, 45, 252, 128, 128, 128, 128, 248, 128, 128, 128, 252, 0, 0, 72, 48, 70, 45, 252, 128, 128, 128, 128, 248, 128, 128, 128, 252, 0, 0, 72, 72, 69, 45, 248, 32, 32, 32, 32, 32, 32, 32, 32, 248, 0, 0, 24, 96, 69, 45, 248, 32, 32, 32, 32, 32, 32, 32, 32, 248, 0, 0, 192, 48, 69, 45, 248, 32, 32, 32, 32, 32, 32, 32, 32, 248, 0, 0, 144, 96, 69, 45, 248, 32, 32, 32, 32, 32, 32, 32, 32, 248, 0, 0, 144, 144, 71, 41, 120, 68, 66, 66, 66, 242, 66, 66, 68, 120, 70, 45, 132, 140, 140, 148, 148, 164, 164, 196, 196, 132, 0, 0, 152, 100, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 0, 0, 24, 96, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 0, 0, 96, 24, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 0, 0, 72, 48, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 0, 0, 152, 100, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 120, 0, 0, 72, 72, 70, 68, 132, 72, 48, 72, 132, 70, 27, 128, 184, 68, 196, 164, 164, 148, 148, 140, 136, 116, 4, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 24, 96, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 96, 24, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 72, 48, 70, 45, 120, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 72, 72, 71, 45, 16, 16, 16, 16, 16, 40, 68, 68, 130, 130, 0, 0, 96, 24, 70, 42, 128, 128, 128, 240, 136, 132, 132, 136, 240, 128, 128, 70, 41, 152, 164, 132, 132, 136, 176, 144, 136, 136, 112, 70, 43, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 24, 96, 70, 43, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 96, 24, 70, 43, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 72, 48, 70, 43, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 152, 100, 70, 43, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 72, 72, 70, 44, 116, 140, 132, 132, 124, 4, 132, 120, 0, 0, 48, 72, 48, 71, 39, 124, 146, 144, 144, 126, 18, 146, 124, 70, 9, 96, 16, 120, 132, 128, 128, 128, 128, 132, 120, 70, 43, 120, 132, 128, 128, 252, 132, 132, 120, 0, 0, 24, 96, 70, 43, 120, 132, 128, 128, 252, 132, 132, 120, 0, 0, 96, 24, 70, 43, 120, 132, 128, 128, 252, 132, 132, 120, 0, 0, 72, 48, 70, 43, 120, 132, 128, 128, 252, 132, 132, 120, 0, 0, 72, 72, 69, 43, 248, 32, 32, 32, 32, 32, 32, 96, 0, 0, 48, 192, 69, 43, 248, 32, 32, 32, 32, 32, 32, 96, 0, 0, 192, 48, 69, 43, 248, 32, 32, 32, 32, 32, 32, 96, 0, 0, 144, 96, 69, 43, 248, 32, 32, 32, 32, 32, 32, 96, 0, 0, 144, 144, 70, 43, 120, 132, 132, 132, 132, 132, 124, 4, 68, 40, 24, 100, 70, 43, 132, 132, 132, 132, 132, 132, 196, 184, 0, 0, 152, 100, 70, 43, 120, 132, 132, 132, 132, 132, 132, 120, 0, 0, 24, 96, 70, 43, 120, 132, 132, 132, 132, 132, 132, 120, 0, 0, 96, 24, 70, 43, 120, 132, 132, 132, 132, 132, 132, 120, 0, 0, 72, 48, 70, 43, 120, 132, 132, 132, 132, 132, 132, 120, 0, 0, 152, 100, 70, 43, 120, 132, 132, 132, 132, 132, 132, 120, 0, 0, 72, 72, 70, 54, 48, 0, 0, 252, 0, 0, 48, 70, 25, 128, 120, 196, 164, 164, 148, 148, 140, 120, 4, 70, 43, 116, 140, 132, 132, 132, 132, 132, 132, 0, 0, 24, 96, 70, 43, 116, 140, 132, 132, 132, 132, 132, 132, 0, 0, 96, 24, 70, 43, 116, 140, 132, 132, 132, 132, 132, 132, 0, 0, 72, 48, 70, 43, 116, 140, 132, 132, 132, 132, 132, 132, 0, 0, 72, 72, 70, 13, 120, 4, 4, 52, 76, 132, 132, 132, 132, 132, 0, 0, 96, 24, 70, 12, 128, 128, 184, 196, 132, 132, 132, 132, 196, 184, 128, 128, 128, 70, 13, 120, 4, 4, 52, 76, 132, 132, 132, 132, 132, 0, 0, 72, 72, }; survex-1.4.17/lib/bcra5.svx0000644000175000017500000000066714567212227011146 ; BCRA Grade 5 specification file ; tape error ; 95.44% of readings are within 0.1m (2 S.D.) *sd length backlength 0.05 metres ; compass error ; 95.44% of readings are within 1 degree (2 S.D.) *sd bearing backbearing 0.5 degrees ; clino error ; 95.44% of readings are within 1 degree (2 S.D.) *sd gradient backgradient 0.5 degrees ; station position error ; 95.44% of positions are within 0.1m (2 S.D.) *sd position 0.05 metres survex-1.4.17/lib/sk.msg0000664000175000017500000003760514766643344010552 Svx Msg ?q©Nie je možné otvoriť súbor “%s”Nedostatočná pamäť: “%s”Zlyhal pokus o otvorenie výstupného súboru “%s”Nesprávny 3D obrazový súbor “%s”Meno súboru “%s” odpovedá adresáruChyba pri čítaní zo súboru “%s”Chyba pri zápise do súboru “%s”Súbor “%s” má novší formát, než je tento program schopný zpracovaťpredpokladá sa numerické pole, zistené “%s”Zistené “%s”, predpokladá sa “PRESERVE”, “TOUPPER” alebo “TOLOWER”Zistená chyba programu! Prosíme, dajte to na vedomie autoromNeznámy príkaz “%s”Bod “%s” je totožný sám so sebouNemalo by chýbať čítanie kompasu pokiaľ nejde o vertikálnu zámeruKoniec riadku obsahuje nepatričný znakCelkom bolo zaznamenaných %d varovaní.Vykonávanie príkazu “%s” zlyhaloChyba pri čítaní súboruPríliš mnoho chýb, koniec*DEFAULT bol odmietnutý - použijte namiesto toho *CALIBRATE/DATA/SD/UNITS s argumentom DEFAULTPri vertikálnej zámere bol zadaný azimutCorresponding %s was hereV tomto súbore sa vyskytlo %s bez odpovadajúceho %sNedostatok pamäte (chýba %lu bytov).ROOT bol zamietnutýBod “%s” nebol exportovaný z merania (survey) “%s”“%s” nemôže byť súčasne bodom i meraním (survey)Predpokladá sa meno boduOpakované vloženie existujúcej úrovne prefixu nie je povolenéPôvodne vložené semZistené “%s”, predpokladané “EQUATES”, “EXPORTS” alebo “PLUMBS”Zistené “%s”, predpokladané “ON” alebo “OFF”V zozname EQUATE zistený iba jeden bodNeznáma hodnota “%s”Neznáma jednotka “%s”Odpovedajúci tag BEGIN nemá prefixNesprávna jednotka “%s” pre hodnotuPre spracovanie týchto dát je potrebná verzia Survexu %s alebo novšia.Neznáma pomôcka “%s”Prepočítací faktor pre DECLINATION musí byť 1.0Neznáme nastavenie “%s”Neznáma trieda charakteru “%s”Chýbajú údaje z meraniaV súbore vloženom z %s:%u: Časti merania nie sú pripojené na fixné bodyBod je už fixný alebo je totožný s fixným bodomCan't have a leg between two anonymous stationsŠtandardná ochylka musí byť pozitívnaPoužitieZámera s tým istým bodom (“%s”) na oboch koncoch - preklep?Absolútna hodnota sklonu väčšia ako %.f%sPokus o ztotožnenie dvoch rôznych fixných bodov “%s” a “%s”Ztotožnenie dvoch identických fixných bodov “%s” a “%s”Príkaz FIX bez odpovedajúcich súradníc - priradené (0,0,0)Bod už bol fixovaný s tými istými súradnicamianonymous station*EXPORT musí bezprostredne nasledovať “*BEGIN ”Neplatný rok (< 1900 alebo > 2078)Podozrivé čítanie kompasuZáporný dļžkový údajNiektorý z bodov bol fixovaný dvakrát bez súradnícDļžkový údaj je menší ako výškový rozdielHodnota “%s” nie je povolená v type dát “%s”Príliš málo údajov pre typ dát “%s”Neznámy typ dát “%s”Bod “%s” už bol vyexportovanýDuplicitná hodnota “%s”FLAG “%s” je neznámyChýba "Bod “%s” použitý iba raz s explicitným prefixom - preklep?Nasledujúci body nie sú pripojené na fixný bodMeranie (survey) nemá fixné body. Preto bude fixovaný %s so súradnicami (0,0,0)Nepoužitý fixný bod “%s”No blank after tokenRieši sa %d simultánnych rovnícAssuming 2 digit year is %dÚdaj “%s” duplikuje predchádzajúci údaj/eRieši sa jedna rovnicaZáporná nastavená vzdialenosťDátum je v budúcnosti!Posledný dátum je pred prvýmFarba podľa dļž&kaPriečny rez definovaný na neexistujúcom bode “%s”Hodnoty CLINO a BACKCLINO musí byť toho istého typuColour by &GradientNesprávny mesiacTento deň v tomto mesiaci neexistujeSú podporované 3D formáty súborov %d až %dPredpokladá sa názov survey.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionchybaTape reading may not be omittedĎalšie použitia zamietnutej fukcie nebudú zaznamenané%Hodnoty TAPE a BACKTAPE sa líši o %sHodnoty COMPASS a BACKCOMPASS sa líši o %sHodnoty CLINO a BACKCLINO sa líši o %sStation NameSúbory CSVvygenerovať formát CSVPredpokladá sa “%s” alebo “%s”“*data %s %c …” boly zamietnuté - použijte “*data %s …” namiesto tohoNačítam údaje - prosím počkajte…varovanie%a,%Y.%m.%d %H:%M:%S %ZDátum a čas nie sú dostupné*prefix bol odmietnutý - použijte namiesto toho *begin a *endZnak “%c” v mene bodu nie je povolený (použijte *SET NAMES pre nastavenie povolených znakov)Chyba pri zápise do súboruChyba pri analýze .err súboruVyskytlo sa %d varovaní a %d chýb - nebol vytvorený výstupný súbor.Pole by nemalo zostať nevyplnenéSeverProfil v smere&PôdorysProfilvytlač a ukonči (vyžaduje 3D súbor)Počíta sa štatistikaPredpokladá sa textové polePríliš málo argumentovPríliš mnoho argumentovSÚBOROdstránenie slepých odbočiekPripojenie spojokVýpočet spojokVýpočet koncových spojokZjednodušenie sieteVýpočet sieteNájdené “%s”, očakávané “F” alebo “B”Celková dļžka zámer = %7.2f%s (%7.2f%s nastavené)Celková pôdorysná dļžka zámer %7.2f%sCelková vertikálna dļžka zámer %7.2f%sVertikálny rozsah = %4.2f%s (od %s v %4.2f%s do %s v %4.2f%s)Rozsah sever-juh = %4.2f%s (od %s od %4.2f%s do %s do %4.2f%s)Rozsah východ-západ = %4.2f%s (od %s od %4.2f%s do %s do %4.2f%s)Jeden uzavretý polygón.%ld uzavretých polygónov.Využitý čas CPU %5.2fsCelkový čas %5.2fsCelkový čas - nedostupnýCelkový čas %5.2fs (%5.2fs času CPU)Zobraziť &záznamPôvodná dļžka %6.2fm (%3d zámer), redukovaná %6.2fm (%5.2fm/zámeru). Chyba %6.2f%%Chyba (nemá zmysel)generovať sieť (defaultne %sm)veľkosť textu pre popisky bodov (defaultne %sm)zobraziť túto nápovedu a skončiťzobraziť informáciu o verzii a skončiťveľkosť symbolu bodu (defaultne %sm)OPTIONMerítkoinclude items exported by defaultvygenerovať formát DXFViac informácií získate príkazom “%s --help”. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangevygenerovať formát Compass PLT pre Cartovygenerovať formát SVGNo terrain data near area of surveyurči miesto pre uloženie výstupných súborovzobraz iba krátku správu (-qq iba pre chyby)nedá sa vytvoriť súbor s chybamizmena varovania na chybySúbory pos SurvexuZpracované od stránky %sMapa, %s v hlavičkeBočný pohľad v smere %szápis výstupu do súboru .logktorú verziu 3d súboru použiť pre výstupMeranie (survey) obsahuje jediný bod,Meranie (survey) obsahuje %ld bodov, spojených 1 zámerou. spojených %ld zámerami.uzoluzlyMeranie (survey) má %ld spojených častí.triedenie podľa horizontálnej chybytriedenie podľa vertikálnej chybytriedenie podľa perceptuálnej chybytriedenie podľa chyby ne zámeruprepísať súbor .err novým triedením&Spracuj dáta znovačíselný argument “%s” mimo rozsahargument “%s” nie je integerargument “%s” nie je čísloPredpokladá sa “%s”, “%s”, alebo “%s”Predpokladá sa “%s”, “%s”, “%s”, alebo “%s”Bod “%s” sa uvádza ako *%s ale nebol použitýRozvinutý rezChýba odpovedajúce %sPrefix tag neodpovedá BEGINKoncový prefix chýba v END( východ, sever, výška )Rozsah zobrazenia %d v bitoch na pixel) (pre farbu)Predpokladá sa čas, najdené “%s”s prefixom sa natiahla iba časť merania*UNITS faktor musí byť nenulovýOtlačok o&brazovky...V 3d súbore “%s” nie sú údajeSmerznova načítať súbor od začiatkuO %sVyber súbor s meraním (survey)3D súbory SurvexVšetky súboryVizualizácia polygónu&Súbor&Rotácia&Orientácia&PohľadO&vládaniePomocní&kPre&zentáciascale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]Tento program je volný software; můžete jej šířit a modifikovat podle ustanovení Obecné veřejné licence GNU, vydávané Free Software Foundation; a to buď verze 2 této licence anebo (podle vašeho uvážení) kterékoli pozdější verze.&Otvoriť... Ctrl+OBez dátumuNEWLINE nemôže byť prvý údajNEWLINE nemôže byť posledný údajVložené údaje, ale nie NEWLINEÚdaj “%s” musí predchádzať NEWLINENEWLINE môže byť zpracované iba pri STATION, DEPTH, a COUNTNie je možné nakalibrovať uhlovýé a dļžkové údaje naraz%s záznam chýbVšetky súbory s meraním&Export...&Autorotácia Space%d/%d↑%s 1:%.0f&Otočiť rotáciu%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspektív&a&Texturované stenyHm&listý oparPohľad na &severPohľad na &východPohľad na &juhPohľad na &západExtended 1:%.0fZobraziť všetkySkryť ostatné&Rozvinutý Rez...&PôdorysR&ez&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specified&Obnovenie východzieho pohľaduFILE1 a FILE2 môžu byť súbory .pos alebo .3d THRESHOLD je max. ignorovateľná zmena pozdĺž ktorejkoľvek osi v metroch (defaultne %s)Objekty%d stránok (%dx%d)Jednu stránkuAzimutMená bodovKrížikyZámery pod povrchomNáklonRámčekPopiskaPrázdne stránkyINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]&Mená bodov Ctrl+N&Krížiky Ctrl+XZámery &pod povrchom Ctrl+LPr&ekrývajúce sa mená&Kompas&SklonomerPriradenie &Farieb&Merítko (nepoužíva sa v perspektívnom zobrazení)Čas: Obrátený sme&r Ctrl+R&Zrušit líniu meraní Escape sekundy (0 = auto; *6 = 6 krát auto)Pohľad naBočný pohľad v smere %s, pootočený o %sP&rofilOdkaz na bod “%s” z neexistujúceho survey “%s”Zlyhal pokus o inicializáciu vstupného súradnicového systému “%s”Zlyhal pokus o inicializáciu výstupného súradnicového systému “%s”Farba podľa &chybyNie je súčasťou uzavretého ťahuZámery &na povrchu Ctrl+FFarba podľa &hļbkyFarba podľa &dátumuZvýrazniť &vchodyZvýrazniť &fixné bodyZvýrazniť e&xportované body&Sieť Ctrl+GV&yrovnané zámeryIndiká&tory%s: možnosť “%s” je dvojznačná Input coordinate system must be specified for “%s”%s: možnosť “%c%s” neumožňuje argument %s: možnosť “--%s” neumožňuje argument No survey date specified - using 0 for magnetic declination%s: možnosť “%s” vyžaduje argument %s: možnosť vyžaduje argument -- %c %s: nerozpoznaná možnosť “--%s” %s: nerozpoznaná možnosť “%c%s” Expected number or “AUTO”%s: nesprávna možnosť -- %c &Nová prezentácia&Otvoriť prezentáciu...&Ulož prezentáciuUlož prezentáciu a&ko...&Zvýrazni&Prehrať&Vyexportuj ako film...&Ohraničenie Ctrl+BZvoliť meno výstupného súboruPrezentácie programu AvenUložiť otlačok obrazovkyVybrať prezentáciu pre otvorenieChyba vo formáte prezentačného súboru “%s”Súbory Compass PLTSúbory CMAP XYZUpravená prezentáciaPrezentácia bola zmenená. Nechcete radšej uožiť zmeny?Neúspešné hľadanie.Súbory svx SurvexuSúbory MAK pre Compassvygeneruj filmHľadaťFind stations%d stations match %s%s%sNadmorská výškaMôžete prehliadať iba jeden 3D súbor&Postranný panel%.2f V, %.2f SOd %sH %.2f%s, V %.2f%s%s: %s, Vzd %.2f%s, Azim %03.1f%s, Sklon %s&Metricky&Stupne°ᵍChodby &rúrovité Ctrl+T&Predvoľby...Vykresliť steny priestorovOdhadnuté rozmery rezu na základe heuristikyVyznačiť meračské body krížikmiZvýrazniť body označené ako vchodyZvýrazniť body označené ako fixné bodyZvýrazniť vyexportované bodyDoplniť body ich názvamiPovoliť prekrývanie názvov na obrazovke (rýchlejšie)&Celoobrazovkový režim F11Zobraziť podzemné zámeryZobraziť povrchové zámeryZafarbiť povrchové zámery podľa výškyZobraziť povrchové zámery čiarkovanoZobraziť sieťmetrických jednotkáchanglosaských jednotkáchstupňoch (°)grádochZobraziť dļžky vZobraziť uhly vObrátiť zmysel kontrolyZobraziť mierkuZobraziť hļbkovú škáluZobraziť kompasZobraziť sklonZobraziť bočný panel%s: H %.2f%s, Azim %03.1f%s%s: V %.2f%sMeraniaZobrazenievýchodsever&Tlačiť... Ctrl+P&Nastavení tisku...&Export ako...Export&skryť sklon&skryť mierku&skryť popis farieb&skryť azimutHide si&blingsNedostatok pamäteInformácie o systéme:Prepočítací faktor musí byť nenulovýSeparator in survey nameCross-sectionsStenyChodbyshow survey date information (if present)Bad *alias commandNáhľad tlačeTlačiť&Tlačiť...Exportuj ako:Súbor “%s” sa nedá zapísaťZámery &na povrchuZmeniť miesto pohľaduVerzia %s vyžaduje funkčné OpenGL, ale to nie je dostupné.Splay Legs (&z)&Skryť&Fade&ZobraziťExport formatSúbory DXFSúbory EPSSúbory GPXSúbory HPGL pre plotrySúbory Compass PLT pre použitie v prog. CartoDuplicate date type “%s”Súbory SVGVchodyFixné bodyExportované bodyOrigin in centreFull coordinateskmmcm miles mile′″P&ercent∞PôdorysKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionViac ako jeden príkaz FIX bez súradníc: “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sSúbory KMLSúbory JSON&Uložiť ZáznamLog filesFarba podľa &meraniaTerra&inColo&ur byVyber súbor s povrchom k zobrazeniuSúbory s povrchomOtvoriť &digitálny model terénu...vygenerovať formát EPSvygenerovať formát GPXvygenerovať formát HPGLvygenerovať formát JSONvygenerovať formát KMLvygenerovať formát Survex POSbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)zámery na povrchusplay legsvchodyfixné bodyexportované bodycross-sectionsstenychodbyorigin in centrefull coordinatessymboly bodovpopisky bodovzámery pod povrchomPrichytiť na zemprichytiť na zemUnits “%s” are deprecated, assuming “grads” - see manual for detailsFarba podľa hori&zontálnej chybyFarba podľa &vertikálnej chybyColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGvygenerovať formát Survex 3dOutput coordinate system not setExpecting integer in range %d to %dSúbory DAT pre CompassSúbory CLP pre CompassFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayPredpokladá sa “%s”Nie je možné vytvoriť dočasný súborMacro “%s” not definedPosun (%3.2f,%3.2f,%3.2f): %sPridané: %sZrušené: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Nepodarilo sa nájsť bod %sNepodarilo sa nájsť zámeru %s → %sZačať od bodu %sRozvinutý rez vľavo od bodu %sRozvinutý rez vpravo od bodu %sRozvinutý rez vľavo od zámery %s → %sRozvinutý rez vpravo od zámery %s → %sPrerušený okruh na bode %sPrerušený okruh v zámere %s → %sZrkadlový smer rozvinutého rezu od bodu %sZrkadlový smer rozvinutého rezu od zámery %s → %sPoužiť nastavenie zo súboru: “%s”Zapisuje sa súbor %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Neplatný rokZ exaggeration factorsurvex-1.4.17/lib/Makefile.in0000664000175000017500000006703414766657026011473 # Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2024 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@ # Makefile for survex support files 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)) am__rm_f = rm -f $(am__rm_f_notfound) am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_apps_DATA) \ $(dist_gtksourceview3_DATA) $(dist_gtksourceview4_DATA) \ $(dist_packages_DATA) $(dist_pkgdata_DATA) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = Info.plist CONFIG_CLEAN_VPATH_FILES = 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 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__installdirs = "$(DESTDIR)$(appsdir)" \ "$(DESTDIR)$(gtksourceview3dir)" \ "$(DESTDIR)$(gtksourceview4dir)" "$(DESTDIR)$(packagesdir)" \ "$(DESTDIR)$(pkgdatadir)" DATA = $(dist_apps_DATA) $(dist_gtksourceview3_DATA) \ $(dist_gtksourceview4_DATA) $(dist_packages_DATA) \ $(dist_pkgdata_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am 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)` DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Info.plist.in $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_CXXFLAGS = @AM_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVEN_COPYRIGHT_MSG = @AVEN_COPYRIGHT_MSG@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COMMAVERSION = @COMMAVERSION@ COPYRIGHT_MSG = @COPYRIGHT_MSG@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIR = @DATADIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_TEXT = @EXTRA_TEXT@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ GDAL_CFLAGS = @GDAL_CFLAGS@ GDAL_LIBS = @GDAL_LIBS@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ 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@ PKGDOCDIR = @PKGDOCDIR@ PKGDOCDIR_EXPANDED = @PKGDOCDIR_EXPANDED@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PRETTYPACKAGE = @PRETTYPACKAGE@ PROJ_CFLAGS = @PROJ_CFLAGS@ PROJ_LIBS = @PROJ_LIBS@ RELEASE = @RELEASE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SPHINX_BUILD = @SPHINX_BUILD@ STRIP = @STRIP@ VERSION = @VERSION@ WERROR = @WERROR@ WXCONFIG = @WXCONFIG@ WX_CFLAGS = @WX_CFLAGS@ WX_CONFIG = @WX_CONFIG@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ 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@ SUBDIRS = icons images po_files = bg.po ca.po de.po de_CH.po el.po en_US.po es.po fr.po\ hu.po id.po it.po pl.po pt.po pt_BR.po ro.po ru.po sk.po zh_CN.po msg_files = $(po_files:.po=.msg) en.msg EXTRA_DIST = survex.pot $(po_files)\ po-to-msg.pl checkshortcut.pl extract-msgs.pl\ ChineseSimplified.isl\ ChineseTraditional.isl\ EnglishBritish.isl\ Greek.isl\ Indonesian.isl\ Romanian.isl\ make-pixel-font preload_font.h MAINTAINERCLEANFILES = $(msg_files) unifont.pixelfont preload_font.h dist_pkgdata_DATA = bcra3.svx bcra5.svx $(msg_files) unifont.pixelfont appsdir = $(datadir)/applications dist_apps_DATA = survex-aven.desktop gtksourceview3dir = $(datadir)/gtksourceview-3.0/language-specs dist_gtksourceview3_DATA = survex.lang gtksourceview4dir = $(datadir)/gtksourceview-4/language-specs dist_gtksourceview4_DATA = survex.lang packagesdir = $(datadir)/mime/packages dist_packages_DATA = survex.xml all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/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): Info.plist: $(top_builddir)/config.status $(srcdir)/Info.plist.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-dist_appsDATA: $(dist_apps_DATA) @$(NORMAL_INSTALL) @list='$(dist_apps_DATA)'; test -n "$(appsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appsdir)" || exit $$?; \ done uninstall-dist_appsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_apps_DATA)'; test -n "$(appsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appsdir)'; $(am__uninstall_files_from_dir) install-dist_gtksourceview3DATA: $(dist_gtksourceview3_DATA) @$(NORMAL_INSTALL) @list='$(dist_gtksourceview3_DATA)'; test -n "$(gtksourceview3dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(gtksourceview3dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(gtksourceview3dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gtksourceview3dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gtksourceview3dir)" || exit $$?; \ done uninstall-dist_gtksourceview3DATA: @$(NORMAL_UNINSTALL) @list='$(dist_gtksourceview3_DATA)'; test -n "$(gtksourceview3dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gtksourceview3dir)'; $(am__uninstall_files_from_dir) install-dist_gtksourceview4DATA: $(dist_gtksourceview4_DATA) @$(NORMAL_INSTALL) @list='$(dist_gtksourceview4_DATA)'; test -n "$(gtksourceview4dir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(gtksourceview4dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(gtksourceview4dir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gtksourceview4dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(gtksourceview4dir)" || exit $$?; \ done uninstall-dist_gtksourceview4DATA: @$(NORMAL_UNINSTALL) @list='$(dist_gtksourceview4_DATA)'; test -n "$(gtksourceview4dir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gtksourceview4dir)'; $(am__uninstall_files_from_dir) install-dist_packagesDATA: $(dist_packages_DATA) @$(NORMAL_INSTALL) @list='$(dist_packages_DATA)'; test -n "$(packagesdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(packagesdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(packagesdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(packagesdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(packagesdir)" || exit $$?; \ done uninstall-dist_packagesDATA: @$(NORMAL_UNINSTALL) @list='$(dist_packages_DATA)'; test -n "$(packagesdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(packagesdir)'; $(am__uninstall_files_from_dir) install-dist_pkgdataDATA: $(dist_pkgdata_DATA) @$(NORMAL_INSTALL) @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \ done uninstall-dist_pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(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-recursive 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-recursive 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 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(appsdir)" "$(DESTDIR)$(gtksourceview3dir)" "$(DESTDIR)$(gtksourceview4dir)" "$(DESTDIR)$(packagesdir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__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." -$(am__rm_f) $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_appsDATA install-dist_gtksourceview3DATA \ install-dist_gtksourceview4DATA install-dist_packagesDATA \ install-dist_pkgdataDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_appsDATA \ uninstall-dist_gtksourceview3DATA \ uninstall-dist_gtksourceview4DATA uninstall-dist_packagesDATA \ uninstall-dist_pkgdataDATA .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am check-local clean clean-generic cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-tags distdir \ dvi dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dist_appsDATA \ install-dist_gtksourceview3DATA \ install-dist_gtksourceview4DATA install-dist_packagesDATA \ install-dist_pkgdataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-dist_appsDATA \ uninstall-dist_gtksourceview3DATA \ uninstall-dist_gtksourceview4DATA uninstall-dist_packagesDATA \ uninstall-dist_pkgdataDATA .PRECIOUS: Makefile check-local: survex.pot srcdir=$(srcdir) LANG=C perl $(srcdir)/checkshortcut.pl $(msg_files) if grep '^#: n:' $(srcdir)/survex.pot|sort|uniq -c|grep -v '^ *1 '; then\ echo 'Duplicate message code(s) in survex.pot'; exit 1;\ fi for po in $(po_files) ; do\ $(MSGFMT) -c --check-accelerators -o /dev/null "$(srcdir)/$$po" || exit 1;\ done if cd "$(srcdir)" && grep 'msgstr "[0-9][0-9]*"' $(po_files); then\ echo '.po file with numeric code'; exit 1;\ fi $(msg_files): survex.pot $(po_files) po-to-msg.pl LANG=C perl $(srcdir)/po-to-msg.pl $(po_files) unifont.pixelfont preload_font.h: $(srcdir)/make-pixel-font $(srcdir)/make-pixel-font merge-pos: cd '$(srcdir)' && ./merge-po $(po_files) generate-todo: cd '$(srcdir)' && ./generate-po-todo $(po_files) launchpad-upload.tar.bz2: survex.pot $(po_files) cd '$(srcdir)' && tar --transform='s!^!survex/!' -jcf $@ $^ @echo 'Upload $@ to' @echo 'https://translations.launchpad.net/survex/trunk/+translations-upload' launchpad-diff: rm -rf lib mkdir lib cd lib && tar --strip-components=1 -xf ../launchpad-export.tar.gz for po in $(po_files) ; do \ lpo="lib/survex-$$po" ;\ [ -r "$$lpo" ] || continue ;\ perl ./unlaunchpad-po "$$lpo" | ./launchpad-merge-po "$$po" - > "lib/$$po" ;\ if ! diff -q "$$po" "lib/$$po" ; then \ echo "Edit changes for $$po ? (Y/n/q)" ;\ read ;\ case $$REPLY in \ q*) exit 0 ;;\ n*) ;;\ *) vimdiff "$$po" "lib/$$po" ;;\ esac ;\ fi ;\ done .PHONY: merge-pos # 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: # Tell GNU make to disable its built-in pattern rules. %:: %,v %:: RCS/%,v %:: RCS/% %:: s.% %:: SCCS/s.% survex-1.4.17/lib/pt.po0000664000175000017500000030017614766623454010404 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Ficheiro" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotação" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientação" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Vista" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Comandos" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Ajuda" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "A&presentação" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Uso" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Memória insuficiente" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Memória insuficiente (são necesssários mais %lu bytes)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Memória insuficiente: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Para processar estes dados é necessária a versão %s (ou posterior) do Survex." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "informação" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "alerta" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "erro" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "No arquivo incluído em %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix descontinuado - use *begin e *end em seu lugar" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Caractere “%c” não permitido em nome de base (use *SET NAMES para configurar os caracteres permitidos)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Campo não pode ser omitido" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Esperava valor numérico, encontrei “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Encontrei “%s” quando eram esperados “PRESERVE”, “TOUPPER” ou “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Erro no programa! Por favor, comunique aos autores" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Comando desconhecido “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Base “%s” igualada a ela mesma" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Azimute não pode ser omitido exceto em visadas em prumo" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Distância não pode ser omitido" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Final da linha não está em branco" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Há %d alerta(s)." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Falhou a execução do comando “%s”" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Erro ao ler o ficheiro" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Demasiados erros - desistindo" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT decontinuado - use *CALIBRATE/DATA/SD/UNITS com argumento DEFAULT em seu lugar" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Azimute fornecido numa visada vertical" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s sem o %s correspondente neste ficheiro" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Base “%s” não exportada da topo “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” não pode ser nome de base e de topografia ao mesmo tempo" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Esperava um nome de base" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Encontrado “%s” quando “EQUATES”, “EXPORTS” ou “PLUMBS” era esperado" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Encontrado “%s” quando “ON” ou “OFF” eram esperados" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Apenas uma base para o comando EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Tipo de quantidade “%s” desconhecida" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unidade “%s” desconhecida" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "O BEGIN correspondente não tem prefixo" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unidade “%s” inválida para tipo de quantidade" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrumento “%s” desconhecido" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Fator de escala tem que ser 1.0 para comando DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Fator de escala não pode ser zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Configuração “%s” desconhecida" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Classe de caracteres desconhecida: “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Nenhum dado topográfico" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Nome de arquivo “%s” referencia diretório ao invés de arquivo" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Topografia não completamente conectada a bases posicionadas" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Base já posicionada ou com correspondência a uma base posicionada" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Não foi possível abrir arquivo de saída “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Desvio-padrão deve ser positivo" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Visada com mesma base em ambas as pontas (“%s”) - erro de digitação?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Inclinação maior que %.f%s em valor absoluto" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tentativa de igualar duas bases posicionadas em coordenadas diferentes: “%s” e “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Igualando duas bases posicionadas nas mesmas coordenadas: “%s” e “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Comando FIX sem coordenadas - atribuindo (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Base já posicionada nessas coordenadas" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Mais de um comando FIX sem coordenadas: “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT deve estar logo após um “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Ano inválido (< 1900 or > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Ano inválido" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Azimute suspeito" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Distância negativa" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Mesma base posicionada duas vezes sem coordenadas" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Distância menor que mudança de profundidade" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Campo “%s” não é permitido em tipo de visada “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Faltam campos necessários ao tipo de visada “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Tipo de visada “%s” desconhecido" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Base “%s” já foi exportada" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Campo “%s” duplicado" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” com problemas" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Falta \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Base “%s” utilizada apenas uma vez, e com um prefixo explícito - erro de digitação?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "As seguintes bases não estão conectadas a uma base posicionada:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Topografia sem bases posicionadas. Assim %s foi posicionada em (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Base posicionada não usada “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Resolvendo sistema de %d equações" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Valor “%s” duplica valor(es) anterior(es)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Resolvendo uma equação" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Distância ajustada negativa" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "A data é no futuro!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Data final do intervalo ocorre antes da data inicial" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Especificada secção cruzada numa base “%s” inexistente" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Valores de CLINO e BACKCLINO têm que ser do mesmo tipo" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Mês inválido" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Dia inválido" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Esperando nome de topografia" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Impossível abrir ficheiro “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Não foi possível escrever no ficheiro “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Futuros usos deste recurso desaconselhado não serão reportados" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Ângulos de COMPASS e BACKCOMPASS diferem em %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Ângulos de CLINO e BACKCLINO diferem em %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” obsoleto - use “*data %s …” no lugar" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Ficheiro de imagem 3d “%s” com problemas" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Data e hora não disponível." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Erro ao ler o ficheiro “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Erro escrevendo no arquivo “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Erro escrevendo em arquivo" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Há %d alerta(s) e %d erro(s) - nenhum arquivo de saída criado" #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Arquivo “%s” tem um formato mais novo do que este programa consegue entender" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Norte" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Perfil em" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Planta" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "Pe&rfil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Perfil" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Planta" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calculando estatísticas" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Esperando cadeia de caracteres" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "número de argumentos insuficiente" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "número de argumentos excessivo" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FICHEIRO" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Removendo seqüências de ponta" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Concatenando seqüências" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calculando seqüências" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calculando seqüências de ponta" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplificando rede de visadas" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calculando rede de visadas" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Encontrado “%s” quando “F” ou “B” eram esperados" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Desenvolvimento linear das visadas = %7.2f%s (%7.2f%s corrigidos)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Desenvolvimento horizontal das visadas = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Desenvolvimento vertical das visadas = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Desnível = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensão Norte-Sul = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensão Leste-Oeste = %4.2f%s (de %s a %4.2f%s a %s a %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Há 1 loop." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Há %ld loops." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Tempo de CPU gasto %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Tempo gasto %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Tempo gasto não disponível" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Tempo gasto %5.2fs (tempo de CPU %5.2fs)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Desenvolvimento Original %6.2fm (%3d visadas), deslocado %6.2fm (%5.2fm/visada). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Erro %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Erro N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "exibir esta mensagem e sair" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "exibir número de versão e sair" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPÇÃO" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Escala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Tente “%s --help” para mais informações.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Processada em %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Perfil retificado" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Topografia contém somente uma base," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Topografia contém %ld bases," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " unidas por uma única visada." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " unidas por %ld visadas." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nodo" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nodos" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Topografia tem %ld componentes interligados." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Guardar Registo" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argumento numérico “%s” fora dos limites" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "argumento “%s” não é um número inteiro" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "argumento “%s” não é um número" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "“%s” era esperado" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "“%s” ou “%s” eram esperados" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "“%s”, “%s” ou “%s” eram esperados" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "“%s”, “%s”, “%s” ou “%s” eram esperados" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Base “%s” referenciada por *%s mas nunca usada" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Não há %s correspondente" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Prefixo não corresponde ao do BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Prefixo omitido no END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Leste, Norte, Altura )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr "" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Esperando data, encontrado “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 #, fuzzy msgid "only load the sub-survey with this prefix" msgstr "carregue apenas a sub-topografia com prefixo" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Fator em *UNITS não pode ser zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Não há dados de topografia no ficheiro 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Olhando para" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Acerca de %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Escolha um arquivo de relevo de superfície para examinar" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Arquivos de relevo de superfície" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 #, fuzzy msgid "Select a survey file to view" msgstr "Selecione um arquivo 3d para ser visualizado" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Ficheiros de Survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Todos os ficheiros" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 #, fuzzy msgid "Survex svx files" msgstr "Ficheiros de Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Ficheiros de COMPASS MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Ficheiros de COMPASS DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Ficheiros de COMPASS CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Ficheiros CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Ficheiros DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Ficheiros EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Ficheiros GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Ficheiros KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Ficheiros Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Ficheiros SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Ficheiros JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Ficheiros de registo" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Ferramenta de visualização de Levantamento topográfico" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Este programa é um software de livre distribuição, que pode ser copiado e distribuído sob os termos da Licença Pública Geral GNU, conforme publicada pela Free Software Foundation, versão 2 da licença ou (a critério do autor) qualquer versão posterior." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Sem data" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE não pode ser o primeiro valor" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE não pode ser o último valor" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Valores em mais de uma linha sem NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Valor “%s” deve estar antes do NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE só pode ser precedido por STATION, DEPTH e COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Não é possível calibrar ângulos e comprimentos ao mesmo tempo" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportar..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Au&to-Rodar\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Inverter Sentido" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Olhar para &Norte" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Olhar para &Leste" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Olhar para &Sul" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Olhar para &Oeste" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Planta" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Per&fil" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Restaurar Vista Predefinida" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vista" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elementos" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Formato para exportar" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d páginas (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Uma página" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimute" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Nome de base" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nomes de base" #: ../src/survexport.cc:147 #: n:475 #, fuzzy msgid "station labels" msgstr "nomes de base" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Marcas de base" #: ../src/survexport.cc:146 #: n:474 #, fuzzy msgid "station markers" msgstr "marcas de base" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Visadas Subterrâneas" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "visadas subterrâneas" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Secções cruzadas" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "secções cruzadas" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Parede" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "parede" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passagem" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "passagem" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Assente no chão" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "assente no chão" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Grau de inclinação" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Margens da Página" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Páginas em branco" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Nomes de base\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "&Tubos de Passagem\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 #, fuzzy msgid "Terr&ain" msgstr "Terra&in" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Marcas de base\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Grade\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "Caixa &Barreira\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Visadas Subterrâneas\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Visadas de Super&fície\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "visadas de superfície" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nomes &Sobrepostos" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Destacar &Entradas" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Destacar Bases Fi&xadas" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Destacar Bases Export&adas" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Entradas" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "entradas" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Bases Fixadas" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "bases fixadas" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Bases Exportadas" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "bases exportadas" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Pe&rspectiva" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Parede Texturi&zadas" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Distância de desvanecimento de Ob&jectos" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Visadas S&uavizadas" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Modo Ecrã &Completo\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Colorir de acordo com &Profundidade" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Colorir de acordo com &Data" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Colorir de acordo com Err&os" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 #, fuzzy msgid "Colour by &Horizontal Error" msgstr "Colorir de acordo com Erros &Horizontal" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 #, fuzzy msgid "Colour by &Vertical Error" msgstr "Colorir de acordo com Erros &Vertical" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Bússola" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Clinômetro" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Barra de &Escala" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Inverter Sentido\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Cancelar linha de medida\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicadores" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: opção “%s” é ambígua\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: opção “%c%s” não recebe nenhum argumento\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: opção “--%s” não recebe nenhum argumento\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: opção “%s” requer um argumento\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opção requer um argumento -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: a opção “--%s” é desconhecida\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: a opção “%c%s” é desconhecida\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opção inválida -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nova Apresentação" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Abrir Apresentação..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "Guardar Apre&sentação" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "&Guardar Apresentação como..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Marcar" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Reprodu&zir" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exportar como Filme..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Escolha um nome de arquivo de saída" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Apresentações Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Guardar a Captura de Ecrã" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Escolha uma apresentação para abrir" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Erro no formato da apresentação “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Ficheiros Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Ficheiros CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Apresentação Modificada" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "A apresentação actual foi modificada. Abandonar as alterações não guardadas ?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nada foi encontrado." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Procurar" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altura" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Só é possível examinar um arquivo 3d de cada vez" #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Painel lateral" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f L, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "De %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Azim %03.1f%s, Gradient %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Métrico" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Graus" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "P&ercentagem" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr "" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr "" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 #, fuzzy msgid "&Hide Compass" msgstr "&Esconder Bússola" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 #, fuzzy msgid "&Hide Clino" msgstr "&Esconder Clinômetro" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 #, fuzzy msgid "&Hide scale bar" msgstr "&Esconder Barra de escala" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Topográficos" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Apresentação" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Mostrar tudo" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Ocultar outros" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Leste" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Norte" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Abrir...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Abrir &Terreno..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Mostrar &Registo" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Imprimir...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "Configuração de &Página..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Captura de Ecrã..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Perfil Retifica&do..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exportar como..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exportar como:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportar" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informação sobre o Sistema:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Pré-visualização de Impressão" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Imprimir" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Imprimir..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Visadas de Super&fície" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr "" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Tempo: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Esta versão de %s necessita que o OpenGL funcione, mas não está." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Esconder" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Desvanecer" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 #, fuzzy msgid "&Dashed" msgstr "Das&hed" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Mostrar" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Lendo dados - por favor, aguarde…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Falha ao procurar a base %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, fuzzy, c-format msgid "Failed to find leg %s → %s" msgstr "Não foi encontrada a visada %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Começando a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, fuzzy, c-format msgid "Extending to the left from station %s" msgstr "Estendendo-se para a esquerda a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, fuzzy, c-format msgid "Extending to the right from station %s" msgstr "Estendendo-se para a direita a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, fuzzy, c-format msgid "Extending to the left from leg %s → %s" msgstr "A estender para a esquerda a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, fuzzy, c-format msgid "Extending to the right from leg %s → %s" msgstr "A estender para a direita a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "A terminar ciclo de levantamento na base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, fuzzy, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "A terminar ciclo de levantamento na visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, fuzzy, c-format msgid "Swapping extend direction from station %s" msgstr "A trocar direcção estendida a partir da base %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, fuzzy, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "A trocar a direcção da extensão a partir da visada %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "A aplicar ficheiro de especificações (specfile): “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Escrevendo %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Não foi possível analisar arquivo de erros (.err)" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Movido por (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Acrescentado: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Removido: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "A re-utilização de um prefixo é desaconselhada" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Prefixo usado originalmente aqui" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT descontinuado" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Erro no formato do arquivo de fontes “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Superfície Só&lida" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d bases encontradas" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferências..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Desenhar Paredes da Passagem" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimar leituras LRUD baseadas na heurística" #: n:350 #, fuzzy #~ msgid "Mark survey stations with crosses" #~ msgstr "Marcar as base com cruzes" #: n:351 #, fuzzy #~ msgid "Highlight stations marked as entrances" #~ msgstr "Realçar base marcadas como de entradas" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Realçar bases marcadas como pontos fixos" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Realçar bases que são exportadas" #: n:354 #, fuzzy #~ msgid "Mark survey stations with their names" #~ msgstr "Marcar base com os nomes delas" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permitir que os nomes se sobreponham na apresentação (mais rápido)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #, fuzzy #~ msgid "Display underground survey legs" #~ msgstr "Apresenta as visadas subterrâneas" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #, fuzzy #~ msgid "Display surface survey legs" #~ msgstr "Apresentar as visadas de superfície" #: n:359 #, fuzzy #~ msgid "Colour surface surveys by depth" #~ msgstr "Colorir topográficos de superficie segundo a profundidade" #: n:360 #, fuzzy #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Desenhar visadas de superficie com linhas tracejadas" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Desenhar uma grelha" #: n:362 #~ msgid "metric units" #~ msgstr "unidades métricas" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unidades imperiais" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "graus (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "ângulos" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Apresentar medidas em" #: n:367 #~ msgid "Display angles in" #~ msgstr "Apresentar ângulos em" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Inverter a direcção dos controlos do rato" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Apresentar Barra de escala" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Apresentar Barra de profundidade" #: n:371 #~ msgid "Display compass" #~ msgstr "Apresentar bússola" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Apresentar inclinómetro" #: n:373 #~ msgid "Display side panel" #~ msgstr "Apresentar painel lateral" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/ChineseSimplified.isl0000664000175000017500000004741514756727464013527 ; *** Inno Setup version 6.1.0+ Chinese Simplified messages *** ; ; To download user-contributed translations of this file, go to: ; https://jrsoftware.org/files/istrans/ ; ; Note: When translating this text, do not add periods (.) to the end of ; messages that didn't have them already, because on those messages Inno ; Setup adds the periods automatically (appending a period would result in ; two periods being displayed). ; ; Maintained by Zhenghan Yang ; Email: 847320916@QQ.com ; Translation based on network resource ; The latest Translation is on https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation ; [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. LanguageName=简体中文 ; If Language Name display incorrect, uncomment next line ; LanguageName=<7B80><4F53><4E2D><6587> ; About LanguageID, to reference link: ; https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c LanguageID=$0804 LanguageCodePage=936 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial ;TitleFontSize=29 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** 应用程序标题 SetupAppTitle=安装 SetupWindowTitle=安装 - %1 UninstallAppTitle=卸载 UninstallAppFullTitle=%1 卸载 ; *** Misc. common InformationTitle=信息 ConfirmTitle=确认 ErrorTitle=错误 ; *** SetupLdr messages SetupLdrStartupMessage=现在将安装 %1。您想要继续吗? LdrCannotCreateTemp=不能创建临时文件。安装中断。 LdrCannotExecTemp=不能执行临时目录中的文件。安装中断。 HelpTextNote= ; *** 启动错误消息 LastErrorMessage=%1.%n%n错误 %2: %3 SetupFileMissing=安装目录中的文件 %1 丢失。请修正这个问题或者获取程序的新副本。 SetupFileCorrupt=安装文件已损坏。请获取程序的新副本。 SetupFileCorruptOrWrongVer=安装文件已损坏,或是与这个安装程序的版本不兼容。请修正这个问题或获取新的程序副本。 InvalidParameter=无效的命令行参数:%n%n%1 SetupAlreadyRunning=安装程序正在运行。 WindowsVersionNotSupported=这个程序不支持当前计算机运行的Windows版本。 WindowsServicePackRequired=这个程序需要 %1 服务包 %2 或更高。 NotOnThisPlatform=这个程序将不能运行于 %1。 OnlyOnThisPlatform=这个程序必须运行于 %1。 OnlyOnTheseArchitectures=这个程序只能在为下列处理器结构设计的Windows版本中进行安装:%n%n%1 WinVersionTooLowError=这个程序需要 %1 版本 %2 或更高。 WinVersionTooHighError=这个程序不能安装于 %1 版本 %2 或更高。 AdminPrivilegesRequired=在安装这个程序时您必须以管理员身份登录。 PowerUserPrivilegesRequired=在安装这个程序时您必须以管理员身份或有权限的用户组身份登录。 SetupAppRunningError=安装程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后点击“确定”继续,或按“取消”退出。 UninstallAppRunningError=卸载程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后点击“确定”继续,或按“取消”退出。 ; *** 启动问题 PrivilegesRequiredOverrideTitle=选择安装程序模式 PrivilegesRequiredOverrideInstruction=选择安装模式 PrivilegesRequiredOverrideText1=%1 可以为所有用户安装(需要管理员权限),或仅为您安装。 PrivilegesRequiredOverrideText2=%1 只能为您安装,或为所有用户安装(需要管理员权限)。 PrivilegesRequiredOverrideAllUsers=为所有用户安装(&A) PrivilegesRequiredOverrideAllUsersRecommended=为所有用户安装(&A) (建议选项) PrivilegesRequiredOverrideCurrentUser=只为我安装(&M) PrivilegesRequiredOverrideCurrentUserRecommended=只为我安装(&M) (建议选项) ; *** 其它错误 ErrorCreatingDir=安装程序不能创建目录“%1”。 ErrorTooManyFilesInDir=不能在目录“%1”中创建文件,因为里面的文件太多 ; *** 安装程序公共消息 ExitSetupTitle=退出安装程序 ExitSetupMessage=安装程序还未完成安装。如果您现在退出,程序将不能安装。%n%n您可以以后再运行安装程序完成安装。%n%n现在退出安装程序吗? AboutSetupMenuItem=关于安装程序(&A)... AboutSetupTitle=关于安装程序 AboutSetupMessage=%1 版本 %2%n%3%n%n%1 主页:%n%4 AboutSetupNote= TranslatorNote= ; *** 按钮 ButtonBack=< 上一步(&B) ButtonNext=下一步(&N) > ButtonInstall=安装(&I) ButtonOK=确定 ButtonCancel=取消 ButtonYes=是(&Y) ButtonYesToAll=全是(&A) ButtonNo=否(&N) ButtonNoToAll=全否(&O) ButtonFinish=完成(&F) ButtonBrowse=浏览(&B)... ButtonWizardBrowse=浏览(&R)... ButtonNewFolder=新建文件夹(&M) ; *** “选择语言”对话框消息 SelectLanguageTitle=选择安装语言 SelectLanguageLabel=选择安装时要使用的语言。 ; *** 公共向导文字 ClickNext=点击“下一步”继续,或点击“取消”退出安装程序。 BeveledLabel= BrowseDialogTitle=浏览文件夹 BrowseDialogLabel=在下列列表中选择一个文件夹,然后点击“确定”。 NewFolderName=新建文件夹 ; *** “欢迎”向导页 WelcomeLabel1=欢迎使用 [name] 安装向导 WelcomeLabel2=现在将安装 [name/ver] 到您的电脑中。%n%n推荐您在继续安装前关闭所有其它应用程序。 ; *** “密码”向导页 WizardPassword=密码 PasswordLabel1=这个安装程序有密码保护。 PasswordLabel3=请输入密码,然后点击“下一步”继续。密码区分大小写。 PasswordEditLabel=密码(&P): IncorrectPassword=您所输入的密码不正确,请重试。 ; *** “许可协议”向导页 WizardLicense=许可协议 LicenseLabel=继续安装前请阅读下列重要信息。 LicenseLabel3=请仔细阅读下列许可协议。您在继续安装前必须同意这些协议条款。 LicenseAccepted=我同意此协议(&A) LicenseNotAccepted=我不同意此协议(&D) ; *** “信息”向导页 WizardInfoBefore=信息 InfoBeforeLabel=请在继续安装前阅读下列重要信息。 InfoBeforeClickLabel=如果您想继续安装,点击“下一步”。 WizardInfoAfter=信息 InfoAfterLabel=请在继续安装前阅读下列重要信息。 InfoAfterClickLabel=如果您想继续安装,点击“下一步”。 ; *** “用户信息”向导页 WizardUserInfo=用户信息 UserInfoDesc=请输入您的信息。 UserInfoName=用户名(&U): UserInfoOrg=组织(&O): UserInfoSerial=序列号(&S): UserInfoNameRequired=您必须输入用户名。 ; *** “选择目标目录”向导页 WizardSelectDir=选择目标位置 SelectDirDesc=您想将 [name] 安装在哪里? SelectDirLabel3=安装程序将安装 [name] 到下列文件夹中。 SelectDirBrowseLabel=点击“下一步”继续。如果您想选择其它文件夹,点击“浏览”。 DiskSpaceGBLabel=至少需要有 [gb] GB 的可用磁盘空间。 DiskSpaceMBLabel=至少需要有 [mb] MB 的可用磁盘空间。 CannotInstallToNetworkDrive=安装程序无法安装到一个网络驱动器。 CannotInstallToUNCPath=安装程序无法安装到一个UNC路径。 InvalidPath=您必须输入一个带驱动器卷标的完整路径,例如:%n%nC:\APP%n%n或下列形式的UNC路径:%n%n\\server\share InvalidDrive=您选定的驱动器或 UNC 共享不存在或不能访问。请选选择其它位置。 DiskSpaceWarningTitle=没有足够的磁盘空间 DiskSpaceWarning=安装程序至少需要 %1 KB 的可用空间才能安装,但选定驱动器只有 %2 KB 的可用空间。%n%n您一定要继续吗? DirNameTooLong=文件夹名称或路径太长。 InvalidDirName=文件夹名称无效。 BadDirName32=文件夹名称不能包含下列任何字符:%n%n%1 DirExistsTitle=文件夹已存在 DirExists=文件夹:%n%n%1%n%n已经存在。您一定要安装到这个文件夹中吗? DirDoesntExistTitle=文件夹不存在 DirDoesntExist=文件夹:%n%n%1%n%n不存在。您想要创建此文件夹吗? ; *** “选择组件”向导页 WizardSelectComponents=选择组件 SelectComponentsDesc=您想安装哪些程序的组件? SelectComponentsLabel2=选择您想要安装的组件;清除您不想安装的组件。然后点击“下一步”继续。 FullInstallation=完全安装 ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=简洁安装 CustomInstallation=自定义安装 NoUninstallWarningTitle=组件已存在 NoUninstallWarning=安装程序检测到下列组件已在您的电脑中安装:%n%n%1%n%n取消选定这些组件将不能卸载它们。%n%n您一定要继续吗? ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceGBLabel=当前选择的组件至少需要 [gb] GB 的磁盘空间。 ComponentsDiskSpaceMBLabel=当前选择的组件至少需要 [mb] MB 的磁盘空间。 ; *** “选择附加任务”向导页 WizardSelectTasks=选择附加任务 SelectTasksDesc=您想要安装程序执行哪些附加任务? SelectTasksLabel2=选择您想要安装程序在安装 [name] 时执行的附加任务,然后点击“下一步”。 ; *** “选择开始菜单文件夹”向导页 WizardSelectProgramGroup=选择开始菜单文件夹 SelectStartMenuFolderDesc=安装程序应该在哪里放置程序的快捷方式? SelectStartMenuFolderLabel3=安装程序现在将在下列开始菜单文件夹中创建程序的快捷方式。 SelectStartMenuFolderBrowseLabel=点击“下一步”继续。如果您想选择其它文件夹,点击“浏览”。 MustEnterGroupName=您必须输入一个文件夹名。 GroupNameTooLong=文件夹名或路径太长。 InvalidGroupName=文件夹名是无效的。 BadGroupName=文件夹名不能包含下列任何字符:%n%n%1 NoProgramGroupCheck2=不创建开始菜单文件夹(&D) ; *** “准备安装”向导页 WizardReady=准备安装 ReadyLabel1=安装程序现在准备开始安装 [name] 到您的电脑中。 ReadyLabel2a=点击“安装”继续此安装程序。如果您想要回顾或修改设置,请点击“上一步”。 ReadyLabel2b=点击“安装”继续此安装程序? ReadyMemoUserInfo=用户信息: ReadyMemoDir=目标位置: ReadyMemoType=安装类型: ReadyMemoComponents=选定组件: ReadyMemoGroup=开始菜单文件夹: ReadyMemoTasks=附加任务: ; *** TDownloadWizardPage wizard page and DownloadTemporaryFile DownloadingLabel=正在下载附加文件... ButtonStopDownload=停止下载(&S) StopDownload=您确定要停止下载吗? ErrorDownloadAborted=下载已中止 ErrorDownloadFailed=下载失败:%1 %2 ErrorDownloadSizeFailed=获取下载大小失败:%1 %2 ErrorFileHash1=校验文件哈希失败:%1 ErrorFileHash2=无效的文件哈希:预期 %1,实际 %2 ErrorProgress=无效的进度:%1,总共%2 ErrorFileSize=文件大小错误:预期 %1,实际 %2 ; *** “正在准备安装”向导页 WizardPreparing=正在准备安装 PreparingDesc=安装程序正在准备安装 [name] 到您的电脑中。 PreviousInstallNotCompleted=先前程序的安装/卸载未完成。您需要重新启动您的电脑才能完成安装。%n%n在重新启动电脑后,再运行安装完成 [name] 的安装。 CannotContinue=安装程序不能继续。请点击“取消”退出。 ApplicationsFound=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。 ApplicationsFound2=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。安装完成后,安装程序将尝试重新启动应用程序。 CloseApplications=自动关闭该应用程序(&A) DontCloseApplications=不要关闭该应用程序(&D) ErrorCloseApplications=安装程序无法自动关闭所有应用程序。在继续之前,我们建议您关闭所有使用需要更新的安装程序文件。 PrepareToInstallNeedsRestart=安装程序必须重新启动计算机。重新启动计算机后,请再次运行安装程序以完成 [name] 的安装。%n%n是否立即重新启动? ; *** “正在安装”向导页 WizardInstalling=正在安装 InstallingLabel=安装程序正在安装 [name] 到您的电脑中,请稍等。 ; *** “安装完成”向导页 FinishedHeadingLabel=[name] 安装完成 FinishedLabelNoIcons=安装程序已在您的电脑中安装了 [name]。 FinishedLabel=安装程序已在您的电脑中安装了 [name]。此应用程序可以通过选择安装的快捷方式运行。 ClickFinish=点击“完成”退出安装程序。 FinishedRestartLabel=要完成 [name] 的安装,安装程序必须重新启动您的电脑。您想要立即重新启动吗? FinishedRestartMessage=要完成 [name] 的安装,安装程序必须重新启动您的电脑。%n%n您想要立即重新启动吗? ShowReadmeCheck=是,我想查阅自述文件 YesRadio=是,立即重新启动电脑(&Y) NoRadio=否,稍后重新启动电脑(&N) ; used for example as 'Run MyProg.exe' RunEntryExec=运行 %1 ; used for example as 'View Readme.txt' RunEntryShellExec=查阅 %1 ; *** “安装程序需要下一张磁盘”提示 ChangeDiskTitle=安装程序需要下一张磁盘 SelectDiskLabel2=请插入磁盘 %1 并点击“确定”。%n%n如果这个磁盘中的文件可以在下列文件夹之外的文件夹中找到,请输入正确的路径或点击“浏览”。 PathLabel=路径(&P): FileNotInDir2=文件“%1”不能在“%2”定位。请插入正确的磁盘或选择其它文件夹。 SelectDirectoryLabel=请指定下一张磁盘的位置。 ; *** 安装状态消息 SetupAborted=安装程序未完成安装。%n%n请修正这个问题并重新运行安装程序。 AbortRetryIgnoreSelectAction=选择操作 AbortRetryIgnoreRetry=重试(&T) AbortRetryIgnoreIgnore=忽略错误并继续(&I) AbortRetryIgnoreCancel=关闭安装程序 ; *** 安装状态消息 StatusClosingApplications=正在关闭应用程序... StatusCreateDirs=正在创建目录... StatusExtractFiles=正在解压缩文件... StatusCreateIcons=正在创建快捷方式... StatusCreateIniEntries=正在创建 INI 条目... StatusCreateRegistryEntries=正在创建注册表条目... StatusRegisterFiles=正在注册文件... StatusSavingUninstall=正在保存卸载信息... StatusRunProgram=正在完成安装... StatusRestartingApplications=正在重启应用程序... StatusRollback=正在撤销更改... ; *** 其它错误 ErrorInternal2=内部错误:%1 ErrorFunctionFailedNoCode=%1 失败 ErrorFunctionFailed=%1 失败;错误代码 %2 ErrorFunctionFailedWithMessage=%1 失败;错误代码 %2.%n%3 ErrorExecutingProgram=不能执行文件:%n%1 ; *** 注册表错误 ErrorRegOpenKey=打开注册表项时出错:%n%1\%2 ErrorRegCreateKey=创建注册表项时出错:%n%1\%2 ErrorRegWriteKey=写入注册表项时出错:%n%1\%2 ; *** INI 错误 ErrorIniEntry=在文件“%1”中创建INI条目时出错。 ; *** 文件复制错误 FileAbortRetryIgnoreSkipNotRecommended=跳过这个文件(&S) (不推荐) FileAbortRetryIgnoreIgnoreNotRecommended=忽略错误并继续(&I) (不推荐) SourceIsCorrupted=源文件已损坏 SourceDoesntExist=源文件“%1”不存在 ExistingFileReadOnly2=无法替换现有文件,因为它是只读的。 ExistingFileReadOnlyRetry=移除只读属性并重试(&R) ExistingFileReadOnlyKeepExisting=保留现有文件(&K) ErrorReadingExistingDest=尝试读取现有文件时出错: FileExistsSelectAction=选择操作 FileExists2=文件已经存在。 FileExistsOverwriteExisting=覆盖已经存在的文件(&O) FileExistsKeepExisting=保留现有的文件(&K) FileExistsOverwriteOrKeepAll=为所有的冲突文件执行此操作(&D) ExistingFileNewerSelectAction=选择操作 ExistingFileNewer2=现有的文件比安装程序将要安装的文件更新。 ExistingFileNewerOverwriteExisting=覆盖已经存在的文件(&O) ExistingFileNewerKeepExisting=保留现有的文件(&K) (推荐) ExistingFileNewerOverwriteOrKeepAll=为所有的冲突文件执行此操作(&D) ErrorChangingAttr=尝试改变下列现有的文件的属性时出错: ErrorCreatingTemp=尝试在目标目录创建文件时出错: ErrorReadingSource=尝试读取下列源文件时出错: ErrorCopying=尝试复制下列文件时出错: ErrorReplacingExistingFile=尝试替换现有的文件时出错: ErrorRestartReplace=重新启动替换失败: ErrorRenamingTemp=尝试重新命名以下目标目录中的一个文件时出错: ErrorRegisterServer=无法注册 DLL/OCX:%1 ErrorRegSvr32Failed=RegSvr32 失败;退出代码 %1 ErrorRegisterTypeLib=无法注册类型库:%1 ; *** 卸载显示名字标记 ; used for example as 'My Program (32-bit)' UninstallDisplayNameMark=%1 (%2) ; used for example as 'My Program (32-bit, All users)' UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32位 UninstallDisplayNameMark64Bit=64位 UninstallDisplayNameMarkAllUsers=所有用户 UninstallDisplayNameMarkCurrentUser=当前用户 ; *** 安装后错误 ErrorOpeningReadme=尝试打开自述文件时出错。 ErrorRestartingComputer=安装程序不能重新启动电脑,请手动重启。 ; *** 卸载消息 UninstallNotFound=文件“%1”不存在。无法卸载。 UninstallOpenError=文件“%1”不能打开。无法卸载。 UninstallUnsupportedVer=此版本的卸载程序无法识别卸载日志文件“%1”的格式。无法卸载 UninstallUnknownEntry=在卸载日志中遇到一个未知的条目 (%1) ConfirmUninstall=您确认想要完全删除 %1 及它的所有组件吗? UninstallOnlyOnWin64=这个安装程序只能在64位Windows中进行卸载。 OnlyAdminCanUninstall=这个安装的程序需要有管理员权限的用户才能卸载。 UninstallStatusLabel=正在从您的电脑中删除 %1,请稍等。 UninstalledAll=%1 已顺利地从您的电脑中删除。 UninstalledMost=%1 卸载完成。%n%n有一些内容无法被删除。您可以手动删除它们。 UninstalledAndNeedsRestart=要完成 %1 的卸载,您的电脑必须重新启动。%n%n您想立即重新启动电脑吗? UninstallDataCorrupted=文件“%1”已损坏,无法卸载 ; *** 卸载状态消息 ConfirmDeleteSharedFileTitle=删除共享文件吗? ConfirmDeleteSharedFile2=系统中包含的下列共享文件已经不再被其它程序使用。您想要卸载程序删除这些共享文件吗?%n%n如果这些文件被删除,但还有程序正在使用这些文件,这些程序可能不能正确执行。如果您不能确定,选择“否”。把这些文件保留在系统中以免引起问题。 SharedFileNameLabel=文件名: SharedFileLocationLabel=位置: WizardUninstalling=卸载状态 StatusUninstalling=正在卸载 %1... ; *** Shutdown block reasons ShutdownBlockReasonInstallingApp=正在安装 %1。 ShutdownBlockReasonUninstallingApp=正在卸载 %1。 ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 版本 %2 AdditionalIcons=附加快捷方式: CreateDesktopIcon=创建桌面快捷方式(&D) CreateQuickLaunchIcon=创建快速运行栏快捷方式(&Q) ProgramOnTheWeb=%1 网站 UninstallProgram=卸载 %1 LaunchProgram=运行 %1 AssocFileExtension=将 %2 文件扩展名与 %1 建立关联(&A) AssocingFileExtension=正在将 %2 文件扩展名与 %1 建立关联... AutoStartProgramGroupDescription=启动组: AutoStartProgram=自动启动 %1 AddonHostProgramNotFound=%1无法找到您所选择的文件夹。%n%n您想要继续吗? survex-1.4.17/lib/ro.msg0000664000175000017500000004032014766643344010541 Svx Msg @©Nu am putut deschide fişierul “%s”Memorie insuficienta: “%s”Nu este posibila deschiderea fişierului “%s”Fişier imagine 3d “%s” gresitFişierul “%s” este un directorEroare in citirea fişierului “%s”Eroare in scrierea fişierului “%s”Fişierul “%s” are un format prea nou pe care acest program nu il poate intelegeSe asteapta camp numeric, s-a gasit “%s”S-a gasit “%s”, se astepta “PRESERVE”, “TOUPPER” sau “TOLOWER”Eroare de program! Va rugam anuntati autoriiComanda necunoscuta “%s”Statia “%s” este egala cu ea insasiValoarea azimutului poate fi omisa doar in cazul vizelor verticaleSfarsitul liniei nu este golAu fost %d avertismente.Executarea comenzii “%s” a eșuatEroare in citirea fişieruluiPrea multe erori - proces intrerupt*DEFAULT nu mai este folosit - folositi in schimb *CALIBRATE/DATA/SD/UNITS cu argumentul DEFAULTCitire a busolei la o masuratoare verticalaCorresponding %s was here%s nu are un corespondent %s in acest fişierMemorie insuficienta (nu am putut gasi %lu bytes)ROOT nu se recomandaPunctul de statie “%s” nu a fost exportat din masuratoarea “%s”“%s” nu poate fi acelasi timp punct de statie si denumire de masuratoareLipseste numele punctului de statieReintroducerea unui prefix deja existent nu este recomandataIntrodus aici in originalS-a gasit “%s” in loc de “EQUATES”, “EXPORTS”, sau “PLUMBS”S-a gasit “%s” in loc de “ON” sau “OFF”Doar un punct de statie in comanda EQUATECantitate necunoscuta “%s”Unitati necunoscute “%s”BEGIN nu are nici un prefix corespondentUnitate incorecta “%s” pentru cantitateEste necesara versiunea Survex %s sau superioara pentru procesarea acestor dateInstrument necunoscut “%s”Raportul scarii trebuie sa fie 1.0 pentru DECLINATIONParametru necunoscut “%s”Clasa de caractere necunoscuta “%s”Lipsesc masuratorile topograficeIn fişierul inclus de %s:%u: Topografia nu este complet conectata la puncte fixatePunct de statie deja fixat sau echivalat cu un punct fixCan't have a leg between two anonymous stationsDeviatia standard trebuie sa fie pozitivaFolosireMasuratoare cu acelasi punct (“%s”) la ambele capete - eroare de transcriere?Valoare a clinometrului peste %.f%s (valoare absoluta)Tentativa de egalizare a doua puncte de statie fixe diferite: “%s” si “%s”Egalizare a doua puncte de statie identice “%s” si “%s”Comanda FIX fara coordonate - se atribuie (0,0,0)Punct de statie deja fixat cu aceleasi coordonateanonymous station*EXPORT trebuie sa urmeze dupa “*BEGIN ”An gresit (< 1900 or > 2078)Azimut suspectDistanta negativaAcelasi punct de statie fixat de doua ori fara coordonateDistanta este mai mica decat difeneta de nivelDatele “%s” nu sunt permise in campul de date “%s”Lipsesc date pentru campul de date “%s”Tipul de date “%s” necunoscutPunctul de statie “%s” este deja exportatCampul “%s” duplicatFLAG “%s” necunoscutLipseste "Punctul de statie “%s” are o referinta unica, cu un prefix explicit - eroare de scriere?Urmatoarele puncte de statie nu sunt atasate unui punct fixatTopografia nu contine puncte fixate. Am fixat %s ca (0,0,0)Punct fix nefolosit “%s”No blank after tokenRezolv %d ecuatii simultaneAssuming 2 digit year is %dValoarea “%s” dubleaza campul/campurile precedent/eRezolv o ecuatieDistanta corectata negativData se gaseste in viitor!Data finala este anterioara datei de inceputCulori in functie de &LungimeaCross section specified at non-existent station “%s”Citirile CLINO si BACKCLINO trebuie sa fie de acelasi tip.Colour by &GradientLuna incorectaZi incorecta3d file format versions %d to %d supportedSe asteapta o denumire de topografie.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directioneroareDistanta nu poate fi omisaFolosirea ulterioara a acestei facilitate dezaprobată nu va fi semnalata%Lectura TAPE si BACKTAPE nu concorda cu %sLectura COMPASS si BACKCOMPASS nu concorda cu %sLectura CLINO si BACKCLINO nu concorda cu %sStation NameFişier CSVproduce CSV outputAstept “%s” sau “%s”“*data %s %c …” nu este agreata - folositi “*data %s …” in locSe citesc datele - va rog asteptati…avertisment%a,%Y.%m.%d %H:%M:%S %ZData si ora nu sunt disponibile.*prefix contine eroare - folositi in schimb *begin si *endFolosirea caracterului “%c” in numele statiei, nu este permisa (folositi *SET NAMES pentru a modifica lista de caractere)Eroare in scrierea fişieruluiLectura fişierului .err nu a putut fi realizataAu fost %d avertisment(e) si %d eroare(erori) - nu s-a generat nici un fişier.Aceasta rubrica nu poate fi omisaNordProfil in directia&PlanProfilprint and exit (requires a 3d file)Calculez statisticileCamp de caractere asteptatParametrii insuficientiPrea multi parametriiFISIERElimin traversele terminaleLeg traverseleCalculez traverseleCalculez traversele terminaleSimplific reteauaCalculez reteauaAm gasit “%s”, asteptam “F” sau “B”Lungimea totala a masuratorilor topografiei = %7.2f%s (%7.2f%s ajustat)Lungimea totala in plan a masuratorilor topografiei = %7.2f%sLungimea totala verticala a masuratorilor topografiei = %7.2f%sInterval vertical = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)Extindere Nord-Sud = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)Extindere Est-Vest = %4.2f%s (de la %s la %4.2f%s de la %s la %4.2f%s)Este 1 inchidere.Sunt %ld inchideri.Timp CPU folosit %5.2fsTimp utilizat %5.2fsTimp utilizat indisponibilTimp utilizat %5.2fs (timp CPU %5.2fs)Arăta &jurnalulLungimea originala %6.2fm (%3d legs), ajustata %6.2fm (%5.2fm/masuratoare). Eroare %6.2f%%Eroare N/Agenerate grid (default %sm)station labels text height (default %s)afişează acest mesaj şi terminăafişează informaţii despre versiune şi terminăstation marker size (default %s)OPŢIUNEScarainclude items exported by defaultproduce DXF outputÎncercaţi “%s --help” pentru informaclţii suplimentare. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsSurvex pos filesProcesat in %sPlan view, %s up pageElevation facing %slog output to .log filespecify the 3d file format version to outputTopografia contine 1 punct de statie,Topografia contine %ld puncte de statie, unite printr-o masuratoare. unite prin %ld masuratori.nodnoduriTopografia contine %ld componente conexe.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Reprocessargumentul numeric “%s” in afara intervalului acceptatargumentul “%s” nu este un intregargumentul “%s” nu este un numarAstept “%s”, “%s”, sau “%s”Astept “%s”, “%s”, “%s” sau “%s”Punctul de statie “%s” a fost definit ca *%s dar nu a fost folostProfil longitudinalLipseste %s corespunzatorPrefixul nu corespunde cu cel al lui BEGINPrefixul de incheiere omis in END( Est (X), Nord (Y), Altitudine Z )Display Depth: %d bpp (colour)Date asteptate, “%s” gasitincarcati doar sub-topografia cu prefixulFactorul *UNITS trebuie sa fie diferit de zero&Captura ecran...Nu exista date de topografie in fişierul 3d “%s”Directierewind file and read it a second timeDespre %sSelectati un fişier 3d pentru vizualizareFişier Survex 3dToate fişiereleUtilitar pentru vizualizarea topografiei&Fişier&Rotire&Orientare&Vizualizare&Controale&Ajutor&Prezentarescale (50, 0.02, 1:50 and 2:100 all mean 1:50)FILE1 FILE2 [THRESHOLD]Acest program este liber; îl puteţi redistribui şi/sau modifica în conformitate cu termenii Licenţei Publice Generale GNU aşa cum este publicată de Free Software Foundation; fie versiunea 2 Licenţei, fie (la latitudinea dumneavoastră) orice versiune ulterioară.&Deschide... Ctrl+OFără datăNEWLINE nu poate fi prima lecturaNEWLINE nu poate fi ultima lecturaLectura pe mai multe randuri, dar nici o NEWLINELectura “%s” trebuie sa preceada NEWLINEen:226 NEWLINE poate fi precedat doar de STATION, DEPTH, si COUNTNu pot calibra unghiurile verticale si lungimile in acelasi timp%s Error LogAll survey files&Exporta...&Auto-rotatie Space%d/%d↑%s 1:%.0f&Schimba directia%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPerspecti&vaPereti cu te&xtura&Obiecte indepartate neclareVizualizare spre &NordVizualizare spre &EstVizualizare spre &SudVizualizare spre &VestProfil longitudinal 1:%.0fArată totAscunde restulPro&fil Longitudinal...&PlanProfi&l&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specified&Restabiliti setarile initialeFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Elemente%d pagini (%dx%d)O paginaAzimutNumele punctelor de statieCruciPortiuni subterane ale topografieiUnghi de inclinatieLimite paginaLegendăDocument nouINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]&Numele punctelor de statie Ctrl+N&Cruci Ctrl+X&Portiuni subterane ale topografiei Ctrl+LNu&me suprapuse&Busolă&ClinometruColour &KeyBara de control a &scarii (unused in perspective view)Timp: &Schimbati sensul Ctrl+R&Anulati linia de masura Escape secs (0 = auto; *6 = 6 times auto)VizualizareElevation facing %s, tilted %sP&rofilReference to station “%s” from non-existent survey “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Culori in functie de &EroareNot in loopPortiuni de &suprafata ale topografiei Ctrl+FCulori in functie de &adancimeCulori in functie de &DataMarcheaza &IntrarileMarcheaza Punctele &FixeMarc&heaza Punctele Exportate&Grid Ctrl+GElementele topografiei &rotunjiteI&ndicatorii%s: opţiunea “%s” este ambiguă Input coordinate system must be specified for “%s”%s: opţiunea “%c%s” nu permite un argument %s: opţiunea “--%s” nu permite un argument No survey date specified - using 0 for magnetic declination%s: opţiunea “%s” necesită un argument %s: opţiunea necesită un argument -- %c %s: opţiune nerecunoscută “--%s” %s: opţiune nerecunoscută “%c%s” Expected number or “AUTO”%s: opţiune invalidă -- %c Prezentare &noua&Deschidere prezentare...&Salvare PrezentareSalvare Prezentare &ca...&Marcheaza&Vizualizeaza&Exporta ca Animatie...Cadr&u Ctrl+BSelectati un fişier pentru iesirePrezentare AvenSalvare captura de ecranDeschidere prezentareEroare in formatul fişierului prezentare “%s”Fişier Compass PLTFişier CMAP XYZPrezentare ModificataPrezentarea curenta a fost modificata. Se abandoneaza schimbarile nesalvate?Nici un element nua fost gasit.Fişier Survex svxFişier Compass MAKExport MovieGăseşteFind stations%d stations match %s%s%sAltitudinePuteti vizualiza doar un fişier 3d odata&Cadran lateral%.2f E, %.2f NDe la %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Azim %03.1f%s, Gradient %s&Metric&Grade°ᵍPasaje &Tub Ctrl+T&Preferinte...Deseneaza peretiiEstimeaza masuratorile SDSJ pe baze euristiceMarcheaza punctele de statie cu cruciEvidentiaza punctele de statie selectate ca intrariEvidentiaza punctele de statie selectate ca puncte fixeEvidentiaza punctele de statie care sunt exportateMarcheaza punctele de statie cu numele lorPermite suprapunerea numelor (mai rapid)Afisare pe tot ecranu&l F11Afisare masuratori subteraneAfisare masuratori de suprafataColorare masuratori suprafata in functie de altitudineDeseneaza masuratorile de suprafata cu linie intreruptaAfiseaza un gridMetriunitati masura englezestigrade sexagesimale (°)grade zecimaleAfisare distante inAfisare unghiuri inSchimba sensul butoanelor de controlAfiseaza scaraAfiseaza scara de adancimeAfiseaza busolăAfiseaza clinometrulAfiseaza casuta laterala%s: H %.2f%s, Azim %03.1f%s%s: V %.2f%sMasuratoriPrezentareEstNord&Imprimare... Ctrl+PInitializare &pagina...&Exporta ca...Exporta&Ascunde Clinometru&Ascunde bara de control a &scarii&Hide colour key&Ascunde BusolăHide si&blingsMemorie insuficientaInformatii despre Sistem:Raportul scarii trebuie sa fie diferit de zeroSeparator in survey nameSectiuni transversalePeretiPasajeshow survey date information (if present)Bad *alias commandVizualizare inaintea imprimariiImprimare&Imprimare...Exporta ca:Nu a putut fi scris fişierul “%s”&Portiuni de suprafata ale topografieiEdit WaypointThis version of %s requires OpenGL to work, but it isn’t available.Splay Legs (&z)&Ascunde&FadeA&rătaExport formatFişier DXFFişier EPSFişier GPXHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”Fişier SVGIntrarilePunctele FixePunctele ExportateOrigin in centreFull coordinateskmmcm miles mile′″&Procent∞PlanKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionMai mult de o comanda FIX fara coordonate: “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sFişier KMLFişier JSON&Salvează jurnalulFişiere jurnalulCulori in functie de &TopografiaTerr&ainColour by (&q)Selectati un model digital al terenului pentru vizualizareModel digital al terenuluiDeschidere &Model Teren...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)portiuni de suprafata ale topografieisplay legsintrarilepunctele fixepunctele exportatesectiuni transversaleperetipasajeorigin in centrefull coordinatescrucinumele punctelor de statieportiuni subterane ale topografieiClamp to groundclamp to groundUnits “%s” are deprecated, assuming “grads” - see manual for detailsColour by &Horizontal ErrorColour by &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sinfoconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dFişier Compass DATFişier Compass CLPFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayAstept “%s”Failed to create temporary fileMacro “%s” not definedMutat cu (%3.2f,%3.2f,%3.2f): %sAdaugat: %sEliminat: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Nu s-a gasit punctul de statie %sNu s-a gasit masuratoarea %s → %sIncepind cu punctul de statie %sExtindere spre stanga incepind cu punctul de statie %sExtindere spre dreapta incepind cu punctul de statie %sExtindere spre stanga incepind cu masuratoarea %s → %sExtindere spre drepta incepind cu masuratoarea %s → %sTopografia intrerupta incepind cu punctul de statie %sTopografia intrerupta incepind cu masuratoarea %s → %sSchimbare directie desen incepind cu punctul de statie %sSchimbare directie desen incepind cu masuratoarea %s → %sAplicare fişier de specificatii: “%s”Scriere %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)An gresitZ exaggeration factorsurvex-1.4.17/lib/ru.msg0000664000175000017500000007431514766643344010562 Svx Msg x©Невозможно открыть файл “%s”Возникла нехватка памяти при чтении файл “%s”Невозможно открыть выходной файл “%s”Файл “%s” не распознан как корректный .3d файл SurvexИмя файла “%s” ссылается на каталог файловой системыОшибка чтения из файла “%s”Ошибка записи в файла “%s”Файл “%s” имеет более новый формат, с которым данная версия программы не может работатьОжидается числовое значение, но вместо него получено “%s”Вместо “%s” ожидаются “PRESERVE”, “TOUPPER” или “TOLOWER”Обнаружена ошибка в программе! Пожалуйста сообщите о ней авторамНеизвестная комманда “%s”Пикет “%s” был объявлен эквивалентным самому себеАзимут не может быть пропущен за исключением вертикальных замеровКонец строки не пустПолучено %d предупреждений.Невозможно выполнить внешнюю команду: “%s”Ошибка при чтении файлаВозникло слишком много ошибок - выполнение прервано*DEFAULT устарело - используйте *CALIBRATE/DATA/SD/UNITS с аргументом DEFAULT вместо негоАзимут указан для вертикального замераСоответствующее вхождение %s встречено здесь%s без соответствующего %s в этом файлеНедостаточно памяти (невозможно выделить %lu байт).Корневой символ в именах пикетов (ROOT символ, "") устарел и не рекомендуется к использованиюИмя пикета “%s” не экспортировано из топо-съемки “%s”“%s” не может быть одновременно именем пикета и топо-съемкиОжидается имя пикетаПовторное определение для уже существующей топо-съемки устарело и не рекомендуется к использованиюПервоначально встречено здесьВместо “%s” ожидаются “EQUATES”, “EXPORTS” или “PLUMBS”Вместо “%s” ожидаются “ON” или “OFF”Указано только одно имя пикета в команде EQUATEНеизвестный тип замеров “%s”Неизвестная единица измерения “%s”Для соответствующей команды BEGIN не указано имя топо-съемкиНедрпустимая единица измерения “%s” для значенияДля обработки данных этой топо-съемки требуется Survex версии %s и старше.Неизвестный инструмент “%s”Масштабный коэффициент должен равняться 1.0 для DECLINATIONНеизвестная настройка “%s”Неизвестный класс символов “%s”Нет данных топо-съемкиВ файле включенном из %s:%u: Имеются цепочки замеров не привязанные к фиксированным пикетам (висящие)Пикет уже зафиксирован или эквивалентен другому зафиксированному пикетуОтсутствует замер между двумя анонимными пикетамиСтандартное отклонение должно быть положительным числомИспользованиеЗамер с одинаковым именем пикета (“%s”) на обоих концах замера - опечатка?Абсолютное значение угла больше %.f%sПопытка объявить эквивалентными два фиксированных пикета с неодинаковыми координатами: “%s” и “%s”Объявление эквивалентности для двух фиксированных пикетов с одинаковыми координатами: “%s” и “%s”Команда FIX без указания координат - выполнена фиксация с координатами (0,0,0)Пикет с таким именем уже зафиксирован с такими же координатамианонимный пикетКоманда *EXPORT должна следовать непосредственно после команды “*BEGIN <имя_съемки>”Введите год в промежутке от 1900 до 2078Подозрительное значение азимутаОтрицательное значение длинны замераОдин и тот же пикет заыиксирован дважды без указания координатДлинна замера меньше чем изменение глубиныЗначения “%s” не допустимы для стиля топо-данных “%s”Недостаточно значений для стиля топо-данных “%s”Неизвестный стиль топо-данных “%s”Пикет с именем “%s” уже экспортированДублирование значений для “%s” в определении стиля топо-данныхFLAG “%s” - неизвестный флагНедостающие "Ссылка на пикет “%s” встречаетрся единственный раз и только с явным указанием имени топо-съемки - возможно это опечатка?Следующие пикеты не связаны с фиксированными пикетами (висящие пикеты):В топо-съемке не определено фиксированных пикетов. Поэтому "%s" зафиксировано с координатами (0,0,0)Фиксированный пикет “%s” нигде не используетсяОтсутствует пробел после лексемыРешение системы из %d уравненийДля года, указанного 2 цифрами использую значение %dТип значений “%s” дублирует один из типов значений в данном стиле топо-данныхРешение одного уравненияВ результате коррекций получена отрицательная длинна в замереДата больше текущей даты!Конечная дата меньше начальнойРаскраска по &длинеРазмеры сечения хода определены для несуществующего пикета “%s”Значения CLINO и BACKCLINO должны иметь одинаковый типРаскраска по &уклону ходаНедопустимый месяцНедопустимый день месяцаПоддерживаются версии формата 3d файла с %d по %dОжидается имя топо-съемкифайл .espec для управления разверткойотображать разрывы нитки на разрезе развертке с помощью линий поверхностной съемкиУ вертикальных замеров CLINO и BACKCLINO не могут совпадатьошибкаЗначение длинны не может отсутствоватьДальнейшее использование устаревших и не рекомендованных к использованию возможностей не будет порождать сообщений%Значения TAPE и BACKTAPE различаются на %sЗначения COMPASS и BACKCOMPASS различаются на %sЗначения CLINO и BACKCLINO различаются на %sИмя ПикетаCSV файлысоздавать CSVОжидается “%s” или “%s”“*data %s %c …” устарело - используйте “*data %s …” вместо негоЧтение исходных данных - пожалуйста ожидайте…предупреждение%a,%Y.%m.%d %H:%M:%S %ZДата и время недоступны.*prefix устарел - используйте *begin и *end вместо негоСимвол “%c” недопустим в имени пикета (используйте *SET NAMES для определения допустимых символов)Ошибка записи в файлНевозможно произвести разбор файла .errВизникло %d предупреждений и %d ошибок - результирующие файлы не созданы.Поле не может быть пропущеноСеверРазрез-сечение по азимутуП&ланРазрезраспечатать и выйти (нуобходимо указать 3d файл)Расчет статистикиОжидается строковое значениеслишком мало аргументовслишком много аргументовФАЙЛУдаление тупиковых ветокСоединение ветокРасчет колецРасчет тупиковых ветокУпрощение съемочной сетиРасчет съемочной сетиВместо “%s” ожидается “F” или “B”Общая длина замеров = %7.2f%s (%7.2f%s после коррекции)Суммарная горизонтальная проекционная длина замеров (план) = %7.2f%sСуммарная вертикальная проекционная длинна замеров (разрез) = %7.2f%sАмплитуда = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)Диапазон Север-Юг = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)Диапазон Восток-Запад = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)Количество колец: 1Количество колец: %ldЗатрачено времени процессора: %5.2fsЗатрачено времени всего: %5.2fsОтчет о затраченном времени недоступенЗатрачено времени %5.2fs (%5.2fs затрачено процессором)Показать &журналПервоначальная длина %6.2fм (%3d замеров), откорректировано на %6.2fм (%5.2fм/замер). Ошибка %6.2f%%Ошибка N/Aсоздавать сетку (по умолчанию %sм)высота текста для подписей имен пикетов (по умолчанию %s)показать справку и выйтивывести информацию о версии и выйтиразмер значка пикета (по умолчанию %s)ОПЦИЯМасштабвключены элементы, экспортируемые по умолчаниюсоздавать DXFВыполните “%s --help” для получения дополнительной информации. Интерпретировано как дата в формате ISO - используйте “*date surveyed %d-%02d” для устранения данного предупреждения, или “*date %d %d” если вам нужно указать периодсоздавать Compass PLT для Cartoсоздавать SVGНет данных о поверхности над районом подземной съемкиуказать местоположения для выходных файловотображать только краткие итоги (-qq для отображения только ошибок)не создавать файл .errтрактовать предупреждения как ошибкиSurvex pos файлыОбработано: %sПлан, верх страницы сориентирован на азимут %sРазрез-проекция, направление взгляда - азимут %sвыводить сообщения программы в .log файлуказать версию формата в котором будет сохранятся 3d файлТопо-съемка содержит пикетов: 1,Топо-съемка содержит пикетов: %ld, замеров: 1. замеров: %ld.реберных узлов съемочной сетиреберных узлов съемочной сетиТопо-съемка имеет %ld связанных компонентов.сортировать по величине горизонтальной составляющей ошибкисортировать по величине вертикальной составляющей ошибкисортировать по проценту ошибки относительно длинны кольцасортировать по средней величине ошибки на замерзаменить .err файл на пересортированный&Перерасчитатьчисловой аргумент “%s” имеет недопустимое значениеаргумент “%s” не является целым числомаргумент “%s” не является числомОжидается “%s”, “%s” или “%s”Ожидается “%s”, “%s”, “%s” или “%s”На пикет “%s” есть ссылки в командах *%s но пикет не используетсяРазрез-разверткаНет соответствующей команды %sИмя топо-съемки не совпадает с именем, указанным в команде BEGINИмя топосъемки указано в BEGIN, но отсутствует в END( На Восток, На Север, Вверх )Глубина цвета: %d bpp (цветное)Вместо “%s” ожидается датаобрабатывать топо-съемки только с указаным префиксомКоэффициент в команде *UNITS должен быть ненулевым&Снимок экрана...Данные топо-съемки не найдены в файле “%s”Азимутповторно перечитать файлО программе %sВыберите топо-съемку для просмотраSurvex 3d файлыВсе файлыИнструмент для визуализации топо-съемок пещер&ФайлВ&ращение&Ориентация&Вид&УправлениеПо&мощь&Презентациямасштаб (50, 0.02, 1:50 и 2:100 - все это равно 1:50)ФАЙЛ1 ФАЙЛ2 [ПОРОГ]Эта программа является свободным программным обеспечением; Вы можете распространять и/или изменять его в соответствии с условиями GNU General Public Licence, опубликованной Фондом свободного программного обеспечения; действительно либо для версии 2 Лицензии, либо (по вашему выбору) любой более поздней версии.&Открыть... Ctrl+OДата не указанаNEWLINE не может быть первым значениемNEWLINE не может быть последним значениемСтиль данных подразумевает наличие перевода строки, но NEWLINE отсутствуетЗначение “%s” должно быть перед NEWLINEЗначению NEWLINE могут предшествовать только значения STATION, DEPTH или COUNTНедопустимо совместно калибровать величины для углов и длинЖурнал ошибок %sВсе файлы топо-съемок&Экспорт...Ав&томатическое вращение Space%d/%d↑%s 1:%.0f&Поменять направление вращения%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&ПерспективаТекстурированные &стены&Затенять отдаленные объектыНа &СеверНа &ВостокНа &ЮгНа &ЗападРазрез 1:%.0fПоказать всеСкрыть остальныеРазрез-раз&вертка...&План&РазрезПун&ктир&Дублирующиеся ЗамерыФормат экспорта не указан и его невозможно определить по расширению файлаФормат экспорта не указанВосстановить об&зор по умолчаниюФАЙЛ1 и ФАЙЛ2 могут быть .pos или .3d файлами ПОРОГ это максимальное игнорируемое изменение в метрах вдоль любой из координатных осей (по умолчанию %s)Элементы%d страниц (%dx%d)Одна страницаАзимутНазвания пикетовПикетыПодземные замерыУгол наклонаГраницы страницыУсловные обозначенияПустые страницыВХОДНОЙ_ФАЙЛ [ВЫХОДНОЙ_3D_ФАЙЛ]ERR_ФАЙЛ [СКОЛЬКО][ФАЙЛ_ТОПОСЪЕМКИ]&Названия пикетов Ctrl+NПикет&ы Ctrl+XПод&земная нитка Ctrl+LП&ерекрывающиеся надписи&Компас&Угломер&Цветовая шкала&Масштаб (не используется с перспективной проекцией)Время: &Инвертировать управление Ctrl+R&Выйти из режима измерения Escape секунд (0 = авто; *6 = 6 раз авто)ВидРазрез-проекция, направление взгляда - азимут %s, угол %s&РазрезСсылка на пикет “%s” из несуществующей топо-съемки “%s”Ошибка в инициализации входной системы координат “%s”Ошибка в инициализации выходной системы координат “%s”Раскраска по &ошибкам на кольцахНе в кольцеПоверхностна&я нитка Ctrl+FРаскраска по &глубинеРаскраска по д&атеПодсветить &входыПодсветить &фиксированные точкиПодсветить &экспортированные точки&Сетка Ctrl+GСглаживать &линииИ&ндикаторы%s: опция “%s” неоднозначна Система координат должна быть определена перед использованием “%s”%s: опция “%c%s” не допускает указания аргумента %s: опция “--%s” не допускает указания аргумента Дата съёмки не указана - использовано магнитное склонение 0%s: опция “%s” требует указания аргумента %s: опция требует аргумент -- %c %s: неизвестная опция “--%s” %s: неизвестная опция “%c%s” Ожидается число или “AUTO”%s: неверная опция -- %c &Новая презантация&Открвть презентацию...&Сохранить презентациюСо&хранить презентацию как...От&метить&Воспроизвести&Экспортировать видео...Вме&щающий прямоугольник Ctrl+BВыберите имя выходного файлаПрезентации AvenСохранить снимок экранаВыберите презентацию для открытияОшибка формата в презентации “%s”Файлы Compass PLTФайлы CMAP XYZИзмененная презентацияТекущая презентация была изменена. Отменить не сохраненные изменения?Совпадений не найдено.Survex svx файлыCompass MAK файлыЭкспортировать видеоПоискFind stations%d stations match %s%s%sВысотаВы можете просматривать только один 3d файл одновременно.&Боковая панель%.2f В, %.2f СОт %sПроложение%.2f%s, Перепад %.2f%s%s: %s, Дл %.2f%s, Аз %03.1f%s, Угл %s&Метрические длины&Градусы°ᵍ&Объемные ходы Ctrl+T&Настройки...Отображать стены ходовОпределять замеры ЛПВН(LRUD) основываясь на эвристикеОтображать пикеты в виде крестовПодсветить пикеты, отмеченные как входаПодсветить пикеты, отмеченные как фиксированные точкиПодсветить экспортированные пикетыОтобразить имена пикетовРазрешить надписям с именами пикетов перекрывать другие надписи (скорость отрисовки выростет)Полноэкранный &режим F11Отобразить замеры выполнение под землейОтобразить замеры выполнение на поверхностиРаскрашивать поверхностные съемки по глубинеВыводить поверхностные замеры пунктирной линиейРисовать сеткуметрических единицаханглийских имперских единицахградусах (°)градахОтображать замеры вОтображать углы вИнвертировать управление просмотромОтображать масштабную шкалуОтображать шкалу глубинОтобразить компасОтобразить уголОтобразить боковую панель%s: Проложение %.2f%s, Азимут %03.1f%s%s: Перепад %.2f%sТопо-съемкиРежим презентацииВостосное отклонение (Easting)Северное отклонение (Northing)&Печать... Ctrl+P&Настройки страницы...&Экспортировать как...ЭкспортироватьСкрыть &уголСкрыть &масштабную шкалуСкрыть &цветовую шкалуСкрыть &компасСкрыть остальные на &этом уровнеНедостаточно памятиИнформация о системе:Масштабный коэффициент должен быть ненулевымРазделитель в имени топо-съемкиСеченияСтены ходовПещерныхе ходыотображать информацию о датах топо-съемок (если она присутствует)Недопустимая команда *aliasПредварительный просмотр печатиПечать&Печать...Экспортировать как:Невозможно сохранить файл “%s”&Поверхностнные замерыРедактировать точку маршрутаДанная версия %s для своей работы требует библиотеку OpenGL, но она не найдена.&Вспомогательные замеры&СкрытьПониженная &яркость&ПоказатьФормат экспортаDXF файлыEPS файлыGPX файлыHPGL файлы (для плоттера)Compass PLT файлы для использования в CartoДублирование типа даты “%s”SVG файлыВходыФиксированные точкиЭкспортированные пикетыНачало координат в центреПолные координатыкммсм миль миля′″&Печать∞Вид сверхуВид снизуНеизвестная система координатСистема координат не подходит для вывода результатовНеудача при переводе координат: %sИсходная проекция задана, а результирующая нетРезультирующая проекция задана, а исходная нетКоординаты не могут быть пропущены если указана система координатПроекция для координатПовторное использование команды FIX без координат для пикета “%s”Пикет “%s” фиксируется прежде чем командой CS задана координатная системаНедопустимая система координат: %sKML файлыJSON файлы&Сохранить журналФайлы журналаРаскраска по &топо-съемкеП&оверхность&Раскраска поВыберите файл с рельефом поверхности для отображенияФайлы рельефа поверхностиОткрыть &Рельеф...создавать EPSсоздавать GPXсоздавать HPGLсоздавать JSONсоздавать KMLсоздавать Survex POSазимут (90, 90d, 100g - все это равно 90°)угол наклона (45, 45d, 50g, 100% - все это равно 45°)план (эквивалентно --tilt=-90)разрез (эквивалентно --tilt=0)поверхностная ниткавспомогательные замерывходыфиксированные точкиэкспортированные пикетысечениястены ходовпещерныхе ходыначало координат в центреполные координатызначки пикетовназвания пикетовподземные замерыПрикрепить к поверхностиприкрепить к поверхностиЕдиница измерения “%s” считается устаревшей, используйте “grads” - подробности в руководстве пользователяРаскраска по гори&зонтальной компоненте в ошибкахРаскраска по &вертикальной компоненте в ошибкахРаскраска по &стилюОжидается румб (quadrant), получено “%s”Магнитное склонение: %s, сближение меридианов: %.1f%sинфоперобразовать MOVE и LINE в LEGсоздавать Survex 3dВыходная система координат не заданаОжидается целое число в диапазоне от %d до %dCompass DAT файлыCompass CLP файлыФайл “%s” не имеет географической привязкиПикет ранее зафиксирован или приравнен здесьНаложение &геоданных...Файлы геоданныхВыберите файл геоданных для наложенияОжидается “%s”Невозможно создать временный файлМакрос “%s” не определенПеремещено на (%3.2f,%3.2f,%3.2f): %sДобавлено: %sУдалено: %sДатум “%s” не поддерживаетсяWalls файлы проектаWalls файл топосъемкиИгнорируется “%s”[ФАЙЛ_ТОПОСЪЕМКИ]Распознано как номер второго пикета в замере, но возможно это отдельный ЛПВН без закрывающего разделителяэквивалентно --show-dates=-Не удалось найти пикет %sНе удалось найти замер %s → %sРазвертка начата от пикета %sОт пикета %s развертка влевоОт пикета %s развертка вправоОт замера %s → %s развертка влевоОт замера %s → %s развертка вправоРазрыв кольца на пикете %sРазрыв кольца на замере %s → %sИзменение направления развертки с пикета %sИзменение направления развертки с замера %s → %sПрименение файла (specfile): “%s”Сохранение %s…Шейп-файлы (линии)Шейп-файлы (точки)создавать Шейп-файл (линии)создавать Шейп-файл (точки)Не удалось инициализировать GDAL драйвер “%s”Не удалось создать слой GDAL (layer)Не удалось создать поле GDAL (field)Не удалось создать объект GDAL (feature)Приблизительный диапазон сближения меридианов: от %.1f%s на %s до %.1f%s на %s Неизвестная роль “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/de_CH.po0000664000175000017500000030470414766623453010723 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-16 03:14:41 +0000\n" "Last-Translator: Olly Betts \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de_CH\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Datei" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotieren" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientierung" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Ansicht" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Steuerung" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Hilfe" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Präsentation" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Aufruf" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Nicht genug Speicher vorhanden" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Nicht genug Speicher vorhanden (%lu Bytes nicht gefunden)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Nicht genug Speicher vorhanden beim Einlesen der Datei «%s»" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Zum Verarbeiten dieser Vermessungsdaten ist Survex-Version %s oder neuer erforderlich." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "Information" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "Warnung" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "Fehler" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "In von %s:%u aus eingelesener Datei:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix ist veraltet - stattdessen *begin und *end verwenden" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Ungültiges Zeichen «%c» in Messpunktname (erlaubte Zeichen können mit *SET NAMES definiert werden)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Eintragung fehlt" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Zahl erwartet, «%s» gelesen" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "«PRESERVE», «TOUPPER» oder «TOLOWER» erwartet, «%s» gelesen" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Fehler im Programm, bitte informieren Sie die Programmierer darüber" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Unbekanntes Befehl «%s»" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Messpunkt «%s» mit sich selbst gleichgesetzt" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Kompassablesung darf nur bei Lotstrecken weggelassen werden" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Längeneintrag fehlt" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Ende der Zeile ist nicht leer" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Es gab %d Warnungen." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Externer Befehl konnte nicht ausgeführt werden: «%s»" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Fehler beim Einlesen der Datei" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Abbruch wegen zu vieler Fehler" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT ist veraltet - stattdessen *CALIBRATE/DATA/SD/UNITS mit DEFAULT-Argument verwenden" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Kompassablesung für geloteten Schacht angegeben" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s ohne entsprechendes %s in dieser Datei" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Messpunkt «%s» nicht aus Vermessung «%s» exportiert" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Referenz zu Messpunkt «%s» aus nicht existierender Vermessung «%s»" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "«%s» kann nicht ein Messpunkt und eine Vermessung sein" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Messpunktname erwartet" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "«EQUATES», «EXPORTS» oder «PLUMBS» erwartet, «%s» gelesen" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "«ON» oder «OFF» erwartet, «%s» gelesen" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Nur ein Messpunkt im EQUATE-Befehl angegeben" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Unbekannte Grösse «%s»" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unbekannte Einheit(en) «%s»" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Deklination: %s, Meridiankonvergenz: %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "Zugehöriges BEGIN hatte kein Vermessungsnamen" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unpassende Einheit «%s» für diese Grösse" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Unbekanntes Instrument «%s»" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Skalenfaktor für die DECLINATION muss 1.0 sein" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Skalenfaktor muss von Null verschieden sein" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Ungültige Einstellung «%s»" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Unbekannte Zeichenklasse «%s»" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Keine Vermessungsdaten vorhanden" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Dateiname «%s» bezeichnet ein Verzeichnis" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Teile der Vermessung sind nicht mit festen Messpunkten verbunden" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Messpunkt ist schon fest oder gleich einem festen Punkt" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Ausgabedatei «%s» konnte nicht geöffnet werden" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Standardabweichung muss positiv sein" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Messstrecke mit einem auf sich selbst bezogenen Messpunkt («%s») – Tippfehler?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Neigungseintrag übertrifft %.f%s (Absolutwert)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Versuch, zwei verschiedene feste Messpunkte gleichzusetzen: «%s» und «%s»" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Zwei identische feste Punkte miteinander gleichgesetzt: «%s» und «%s»" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "FIX-Befehl ohne Koordinatenwerte, wurde auf (0,0,0) gesetzt" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Messpunkt schon auf die gleichen Koordinaten festgelegt" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Mehr als ein FIX-Befehl ohne Koordinaten für Messpunkt «%s»" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT muss unmittelbar auf «*BEGIN » folgen" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Ungültiges Jahr (< 1900 oder > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Ungültiges Jahr" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Seltsamer Kompasswert" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Negativer Längeneintrag" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Gleicher Messpunkt zweimal ohne Koordinaten angegeben" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Längeneintrag ist kleiner als Höhenunterschied" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Messgrösse «%s» ist beim Datenformat «%s» nicht erlaubt" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Zu wenige Messwerte für Datenformat «%s»" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Datenformat «%s» unbekannt" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Messpunkt «%s» ist bereits exportiert" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Messgrösse «%s» mehrfach angegeben" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG «%s» unbekannt" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "\" fehlt" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Messpunkt «%s» nur einmal erwähnt, mit explizitem Vermessungsnamen - Tippfehler?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Die folgenden Messpunkte haben keine festen Koordinaten:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "Vermessung hat keine Festpunkte. %s wurde als Nullpunkt (0,0,0) gewählt" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Fester Messpunkt «%s» wird nicht verwendet" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Löse System mit %d Gleichungen und Unbekannten" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Eintrag «%s» wiederholt frühere(n)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Eine Gleichung wird gelöst" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Negative korrigierte Streckenlänge" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Datum liegt in der Zukunft!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Das Enddatum ist früher als das Anfangsdatum" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Überschneidung an nicht existierendem Messpunkt «%s» angegeben" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "CLINO- und BACKCLINO-Eintrag müssen den gleichen Typ haben" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Ungültiger Monat" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Ungültiger Monatstag" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Versionen %d bis %d des 3D-Dateiformats werden unterstützt" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Name einer Vermessung erwartet" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Konnte Datei «%s» nicht öffnen" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "In die Datei «%s» konnte nicht geschrieben werden" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Es ist nicht möglich, eine temporäre Datei anzulegen" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Weitere Vorkommen dieser veralteten Funktionalität werden nicht gemeldet werden" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "TAPE- und BACKTAPE-Eintrag differieren um %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "COMPASS- und BACKCOMPASS-Eintrag differieren um %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "CLINO- und BACKCLINO-Eintrag differieren um %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "«*data %s %c …» ist veraltet - verwenden Sie stattdessen «*data %s …»" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "3D-Bilddatei «%s» ist fehlerhaft" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Datum und Uhrzeit nicht feststellbar." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Fehler beim Lesen der Datei «%s»" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Fehler beim Schreiben in die Datei «%s»" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Fehler beim Schreiben in eine Datei" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Es gab %d Warnungen und %d Fehler - keine Ausgabedatei erstellt." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Datei «%s» ist in einem neueren Format, als dieses Programm verarbeiten kann" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Norden" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Aufriss auf die Ebene" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Grundriss" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Aufriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Aufriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Grundriss" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Statistik wird berechnet" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Textfeld erwartet" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "zu wenige Argumente" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "zu viele Argumente" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "DATEI" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Einseitig angeschlossene Messzüge werden entfernt" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Messzüge zwischen Abzweigungen werden verbunden" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Messzüge zwischen Abzweigungen werden berechnet" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Einseitig angeschlossene Messzüge werden berechnet" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Netzwerk wird vereinfacht" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Netzwerk wird ausgeglichen" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "«F» oder «B» erwartet, «%s» gelesen" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Gesamtlänge der Messstrecken = %7.2f%s (%7.2f%s ausgeglichen)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Gesamte Horizontallänge der Messstrecken = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Gesamte Vertikallänge der Messstrecken = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Vertikale Erstreckung = %4.2f%s (von %s auf %4.2f%s bis %s auf %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Nord-Süd-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Ost-West-Erstreckung = %4.2f%s (von %s bei %4.2f%s bis %s bei %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Es gibt eine Ringverbindung." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Es gibt %ld Ringverbindungen." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Benötigte Rechenzeit (CPU) %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Benötigte Zeit %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Benötigte Zeit nicht feststellbar" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Benötigte Zeit %5.2fs (%5.2fs CPU-Zeit)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Ursprüngliche Länge %6.2fm (%3d Strecken), verändert um %6.2fm (%5.2fm/Messstrecke). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Fehler %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Fehler belanglos" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "Diese Hilfemeldung anzeigen und Beenden" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "Versionsinformation ausgeben und beenden" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPTION" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Massstab" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Versuchen Sie «%s --help» für weitere Hinweise.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "Berechnung von Seite %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Grundriss, %s oben" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Aufriss in Richtung %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Aufriss in Richtung %s, Neigung %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Abwicklung" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Vermessung enthält 1 Messpunkt," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Vermessung enthält %ld Messpunkte," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " verbunden durch 1 Messstrecke." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " verbunden durch %ld Messstrecken." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "Verzweigungspunkt" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "Verzweigungspunkte" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Netzwerk hat %ld zusammenhängende Teile." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Protokoll Speichern" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Neu berechnen" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "Numerisches Argument «%s» ist nicht im gültigen Bereich" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "Argument «%s» ist keine Ganzzahl" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "Argument «%s» ist keine Zahl" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "«%s» erwartet" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "«%s» oder «%s» erwartet" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "«%s», «%s» oder «%s» erwartet" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "«%s», «%s», «%s» oder «%s» erwartet" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "In *%2$s wird sich auf den Messpunkt «%1$s» bezogen, er wird aber nirgends verwendet" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Kein entsprechendes %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Vermessungsnamen passt nicht zu BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Vermessungsnamen vor END fehlt" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Rechtsw.,Hochwert, Höhe )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Farbtiefe: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (Farbe)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Datum erwartet, «%s» gelesen" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "Nur Teilvermessung mit diesem Präfix laden" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "Drucken und Beenden (3D-Datei erforderlich)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "Ort für Ausgabedateien festlegen" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "Nur kurze Zusammenfassung zeigen (-qq zeigt nur Fehler)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "Keine .err-Datei erstellen" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "Warnungen als Fehler behandeln" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "Ausgabe in .log-Datei protokollieren" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "Version des 3D-Dateiformats für die Ausgabe" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Faktor nach *UNITS muss von Null verschieden sein" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Keine Vermessungsdaten in 3D-Datei «%s»" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Blickricht." #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Über %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Geländedatei zur Ansicht wählen" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Geländedateien" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Vermessungsdatei zur Ansicht wählen" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3D-Dateien" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Alle Dateien" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Alle Vermessungsdateien" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "SVX-Dateien für Survex" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK-Dateien" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT-Dateien" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP-Dateien" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 #, fuzzy msgid "Walls survey data files" msgstr "Walls Vermessungsdatei" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV-Dateien" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF-Dateien" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS-Dateien" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX-Dateien" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL-Dateien für Plotter" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML-Dateien" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT-Dateien für Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex POS-Dateien" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG-Dateien" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON-Dateien" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Protokolldateien" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Visualisierungsprogramm für Vermessungsdaten" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "DATEI1 DATEI2 [SCHWELLE]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "DATEI1 und DATEI2 können .pos- oder .3d-Dateien sein\nSCHWELLE ist die max. zu ignorierende Abweichung entlang beliebiger Achsen in Metern (Vorgabe %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "EINGABE-DATEI [AUSGABE-3D-DATEI]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR-DATEI [WIE_VIELE]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[VERMESSUNGSDATEI]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[VERMESSUNGSDATEI]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Nicht datiert" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Nicht in Schleife" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE kann nicht der erste Eintrag sein" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE kann nicht der letzte Eintrag sein" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Abwechselnde Einträge, aber kein NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Eintrag «%s» muss vor NEWLINE stehen" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "Vor NEWLINE kann nur STATION, DEPTH oder COUNT stehen" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Winkel und Längen können nicht gleichzeitig kalibriert werden" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "*alias-Befehl ist fehlerhaft" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s-Fehlerprotokoll" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportieren..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Auto&matisch rotieren\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Andere Richtung" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Nach &Norden" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Nach &Osten" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Nach &Süden" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Nach &Westen" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Grundriss" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "&Aufriss" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "&Zurück zur voreingestellten Ansicht" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Ansicht" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elemente" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Exportformat" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d Seiten (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Eine Seite" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Richtung" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Messpunktname" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Messpunktnamen" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "Messpunktbezeichnungen" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Kreuze" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "Messpunktmarkierungen" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Messstrecken unter Grund" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "Messstrecken unter Grund" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Überschneidungen" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "Überschneidungen" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Wände" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "Wände" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passagen" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "Passagen" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Ursprung in der Mitte" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "Ursprung in der Mitte" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Vollständige Koordinaten" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "Vollständige Koordinaten" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Befestigt am Boden" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "Befestigt am Boden" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Neigung" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Seitenrahmen" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Legende" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Leerseiten" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "Messpunkt&namen\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "3D-Pa&ssagen\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "Kreu&ze\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Gitter\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Begrenzendes Rechteck\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Messstrecken unter Gr&und\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Messstrecken an der &Oberfläche\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "Messstrecken an der Oberfläche" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Über&lappende Namen" #: ../src/mainfrm.cc:873 #: n:450 #, fuzzy msgid "Co&lour by" msgstr "&Colour by" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "&Eingänge hervorheben" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "&Festpunkte hervorheben" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "E&xportierte Punkte hervorheben" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Eingänge" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "Eingänge" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Festpunkte" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "Festpunkte" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Exportierte Punkte" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "Exportierte Punkte" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "&Perspektive" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "&Wandtextur" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Dunsteffe&kt" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Geglättete &Messstrecken" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Vollbild-Modus\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Farbe je nach &Tiefe" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Farbe je nach &Datum" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Farbe je nach &Fehlern" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Farbe je nach &horizontalen Fehlern" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Farbe je nach &vertikalen Fehlern" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 #, fuzzy msgid "Colour by &Gradient" msgstr "Farbe je nach &Gefälle" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Farbe je nach &Länge" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Farbe je nach Verme&ssung" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Kompass" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Neigungsanzeige" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "&Farbschlüssel" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Massstab" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "Richtung &umkehren\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "Messlinie &abschalten\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "&Richtungsanzeiger" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: Die Option «%s» ist nicht eindeutig\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: Die Option «%c%s» erlaubt kein Argument\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: Die Option «--%s» erlaubt kein Argument\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: Die Option «%s» benötigt ein Argument\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Die Option verlangt ein Argmuent -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: Unbekannte Option «--%s»\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: Unbekannte Option «%c%s»\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: ungültige Option -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Neue Präsentation" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Präsentation öffnen..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "Präsentation &speichern" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Präsentation speichern &als..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Markieren" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "Abspie&len" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exportieren als Film..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Film exportieren" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Name der Ausgabedatei wählen" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Aven Präsentationen" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Bildschirmabzug speichern" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Zu öffnende Präsentation auswählen" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Formatfehler in der Präsentationsdatei «%s»" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Compass PLT Datei" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "CAMP XYZ Datei" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Modifizierte Präsentation" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Die aktuelle Präsentation wurde verändert. Abbrechen, ohne die Änderungen zu speichern?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Kein Treffer gefunden." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Suchen" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, fuzzy, c-format msgid "%d stations match %s%s%s" msgstr "%d Messpunkt(e) entsprechen %s%s%s" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Höhe" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Es kann nur eine 3D-Datei zugleich angezeigt werden." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Seitliches Kontrollfeld" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f R, %.2f H" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Von %s aus" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Richt. %03.1f%s, Gefälle %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metrisch" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Grad" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Prozentual" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " Meilen" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " Meile" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Kompass verstecken" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Clino verstecken" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "Massstab &verstecken" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "Farbschlüssel &verstecken" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Richt. %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Vermessungen" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Präsentation" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Alles zeigen" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Andere ausblenden" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Rechtswert" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Hochwert" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "Ö&ffnen...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Gelände&modell öffnen..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "&Protokoll anzeigen" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Drucken...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Seite einrichten..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Bildschirmabzug..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "&Abwicklung..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exportieren als..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exportieren als:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportieren" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Systeminformation:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Druckvorschau" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Drucken" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Drucken..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Messstrecken an der Ober&fläche" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Wegpunkt bearbeiten" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (in Ansicht «Perspektive» ungenutzt)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Zeit: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " Sekunden (0 = auto; *6 = 6 mal auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Diese Version von %s benötigt zum Funktionieren OpenGL, was jedoch nicht verfügbar ist." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Trennzeichen im Vermessungsnamen" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 #, fuzzy msgid "anonymous station" msgstr "anonymer Messpunkt" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Zwischen zwei anonymen Messpunkten kann keine Messstrecke sein" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "&Hilfslinien (splay)" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "Hilfslinien (splay)" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "&Doppelte Messstrecken" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Verstecken" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Dunsteffekt" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "&Gestrichelt" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Zeigen" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Daten werden eingelesen - bitte warten…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Messpunkt konnte nicht gefunden werden: %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Messstrecke konnte nicht gefunden werden: %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Bei diesem Messpunkt wird begonnen: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Von diesem Messpunkt aus nach links erweitern: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Von diesem Messpunkt aus nach rechts erweitern: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Von dieser Messstrecke aus nach links erweitern: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Von dieser Messstrecke aus nach rechts erweitern: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Messschleife wird an diesem Messpunkt unterbrochen: %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Messschleife wird an dieser Messstrecke unterbrochen: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Erweiterungsrichtung von Messpunkt %s wird umgekehrt" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Erweiterungsrichtung von Messstrecke wird umgekehrt: %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Spezifikationsdatei wird angewendet: «%s»" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "%s wird geschrieben…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "Nach horizontalem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "Nach vertikalem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "Nach prozentualem Fehlerfaktor sortieren" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "Nach Fehlern pro Messstrecke sortieren" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr ".err-Datei durch sortierte Version ersetzen" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr ".err-Datei konnte nicht interpretiert werden" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Verschoben um (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Hinzugefügt: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Entfernt: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "Erneutes Einführen einer Vermessung ist veraltet" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Bereits hier verwendet" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT ist veraltet" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "An den Anfang der Datei und neu einlesen" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "Datumsangaben einer Vermessung zeigen (wenn vorhanden)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Initialisierung des Eingabekoordinatensystems «%s» ist gescheitert" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Initialisierung des Ausgabekoordinatensystems «%s» ist gescheitert" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "Gitter erzeugen (Vorgabe %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "Texthöhe der Messpunktbezeichnungen (Vorgabe %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "Messpunktmarkierungsgrösse (Vorgabe %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "Survex 3d-Ausgabe erzeugen" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "CSV-Ausgabe erzeugen" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "DXF-Ausgabe erzeugen" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "EPS-Ausgabe erzeugen" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "GPX-Ausgabe erzeugen" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "HPGL-Ausgabe erzeugen" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "JSON-Ausgabe erzeugen" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "KML-Ausgabe erzeugen" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "Compass PLT-Ausgabe für Carto erzeugen" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "Survex POS-Ausgabe erzeugen" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "SVG-Ausgabe erzeugen" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Formatfehler in der Schriftdatei «%s»" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "&Durchgezogene Oberfläche" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d gefunden" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Einstellungen..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Wände einzeichnen" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "LROU-Werte heuristisch schätzen" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Messpunkte durch Kreuze markieren" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Messpunkte an den Eingängen hervorheben" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Feste Messpunkte hervorheben" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Exportierte Messpunkte hervorheben" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Messpunkte mit ihren Namen beschriften" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Überlappende Beschriftungen zulassen (schneller)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Messstrecken unter Grund anzeigen" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Messstrecken an der Oberfläche anzeigen" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Oberflächenvermessung nach Höhe einfärben" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Oberflächenstrecken gestrichelt zeichnen" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Gitter einzeichnen" #: n:362 #~ msgid "metric units" #~ msgstr "Meter" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "englische Einheiten" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "Altgrad (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "Neugrad (gon)" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Längen anzeigen in" #: n:367 #~ msgid "Display angles in" #~ msgstr "Winkel anzeigen in" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Maus-Steuerung umkehren" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Massstab anzeigen" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Tiefenskala anzeigen" #: n:371 #~ msgid "Display compass" #~ msgstr "Kompass anzeigen" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Neigungsmesser anzeigen" #: n:373 #~ msgid "Display side panel" #~ msgstr "Seitliches Kontrollfeld anzeigen" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/Greek.isl0000664000175000017500000010440214756727464011166 ; *** Inno Setup version 6.1.0+ Greek messages *** ; ; To download user-contributed translations of this file, go to: ; https://jrsoftware.org/files/istrans/ ; ; Note: When translating this text, do not add periods (.) to the end of ; messages that didn't have them already, because on those messages Inno ; Setup adds the periods automatically (appending a period would result in ; two periods being displayed). ; ; Originally translated by Anastasis Chatzioglou, baldycom@hotmail.com ; Updated by XhmikosR [XhmikosR, my_nickname at yahoo dot com] ; Updated to version 6.1.0+ by Vasileios Karamichail, v.karamichail@outlook.com ; [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. LanguageName=Ελληνικά LanguageID=$0408 LanguageCodePage=1253 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial ;TitleFontSize=29 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** Application titles SetupAppTitle=Εγκατάσταση SetupWindowTitle=Εγκατάσταση - %1 UninstallAppTitle=Απεγκατάσταση UninstallAppFullTitle=%1 Απεγκατάσταση ; *** Misc. common InformationTitle=Πληροφορίες ConfirmTitle=Επιβεβαίωση ErrorTitle=Σφάλμα ; *** SetupLdr messages SetupLdrStartupMessage=Θα εκτελεστεί η εγκατάσταση του %1. Θέλετε να συνεχίσετε; LdrCannotCreateTemp=Σφάλμα στη δημιουργία προσωρινού αρχείου. Η εγκατάσταση τερματίστηκε LdrCannotExecTemp=Αδύνατη η εκτέλεση αρχείου στον φάκελο προσωρινών αρχείων. Η εγκατάσταση τερματίστηκε HelpTextNote= ; *** Startup error messages LastErrorMessage=%1.%n%nΣφάλμα %2: %3 SetupFileMissing=Το αρχείο %1 λείπει από τον κατάλογο εγκατάστασης. Διορθώστε το πρόβλημα ή αποκτήστε ένα νέο αντίγραφο του προγράμματος. SetupFileCorrupt=Το αρχείο εγκατάστασης είναι κατεστραμμένο. Παρακαλώ προμηθευτείτε ένα νέο αντίγραφο του προγράμματος. SetupFileCorruptOrWrongVer=Το αρχείο εγκατάστασης είναι κατεστραμμένο ή δεν είναι συμβατό με αυτήν την έκδοση του προγράμματος εγκατάστασης. Διορθώστε το πρόβλημα ή αποκτήστε ένα νέο αντίγραφο του προγράμματος. InvalidParameter=Μία μη έγκυρη παράμετρος χρησιμοποιήθηκε στη γραμμή εντολών:%n%n%1 SetupAlreadyRunning=Η εγκατάσταση τρέχει ήδη. WindowsVersionNotSupported=Αυτό το πρόγραμμα δεν υποστηρίζει την έκδοση των Windows που εκτελεί ο υπολογιστής σας. WindowsServicePackRequired=Αυτό το πρόγραμμα χρειάζεται το %1 Service Pack %2 ή νεότερο. NotOnThisPlatform=Αυτό το πρόγραμμα δεν μπορεί να εκτελεστεί σε %1. OnlyOnThisPlatform=Αυτό το πρόγραμμα μπορεί να εκτελεστεί μόνο σε %1. OnlyOnTheseArchitectures=Αυτό το πρόγραμμα μπορεί να εγκατασταθεί μόνο σε εκδόσεις των Windows που έχουν σχεδιαστεί για τις ακόλουθες αρχιτεκτονικές επεξεργαστών:%n%n%1 WinVersionTooLowError=Αυτό το πρόγραμμα απαιτεί %1 έκδοση %2 ή μεταγενέστερη. WinVersionTooHighError=Αυτό το πρόγραμμα δεν μπορεί να εγκατασταθεί σε %1 έκδοση %2 ή μεταγενέστερη. AdminPrivilegesRequired=Πρέπει να είστε συνδεδεμένοι ως διαχειριστής κατά την εγκατάσταση αυτού του προγράμματος. PowerUserPrivilegesRequired=Πρέπει να είστε συνδεδεμένοι ως διαχειριστής ή ως μέλος της ομάδας Power User κατά την εγκατάσταση αυτού του προγράμματος. SetupAppRunningError=Ο Οδηγός Εγκατάστασης εντόπισε ότι η εφαρμογή %1 εκτελείται ήδη.%n%nΠαρακαλώ κλείστε την εφαρμογή τώρα και πατήστε ΟΚ για να συνεχίσετε, ή Άκυρο για έξοδο. UninstallAppRunningError=Ο Οδηγός Απεγκατάστασης εντόπισε ότι η εφαρμογή %1 εκτελείται ήδη.%n%nΠαρακαλώ κλείστε την εφαρμογή τώρα και πατήστε ΟΚ για να συνεχίσετε, ή Άκυρο για έξοδο. ; *** Startup questions PrivilegesRequiredOverrideTitle=Επιλέξτε Τρόπο Εγκατάστασης PrivilegesRequiredOverrideInstruction=Επιλέξτε τον τρόπο εγκατάστασης PrivilegesRequiredOverrideText1=Το %1 μπορεί να εγκατασταθεί για όλους τους χρήστες (απαιτεί δικαιώματα διαχειριστή) ή μόνο για εσάς. PrivilegesRequiredOverrideText2=Το %1 μπορεί να εγκατασταθεί μόνο για εσάς ή για όλους τους χρήστες (απαιτεί δικαιώματα διαχειριστή). PrivilegesRequiredOverrideAllUsers=Εγκατάσταση για &όλους τους χρήστες PrivilegesRequiredOverrideAllUsersRecommended=Εγκατάσταση για όλ&ους τους χρήστες (συνιστάται) PrivilegesRequiredOverrideCurrentUser=Εγκατάσταση μόνο για &εμένα PrivilegesRequiredOverrideCurrentUserRecommended=Εγκατάσταση μόνο για &εμένα (συνιστάται) ; *** Misc. errors ErrorCreatingDir=Η εγκατάσταση δεν μπόρεσε να δημιουργήσει τον φάκελο "%1" ErrorTooManyFilesInDir=Δεν είναι δυνατή η δημιουργία ενός αρχείου στον φάκελο "%1" επειδή περιέχει πολλά αρχεία ; *** Setup common messages ExitSetupTitle=Τέλος Εγκατάστασης ExitSetupMessage=Η εγκατάσταση δεν έχει ολοκληρωθεί. Αν την τερματίσετε τώρα, το πρόγραμμα δεν θα εγκατασταθεί.%n%nΜπορείτε να εκτελέσετε ξανά την εγκατάσταση αργότερα.%n%nΈξοδος; AboutSetupMenuItem=&Σχετικά με την Εγκατάσταση... AboutSetupTitle=Σχετικά με την Εγκατάσταση AboutSetupMessage=%1 έκδοση %2%n%3%n%n%1 αρχική σελίδα:%n%4 AboutSetupNote= TranslatorNote= ; *** Buttons ButtonBack=< &Πίσω ButtonNext=&Επόμενο > ButtonInstall=&Εγκατάσταση ButtonOK=ΟΚ ButtonCancel=&Ακυρο ButtonYes=Ν&αι ButtonYesToAll=Ναι σε &Ολα ButtonNo=Ό&χι ButtonNoToAll=Όχι &σε όλα ButtonFinish=&Τέλος ButtonBrowse=&Αναζήτηση... ButtonWizardBrowse=Ανα&ζήτηση... ButtonNewFolder=&Δημιουργία νέου φακέλου ; *** "Select Language" dialog messages SelectLanguageTitle=Επιλογή Γλώσσας Οδηγού Εγκατάστασης SelectLanguageLabel=Επιλέξτε τη γλώσσα που θέλετε να χρησιμοποιήσετε κατά την εγκατάσταση. ; *** Common wizard text ClickNext=Πατήστε Επόμενο για να συνεχίσετε ή Άκυρο για να τερματίσετε την εγκατάσταση. BeveledLabel= BrowseDialogTitle=Αναζήτηση Φακέλου BrowseDialogLabel=Επιλέξτε ένα φάκελο από την ακόλουθη λίστα και πατήστε ΟΚ. NewFolderName=Νέος φάκελος ; *** "Welcome" wizard page WelcomeLabel1=Καλως ορίσατε στον Οδηγό Εγκατάστασης του [name] WelcomeLabel2=Θα γίνει εγκατάσταση του [name/ver] στον υπολογιστή σας.%n%nΣυνιστάται να κλείσετε όλες τις άλλες εφαρμογές πριν συνεχίσετε. ; *** "Password" wizard page WizardPassword=Κωδικός Πρόσβασης PasswordLabel1=Αυτή η εγκατάσταση προστατεύεται με κωδικό πρόσβασης. PasswordLabel3=Παρακαλώ εισάγετε τον κωδικό και πατήστε Επόμενο. PasswordEditLabel=&Κωδικός: IncorrectPassword=Ο κωδικός που έχετε εισάγει είναι λανθασμένος. Παρακαλώ, προσπαθήστε ξανά. ; *** "License Agreement" wizard page WizardLicense=Άδεια Χρήσης LicenseLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. LicenseLabel3=Παρακαλώ διαβάστε την ακόλουθη Άδεια Χρήσης. Θα πρέπει να αποδεχτείτε τους όρους της πριν συνεχίσετε την εγκατάσταση. LicenseAccepted=&Δέχομαι τους όρους της Άδειας Χρήσης LicenseNotAccepted=Δεν &αποδέχομαι τους όρους της Άδειας Χρήσης ; *** "Information" wizard pages WizardInfoBefore=Πληροφορίες InfoBeforeLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. InfoBeforeClickLabel=Όταν είστε έτοιμοι να συνεχίσετε με τον Οδηγό Εγκατάστασης, πατήστε Επόμενο. WizardInfoAfter=Πληροφορίες InfoAfterLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. InfoAfterClickLabel=Όταν είστε έτοιμοι να συνεχίσετε με τον Οδηγό Εγκατάστασης, πατήστε Επόμενο. ; *** "User Information" wizard page WizardUserInfo=Πληροφορίες Χρήστη UserInfoDesc=Παρακαλώ εισάγετε τα στοιχεία σας. UserInfoName=&Ονομα Χρήστη: UserInfoOrg=&Εταιρεία: UserInfoSerial=&Σειριακός Αριθμός: UserInfoNameRequired=Πρέπει να εισάγετε ένα όνομα. ; *** "Select Destination Location" wizard page WizardSelectDir=Επιλογή Φακέλου Εγκατάστασης SelectDirDesc=Πού θέλετε να εγκατασταθεί το [name]; SelectDirLabel3=Ο Οδηγός Εγκατάστασης θα εγκαταστήσει το [name] στον ακόλουθο φάκελο. SelectDirBrowseLabel=Για να συνεχίσετε, πατήστε Επόμενο. Εάν θέλετε να επιλέξετε διαφορετικό φάκελο, πατήστε Αναζήτηση. DiskSpaceGBLabel=Απαιτούνται τουλάχιστον [gb] GB ελεύθερου χώρου στο δίσκο. DiskSpaceMBLabel=Απαιτούνται τουλάχιστον [mb] MB ελεύθερου χώρου στο δίσκο. CannotInstallToNetworkDrive=Η εγκατάσταση δεν μπορεί να γίνει σε δίσκο δικτύου. CannotInstallToUNCPath=Η εγκατάσταση δεν μπορεί να γίνει σε διαδρομή UNC. InvalidPath=Πρέπει να δώσετε την πλήρη διαδρομή με το γράμμα δίσκου, για παράδειγμα:%n%nC:\APP%n%nή μια διαδρομή UNC της μορφής:%n%n\\server\share InvalidDrive=Ο τοπικός δίσκος ή ο δίσκος δικτύου που έχετε επιλέξει δεν υπάρχει ή δεν είναι προσβάσιμος. Παρακαλώ, επιλέξτε άλλον. DiskSpaceWarningTitle=Ανεπαρκής Χώρος στο Δίσκο DiskSpaceWarning=Η εγκατάσταση χρειάζεται τουλάχιστον %1 KB ελεύθερο χώρο στο δίσκο αλλά ο επιλεγμένος δίσκος διαθέτει μόνον %2 KB.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; DirNameTooLong=Το όνομα ή η διαδρομή του φακέλου είναι πολύ μεγάλη. InvalidDirName=Το όνομα του φακέλου δεν είναι έγκυρο. BadDirName32=Το όνομα του φακέλου δεν μπορεί να περιλαμβάνει κανέναν από τους παρακάτω χαρακτήρες:%n%n%1 DirExistsTitle=Ο Φάκελος Υπάρχει DirExists=Ο φάκελος:%n%n%1%n%nυπάρχει ήδη. Θέλετε να γίνει η εγκατάσταση σε αυτόν τον φάκελο παρόλα αυτά; DirDoesntExistTitle=Ο Φάκελος Δεν Υπάρχει DirDoesntExist=Ο φάκελος:%n%n%1%n%nδεν υπάρχει. Θέλετε να δημιουργηθεί; ; *** "Select Components" wizard page WizardSelectComponents=Επιλογή Λειτουργιών Μονάδων SelectComponentsDesc=Ποια στοιχεία θέλετε να εγκατασταθούν; SelectComponentsLabel2=Επιλέξτε τα στοιχεία που θέλετε να εγκαταστήσετε, αποεπιλέξτε τα στοιχεία που δεν θέλετε να εγκαταστήσετε. Πατήστε Επόμενο όταν είστε έτοιμοι να συνεχίσετε. FullInstallation=Πλήρης εγκατάσταση ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=Τυπική εγκατάσταση CustomInstallation=Προσαρμοσμένη εγκατάσταση NoUninstallWarningTitle=Οι Λειτουργικές Μονάδες Υπάρχουν NoUninstallWarning=Ο Οδηγός Εγκατάστασης εντόπισε ότι τα ακόλουθα στοιχεία είναι ήδη εγκατεστημένα στον υπολογιστή σας:%n%n%1%n%nΑποεπιλέγοντας αυτά τα στοιχεία δεν θα απεγκατασταθούν.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceGBLabel=Η τρέχουσα επιλογή απαιτεί τουλάχιστον [gb] GB χώρου στο δίσκο. ComponentsDiskSpaceMBLabel=Η τρέχουσα επιλογή απαιτεί τουλάχιστον [mb] MB χώρου στο δίσκο. ; *** "Select Additional Tasks" wizard page WizardSelectTasks=Επιλογή Επιπλέον Ενεργειών SelectTasksDesc=Ποιες επιπλέον ενέργειες θέλετε να γίνουν; SelectTasksLabel2=Επιλέξτε τις επιπλέον ενέργειες που θέλετε να γίνουν κατά την εγκατάσταση του [name] και πατήστε Επόμενο. ; *** "Select Start Menu Folder" wizard page WizardSelectProgramGroup=Επιλογή Φακέλου Μενού Έναρξης SelectStartMenuFolderDesc=Πού θέλετε να τοποθετηθούν οι συντομεύσεις του προγράμματος; SelectStartMenuFolderLabel3=Η εγκατάσταση θα δημιουργήσει τις συντομεύσεις του προγράμματος στον ακόλουθο φάκελο του μενού Έναρξη. SelectStartMenuFolderBrowseLabel=Για να συνεχίσετε, πατήστε Επόμενο. Αν θέλετε διαφορετικό φάκελο, πατήστε Αναζήτηση. MustEnterGroupName=Πρέπει να εισαγάγετε ένα όνομα φακέλου. GroupNameTooLong=Το όνομα ή η διαδρομή του φακέλου είναι πολύ μεγάλη. InvalidGroupName=Το όνομα του φακέλου δεν είναι έγκυρο. BadGroupName=Το όνομα του φακέλου δεν μπορεί να περιλαμβάνει κανέναν από τους παρακάτω χαρακτήρες:%n%n%1 NoProgramGroupCheck2=&Χωρίς δημιουργία φακέλου στο μενού Έναρξης. ; *** "Ready to Install" wizard page WizardReady=Έτοιμα για Εγκατάσταση ReadyLabel1=Ο Οδηγός Εγκατάστασης είναι έτοιμος να ξεκινήσει την εγκατάσταση του [name] στον υπολογιστή σας. ReadyLabel2a=Πατήστε Εγκατάσταση για να συνεχίσετε με την εγκατάσταση ή πατήστε Πίσω, εάν θέλετε να ελέγξετε ή να αλλάξετε τυχόν ρυθμίσεις. ReadyLabel2b=Πατήστε Εγκατάσταση για να συνεχίσετε την εγκατάσταση. ReadyMemoUserInfo=Πληροφορίες Χρήστη: ReadyMemoDir=Φάκελος προορισμού: ReadyMemoType=Είδος εγκατάστασης: ReadyMemoComponents=Επιλεγμένες λειτουργικές μονάδες: ReadyMemoGroup=Φάκελος στο μενού Έναρξη: ReadyMemoTasks=Επιπλέον ενέργειες: ; *** TDownloadWizardPage wizard page and DownloadTemporaryFile DownloadingLabel=Λήψη πρόσθετων αρχείων... ButtonStopDownload=&Διακοπή λήψης StopDownload=Είστε βέβαιοι ότι θέλετε να διακόψετε τη λήψη; ErrorDownloadAborted=Η λήψη ακυρώθηκε ErrorDownloadFailed=Η λήψη απέτυχε: %1 %2 ErrorDownloadSizeFailed=Η λήψη του μεγέθους απέτυχε: %1 %2 ErrorFileHash1=Αποτυχία υπολογισμού hash: %1 ErrorFileHash2=Μη έγκυρο hash: αναμενόμενο %1, βρέθηκε %2 ErrorProgress=Μη έγκυρη πρόοδος: %1 από %2 ErrorFileSize=Μη έγκυρο μέγεθος αρχείου: αναμενόμενο %1, βρέθηκε %2 ; *** "Preparing to Install" wizard page WizardPreparing=Προετοιμασία Εγκατάστασης PreparingDesc=Ο Οδηγός Εγκατάστασης προετοιμάζεται για την εγκατάσταση του [name] στον υπολογιστή σας. PreviousInstallNotCompleted=Η εγκατάσταση/αφαίρεση ενός προηγούμενου προγράμματος δεν ολοκληρώθηκε. Θα χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή σας για να ολοκληρωθεί.%n%nΜετά την επανεκκίνηση του υπολογιστή σας, εκτελέστε ξανά τον Οδηγό Εγκατάστασης για να ολοκληρώσετε την εγκατάσταση/αφαίρεση του [name]. CannotContinue=Η εγκατάσταση δεν μπορεί να συνεχιστεί. Παρακαλώ πατήστε Άκυρο για τερματισμό. ApplicationsFound=Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης. Συνιστάται να επιτρέψετε στον Οδηγό Εγκατάστασης να κλείσει αυτόματα αυτές τις εφαρμογές. ApplicationsFound2=Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης. Συνιστάται να επιτρέψετε στον Οδηγό Εγκατάστασης να κλείσει αυτόματα αυτές τις εφαρμογές. Μετά την ολοκλήρωση της εγκατάστασης, ο Οδηγός Εγκατάστασης θα επιχειρήσει να κάνει επανεκκίνηση των εφαρμογών. CloseApplications=&Αυτόματο κλείσιμο των εφαρμογών DontCloseApplications=&Χωρίς κλείσιμο των εφαρμογών ErrorCloseApplications=Ο Οδηγός Εγκατάστασης δεν μπόρεσε να κλείσει αυτόματα όλες τις εφαρμογές. Συνιστάται να κλείσετε όλες τις εφαρμογές που χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης προτού συνεχίσετε. PrepareToInstallNeedsRestart=Ο Οδηγός Εγκατάστασης πρέπει να κάνει επανεκκίνηση του υπολογιστή σας. Μετά την επανεκκίνηση του υπολογιστή σας, εκτελέστε ξανά τον Οδηγό Εγκατάστασης για να ολοκληρώσετε την εγκατάσταση του [name].%n%nΘα θέλατε να κάνετε επανεκκίνηση τώρα; ; *** "Installing" wizard page WizardInstalling=Εγκατάσταση InstallingLabel=Παρακαλώ περιμένετε καθώς γίνεται η εγκατάσταση του [name] στον υπολογιστή σας. ; *** "Setup Completed" wizard page FinishedHeadingLabel=Ολοκλήρωση του Οδηγού Εγκατάστασης του [name] FinishedLabelNoIcons=Ο Οδηγός Εγκατάστασης ολοκλήρωσε την εγκατάσταση του [name] στον υπολογιστή σας. FinishedLabel=Ο Οδηγός Εγκατάστασης ολοκλήρωσε την εγκατάσταση του [name] στον υπολογιστή σας. Η εφαρμογή μπορεί να ξεκινήσει επιλέγοντας κάποια από τις εγκατεστημένες συντομεύσεις. ClickFinish=Πατήστε Τέλος για να τερματίσετε τον Οδηγό Εγκατάστασης. FinishedRestartLabel=Για να ολοκληρώσετε την εγκατάσταση του [name], ο Οδηγός Εγκατάστασης πρέπει να κάνει επανεκκίνηση του υπολογιστή σας. Θα θέλατε να κάνετε επανεκκίνηση τώρα; FinishedRestartMessage=Για να ολοκληρώσετε την εγκατάσταση του [name], ο Οδηγός Εγκατάστασης πρέπει να κάνει επανεκκίνηση του υπολογιστή σας.%n%nΘα θέλατε να κάνετε επανεκκίνηση τώρα; ShowReadmeCheck=Ναι, θα ήθελα να δω το αρχείο README YesRadio=&Ναι, να γίνει επανεκκίνηση τώρα NoRadio=&Οχι, θα κάνω επανεκκίνηση αργότερα ; used for example as 'Run MyProg.exe' RunEntryExec=Εκτέλεση του %1 ; used for example as 'View Readme.txt' RunEntryShellExec=Προβολή του %1 ; *** "Setup Needs the Next Disk" stuff ChangeDiskTitle=Ο Οδηγός Εγκατάστασης χρειάζεται τον επόμενο δίσκο SelectDiskLabel2=Παρακαλώ, εισάγετε τον δίσκο %1 και πατήστε ΟΚ.%n%nΕάν τα αρχεία αυτού του δίσκου βρίσκονται σε φάκελο διαφορετικό από αυτόν που εμφανίζεται παρακάτω, πληκτρολογήστε τη σωστή διαδρομή ή πατήστε Αναζήτηση. PathLabel=&Διαδρομή: FileNotInDir2=Το αρχείο "%1" δε βρέθηκε στο "%2". Παρακαλώ εισάγετε το σωστό δίσκο ή επιλέξτε κάποιον άλλο φάκελο. SelectDirectoryLabel=Παρακαλώ καθορίσετε την τοποθεσία του επόμενου δίσκου. ; *** Installation phase messages SetupAborted=Η εγκατάσταση δεν ολοκληρώθηκε.%n%nΠαρακαλώ, διορθώστε το πρόβλημα και εκτελέστε ξανά τον Οδηγό Εγκατάστασης. AbortRetryIgnoreSelectAction=Επιλέξτε ενέργεια AbortRetryIgnoreRetry=&Δοκιμή AbortRetryIgnoreIgnore=&Αγνόηση και συνέχεια AbortRetryIgnoreCancel=Ακυρώση εγκατάστασης ; *** Installation status messages StatusClosingApplications=Κλείσιμο εφαρμογών... StatusCreateDirs=Δημιουργία φακέλων... StatusExtractFiles=Αποσυμπίεση αρχείων... StatusCreateIcons=Δημιουργία συντομεύσεων... StatusCreateIniEntries=Δημιουργία καταχωρήσεων INI... StatusCreateRegistryEntries=Δημιουργία καταχωρήσεων στο μητρώο... StatusRegisterFiles=Καταχώρηση αρχείων... StatusSavingUninstall=Αποθήκευση πληροφοριών απεγκατάστασης... StatusRunProgram=Ολοκλήρωση εγκατάστασης... StatusRestartingApplications=Επανεκκίνηση εφαρμογών... StatusRollback=Επαναφορά αλλαγών... ; *** Misc. errors ErrorInternal2=Εσωτερικό σφάλμα: %1 ErrorFunctionFailedNoCode=%1 απέτυχε ErrorFunctionFailed=%1 απέτυχε, κωδικός %2 ErrorFunctionFailedWithMessage=%1 απέτυχε, κωδικός %2.%n%3 ErrorExecutingProgram=Δεν είναι δυνατή η εκτέλεση του αρχείου:%n%1 ; *** Registry errors ErrorRegOpenKey=Σφάλμα ανάγνωσης κλειδιού μητρώου:%n%1\%2 ErrorRegCreateKey=Σφάλμα δημιουργίας κλειδιού μητρώου:%n%1\%2 ErrorRegWriteKey=Σφάλμα καταχώρησης κλειδιού μητρώου:%n%1\%2 ; *** INI errors ErrorIniEntry=Σφάλμα στη δημιουργία καταχώρησης INI στο αρχείο "%1". ; *** File copying errors FileAbortRetryIgnoreSkipNotRecommended=&Παράλειψη αυτού του αρχείου (δεν συνιστάται) FileAbortRetryIgnoreIgnoreNotRecommended=Παράλειψη σφάλματος και &συνέχεια (δεν συνιστάται) SourceIsCorrupted=Το αρχείο προέλευσης είναι κατεστραμμένο SourceDoesntExist=Το αρχείο προέλευσης "%1" δεν υπάρχει ExistingFileReadOnly2=Το υπάρχον αρχείο δεν μπόρεσε να αντικατασταθεί επειδή είναι μόνο για ανάγνωση. ExistingFileReadOnlyRetry=&Καταργήστε το χαρακτηριστικό μόνο για ανάγνωση και δοκιμάστε ξανά ExistingFileReadOnlyKeepExisting=&Διατηρήστε το υπάρχον αρχείο ErrorReadingExistingDest=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανάγνωσης του υπάρχοντος αρχείου: FileExistsSelectAction=Επιλέξτε ενέργεια FileExists2=Το αρχείο υπάρχει ήδη. FileExistsOverwriteExisting=&Αντικατάσταση υπάρχοντος αρχείου FileExistsKeepExisting=&Διατήρηση υπάρχοντος αρχείου FileExistsOverwriteOrKeepAll=&Να γίνει το ίδιο για τις επόμενες διενέξεις ExistingFileNewerSelectAction=Επιλέξτε ενέργεια ExistingFileNewer2=Το υπάρχον αρχείο είναι νεότερο από αυτό που προσπαθεί να εγκαταστήσει ο Οδηγός Εγκατάστασης. ExistingFileNewerOverwriteExisting=&Αντικατάσταση υπάρχοντος αρχείου ExistingFileNewerKeepExisting=&Διατήρηση υπάρχοντος αρχείου (συνιστάται) ExistingFileNewerOverwriteOrKeepAll=&Να γίνει το ίδιο για τις επόμενες διενέξεις ErrorChangingAttr=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αλλαγής των χαρακτηριστικών του υπάρχοντος αρχείου: ErrorCreatingTemp=Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας ενός αρχείου στον φακέλο προορισμού: ErrorReadingSource=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανάγνωσης του αρχείου προέλευσης: ErrorCopying=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αντιγραφής ενός αρχείου: ErrorReplacingExistingFile=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αντικατάστασης του υπάρχοντος αρχείου: ErrorRestartReplace=Η ΕπανεκκίνησηΑντικατάσταση απέτυχε: ErrorRenamingTemp=Παρουσιάστηκε σφάλμα κατά την προσπάθεια μετονομασίας ενός αρχείου στον φακέλο προορισμού: ErrorRegisterServer=Δεν είναι δυνατή η καταχώριση του DLL/OCX: %1 ErrorRegSvr32Failed=Το RegSvr32 απέτυχε με κωδικό εξόδου %1 ErrorRegisterTypeLib=Δεν είναι δυνατή η καταχώριση της βιβλιοθήκης τύπων: %1 ; *** Uninstall display name markings ; used for example as 'My Program (32-bit)' UninstallDisplayNameMark=%1 (%2) ; used for example as 'My Program (32-bit, All users)' UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32-bit UninstallDisplayNameMark64Bit=64-bit UninstallDisplayNameMarkAllUsers=Ολοι οι χρήστες UninstallDisplayNameMarkCurrentUser=Τρέχων χρήστης ; *** Post-installation errors ErrorOpeningReadme=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανοίγματος του αρχείου README. ErrorRestartingComputer=Ο Οδηγός Εγκατάστασης δεν μπόρεσε να κάνει επανεκκίνηση του υπολογιστή. Παρακαλώ επανεκκινήσετε τον υπολογιστή μόνοι σας. ; *** Uninstaller messages UninstallNotFound=Το αρχείο "%1" δεν υπάρχει. Δεν είναι δυνατή η απεγκατάσταση. UninstallOpenError=Το αρχείο "%1" δεν ήταν δυνατό να ανοίξει. Δεν είναι δυνατή η απεγκατάσταση UninstallUnsupportedVer=Το αρχείο καταγραφής απεγκατάστασης "%1" είναι σε μορφή που δεν αναγνωρίζεται από αυτήν την έκδοση του Οδηγού Απεγκατάστασης. Δεν ήταν δυνατή η απεγκατάσταση UninstallUnknownEntry=Μια άγνωστη καταχώρηση (%1) εντοπίστηκε στο αρχείο καταγραφής απεγκατάστασης ConfirmUninstall=Είστε βέβαιοι ότι θέλετε να καταργήσετε εντελώς το %1 και όλα τα στοιχεία του; UninstallOnlyOnWin64=Αυτή η εγκατάσταση μπορεί να απεγκατασταθεί μόνο σε Windows 64-bit. OnlyAdminCanUninstall=Αυτή η εγκατάσταση μπορεί να απεγκατασταθεί μόνο από χρήστη με δικαιώματα διαχειριστή. UninstallStatusLabel=Παρακαλώ περιμένετε μέχρι να καταργηθεί το %1 από τον υπολογιστή σας. UninstalledAll=Το %1 αφαιρέθηκε με επιτυχία από τον υπολογιστή σας. UninstalledMost=Το %1 αφαιρέθηκε με επιτυχία.%n%nΟρισμένα στοιχεία δεν ήταν δυνατό να καταργηθούν. Αυτά μπορούν να αφαιρεθούν από εσάς. UninstalledAndNeedsRestart=Για να ολοκληρώσετε την απεγκατάσταση του %1, ο υπολογιστής σας πρέπει να επανεκκινηθεί.%n%nΘα θέλατε να κάνετε επανεκκίνηση τώρα; UninstallDataCorrupted=Το "%1" αρχείο είναι κατεστραμμένο. Δεν ήταν δυνατή η απεγκατάσταση ; *** Uninstallation phase messages ConfirmDeleteSharedFileTitle=Κατάργηση Κοινόχρηστου Αρχείου; ConfirmDeleteSharedFile2=Το σύστημα υποδεικνύει ότι το ακόλουθο κοινόχρηστο αρχείο δεν χρησιμοποιείται πλέον από κανένα πρόγραμμα. Θέλετε να καταργηθεί αυτό το κοινόχρηστο αρχείο;%n%nΕάν κάποιο πρόγραμμα εξακολουθεί να το χρησιμοποιεί, ενδέχεται να μην λειτουργήσει σωστά. Εάν δεν είστε βέβαιοι, επιλέξτε Όχι. Αφήνοντάς το στο σύστημά σας δεν θα προκληθεί καμία ζημιά. SharedFileNameLabel=Όνομα Αρχείου: SharedFileLocationLabel=Τοποθεσία: WizardUninstalling=Πρόοδος Απεγκατάστασης StatusUninstalling=Απεγκατάσταση %1... ; *** Shutdown block reasons ShutdownBlockReasonInstallingApp=Εγκατάσταση του %1. ShutdownBlockReasonUninstallingApp=Απεγκατάσταση του %1. ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 έκδοση %2 AdditionalIcons=Επιπλέον συντομεύσεις: CreateDesktopIcon=Δημιουργία συντόμευσης στην &επιφάνεια εργασίας CreateQuickLaunchIcon=Δημιουργία συντόμευσης στη &Γρήγορη Εκκίνηση ProgramOnTheWeb=Το %1 στο Internet UninstallProgram=Απεγκατάσταση του %1 LaunchProgram=Εκκίνηση του %1 AssocFileExtension=&Συσχέτιση του %1 με την επέκταση αρχείου %2 AssocingFileExtension=Γίνεται συσχέτιση του %1 με την επέκταση αρχείου "%2"... AutoStartProgramGroupDescription=Εκκίνηση: AutoStartProgram=Αυτόματη εκκίνηση του %1 AddonHostProgramNotFound=Το %1 δε βρέθηκε στο φάκελο που επιλέξατε.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; survex-1.4.17/lib/ru.po0000664000175000017500000034401514766623454010407 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 22:05:08 +0000\n" "Last-Translator: vsuhachev \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Файл" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "В&ращение" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Ориентация" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Вид" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Управление" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "По&мощь" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Презентация" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Использование" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Недостаточно памяти" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Недостаточно памяти (невозможно выделить %lu байт)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Возникла нехватка памяти при чтении файл “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Для обработки данных этой топо-съемки требуется Survex версии %s и старше." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "инфо" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "предупреждение" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "ошибка" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "В файле включенном из %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix устарел - используйте *begin и *end вместо него" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Символ “%c” недопустим в имени пикета (используйте *SET NAMES для определения допустимых символов)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Поле не может быть пропущено" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Ожидается числовое значение, но вместо него получено “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "Ожидается целое число в диапазоне от %d до %d" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Вместо “%s” ожидаются “PRESERVE”, “TOUPPER” или “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Обнаружена ошибка в программе! Пожалуйста сообщите о ней авторам" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Неизвестная комманда “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Пикет “%s” был объявлен эквивалентным самому себе" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "Азимут не может быть пропущен за исключением вертикальных замеров" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Значение длинны не может отсутствовать" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Конец строки не пуст" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "Отсутствует пробел после лексемы" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Получено %d предупреждений." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Невозможно выполнить внешнюю команду: “%s”" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Ошибка при чтении файла" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Возникло слишком много ошибок - выполнение прервано" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT устарело - используйте *CALIBRATE/DATA/SD/UNITS с аргументом DEFAULT вместо него" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Азимут указан для вертикального замера" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s без соответствующего %s в этом файле" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "Имя пикета “%s” не экспортировано из топо-съемки “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Ссылка на пикет “%s” из несуществующей топо-съемки “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” не может быть одновременно именем пикета и топо-съемки" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Ожидается имя пикета" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Вместо “%s” ожидаются “EQUATES”, “EXPORTS” или “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Вместо “%s” ожидаются “ON” или “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Указано только одно имя пикета в команде EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Неизвестный тип замеров “%s”" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Неизвестная единица измерения “%s”" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "Неизвестная роль “%s”" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "Единица измерения “%s” считается устаревшей, используйте “grads” - подробности в руководстве пользователя" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Неизвестная система координат" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "Недопустимая система координат: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Система координат не подходит для вывода результатов" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Неудача при переводе координат: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "Исходная проекция задана, а результирующая нет" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "Результирующая проекция задана, а исходная нет" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "Координаты не могут быть пропущены если указана система координат" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Система координат должна быть определена перед использованием “%s”" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "Выходная система координат не задана" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "Датум “%s” не поддерживается" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Ожидается число или “AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "Дата съёмки не указана - использовано магнитное склонение 0" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Магнитное склонение: %s, сближение меридианов: %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "Приблизительный диапазон сближения меридианов: от %.1f%s на %s до %.1f%s на %s\n" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "Для соответствующей команды BEGIN не указано имя топо-съемки" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Недрпустимая единица измерения “%s” для значения" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Неизвестный инструмент “%s”" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Масштабный коэффициент должен равняться 1.0 для DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Масштабный коэффициент должен быть ненулевым" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Неизвестная настройка “%s”" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Неизвестный класс символов “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Нет данных топо-съемки" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Имя файла “%s” ссылается на каталог файловой системы" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "Имеются цепочки замеров не привязанные к фиксированным пикетам (висящие)" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Пикет уже зафиксирован или эквивалентен другому зафиксированному пикету" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "Пикет ранее зафиксирован или приравнен здесь" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Невозможно открыть выходной файл “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "Стандартное отклонение должно быть положительным числом" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Замер с одинаковым именем пикета (“%s”) на обоих концах замера - опечатка?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Абсолютное значение угла больше %.f%s" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Попытка объявить эквивалентными два фиксированных пикета с неодинаковыми координатами: “%s” и “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Объявление эквивалентности для двух фиксированных пикетов с одинаковыми координатами: “%s” и “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Команда FIX без указания координат - выполнена фиксация с координатами (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Пикет с таким именем уже зафиксирован с такими же координатами" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Повторное использование команды FIX без координат для пикета “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "Пикет “%s” фиксируется прежде чем командой CS задана координатная система" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "Команда *EXPORT должна следовать непосредственно после команды “*BEGIN <имя_съемки>”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "Для года, указанного 2 цифрами использую значение %d" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "Интерпретировано как дата в формате ISO - используйте “*date surveyed %d-%02d” для устранения данного предупреждения, или “*date %d %d” если вам нужно указать период" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Введите год в промежутке от 1900 до 2078" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Подозрительное значение азимута" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Отрицательное значение длинны замера" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "Один и тот же пикет заыиксирован дважды без указания координат" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Длинна замера меньше чем изменение глубины" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Значения “%s” не допустимы для стиля топо-данных “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Недостаточно значений для стиля топо-данных “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Неизвестный стиль топо-данных “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Пикет с именем “%s” уже экспортирован" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Дублирование значений для “%s” в определении стиля топо-данных" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "Дублирование типа даты “%s”" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” - неизвестный флаг" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Недостающие \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "Ссылка на пикет “%s” встречаетрся единственный раз и только с явным указанием имени топо-съемки - возможно это опечатка?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Следующие пикеты не связаны с фиксированными пикетами (висящие пикеты):" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "В топо-съемке не определено фиксированных пикетов. Поэтому \"%s\" зафиксировано с координатами (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Фиксированный пикет “%s” нигде не используется" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Решение системы из %d уравнений" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "Тип значений “%s” дублирует один из типов значений в данном стиле топо-данных" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Решение одного уравнения" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "В результате коррекций получена отрицательная длинна в замере" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "Дата больше текущей даты!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "Конечная дата меньше начальной" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Размеры сечения хода определены для несуществующего пикета “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Значения CLINO и BACKCLINO должны иметь одинаковый тип" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "У вертикальных замеров CLINO и BACKCLINO не могут совпадать" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Недопустимый месяц" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Недопустимый день месяца" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Поддерживаются версии формата 3d файла с %d по %d" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Ожидается имя топо-съемки" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Невозможно открыть файл “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Невозможно сохранить файл “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Невозможно создать временный файл" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Дальнейшее использование устаревших и не рекомендованных к использованию возможностей не будет порождать сообщений" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Значения TAPE и BACKTAPE различаются на %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Значения COMPASS и BACKCOMPASS различаются на %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Значения CLINO и BACKCLINO различаются на %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” устарело - используйте “*data %s …” вместо него" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Файл “%s” не распознан как корректный .3d файл Survex" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Дата и время недоступны." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Ошибка чтения из файла “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Ошибка записи в файла “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Ошибка записи в файл" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Визникло %d предупреждений и %d ошибок - результирующие файлы не созданы." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Файл “%s” имеет более новый формат, с которым данная версия программы не может работать" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Север" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Разрез-сечение по азимуту" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "П&лан" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Разрез" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Разрез" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Вид сверху" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "Вид снизу" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Расчет статистики" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Ожидается строковое значение" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "слишком мало аргументов" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "слишком много аргументов" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "ФАЙЛ" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Удаление тупиковых веток" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Соединение веток" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Расчет колец" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Расчет тупиковых веток" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Упрощение съемочной сети" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Расчет съемочной сети" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Вместо “%s” ожидается “F” или “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Общая длина замеров = %7.2f%s (%7.2f%s после коррекции)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Суммарная горизонтальная проекционная длина замеров (план) = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Суммарная вертикальная проекционная длинна замеров (разрез) = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Амплитуда = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Диапазон Север-Юг = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Диапазон Восток-Запад = %4.2f%s (от %s на %4.2f%s до %s на %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Количество колец: 1" #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Количество колец: %ld" #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Затрачено времени процессора: %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Затрачено времени всего: %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Отчет о затраченном времени недоступен" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Затрачено времени %5.2fs (%5.2fs затрачено процессором)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Первоначальная длина %6.2fм (%3d замеров), откорректировано на %6.2fм (%5.2fм/замер). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Ошибка %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Ошибка N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "показать справку и выйти" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "вывести информацию о версии и выйти" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "ОПЦИЯ" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Масштаб" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "масштаб (50, 0.02, 1:50 и 2:100 - все это равно 1:50)" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Выполните “%s --help” для получения дополнительной информации.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Обработано: %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Разрез 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "План, верх страницы сориентирован на азимут %s" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Разрез-проекция, направление взгляда - азимут %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "план (эквивалентно --tilt=-90)" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Разрез-проекция, направление взгляда - азимут %s, угол %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "разрез (эквивалентно --tilt=0)" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Разрез-развертка" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "Топо-съемка содержит пикетов: 1," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "Топо-съемка содержит пикетов: %ld," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " замеров: 1." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " замеров: %ld." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "реберных узлов съемочной сети" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "реберных узлов съемочной сети" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "Топо-съемка имеет %ld связанных компонентов." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Сохранить журнал" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Перерасчитать" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "числовой аргумент “%s” имеет недопустимое значение" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "аргумент “%s” не является целым числом" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "аргумент “%s” не является числом" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Ожидается “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Ожидается “%s” или “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Ожидается “%s”, “%s” или “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Ожидается “%s”, “%s”, “%s” или “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "Ожидается румб (quadrant), получено “%s”" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "На пикет “%s” есть ссылки в командах *%s но пикет не используется" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Нет соответствующей команды %s" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "Имя топо-съемки не совпадает с именем, указанным в команде BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Имя топосъемки указано в BEGIN, но отсутствует в END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( На Восток, На Север, Вверх )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Глубина цвета: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (цветное)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Вместо “%s” ожидается дата" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "обрабатывать топо-съемки только с указаным префиксом" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "распечатать и выйти (нуобходимо указать 3d файл)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "указать местоположения для выходных файлов" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "отображать только краткие итоги (-qq для отображения только ошибок)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "не создавать файл .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "трактовать предупреждения как ошибки" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "выводить сообщения программы в .log файл" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "указать версию формата в котором будет сохранятся 3d файл" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "файл .espec для управления разверткой" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "отображать разрывы нитки на разрезе развертке с помощью линий поверхностной съемки" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Коэффициент в команде *UNITS должен быть ненулевым" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Данные топо-съемки не найдены в файле “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Азимут" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "О программе %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Выберите файл с рельефом поверхности для отображения" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "Выберите файл геоданных для наложения" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Файлы рельефа поверхности" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "Файлы геоданных" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "Нет данных о поверхности над районом подземной съемки" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Выберите топо-съемку для просмотра" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Survex 3d файлы" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Все файлы" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Все файлы топо-съемок" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Survex svx файлы" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Compass MAK файлы" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Compass DAT файлы" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Compass CLP файлы" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "Walls файлы проекта" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "Walls файл топосъемки" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "CSV файлы" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "DXF файлы" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "EPS файлы" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "GPX файлы" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL файлы (для плоттера)" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "KML файлы" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT файлы для использования в Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Survex pos файлы" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "SVG файлы" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "JSON файлы" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "Шейп-файлы (линии)" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "Шейп-файлы (точки)" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Файлы журнала" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Инструмент для визуализации топо-съемок пещер" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Эта программа является свободным программным обеспечением; Вы можете распространять и/или изменять его в соответствии с условиями GNU General Public Licence, опубликованной Фондом свободного программного обеспечения; действительно либо для версии 2 Лицензии, либо (по вашему выбору) любой более поздней версии." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "ФАЙЛ1 ФАЙЛ2 [ПОРОГ]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "ФАЙЛ1 и ФАЙЛ2 могут быть .pos или .3d файлами\nПОРОГ это максимальное игнорируемое изменение в метрах вдоль любой из координатных осей (по умолчанию %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "ВХОДНОЙ_ФАЙЛ [ВЫХОДНОЙ_3D_ФАЙЛ]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ERR_ФАЙЛ [СКОЛЬКО]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[ФАЙЛ_ТОПОСЪЕМКИ]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[ФАЙЛ_ТОПОСЪЕМКИ]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Дата не указана" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "Не в кольце" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE не может быть первым значением" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE не может быть последним значением" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Стиль данных подразумевает наличие перевода строки, но NEWLINE отсутствует" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "Значение “%s” должно быть перед NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "Значению NEWLINE могут предшествовать только значения STATION, DEPTH или COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Недопустимо совместно калибровать величины для углов и длин" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Недопустимая команда *alias" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "Журнал ошибок %s" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Экспорт..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "Ав&томатическое вращение\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Поменять направление вращения" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "На &Север" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "На &Восток" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "На &Юг" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "На &Запад" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&План" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "&Разрез" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Восстановить об&зор по умолчанию" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Вид" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Элементы" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Формат экспорта" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d страниц (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Одна страница" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Азимут" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "азимут (90, 90d, 100g - все это равно 90°)" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Имя Пикета" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Названия пикетов" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "названия пикетов" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Пикеты" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "значки пикетов" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Подземные замеры" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "подземные замеры" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Сечения" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "сечения" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Стены ходов" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "стены ходов" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Пещерныхе ходы" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "пещерныхе ходы" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Начало координат в центре" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "начало координат в центре" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Полные координаты" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "полные координаты" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Прикрепить к поверхности" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "прикрепить к поверхности" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Угол наклона" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "угол наклона (45, 45d, 50g, 100% - все это равно 45°)" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Границы страницы" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Условные обозначения" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Пустые страницы" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Названия пикетов\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "&Объемные ходы\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "П&оверхность" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "Пикет&ы\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Сетка\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "Вме&щающий прямоугольник\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Под&земная нитка\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Поверхностна&я нитка\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "поверхностная нитка" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "П&ерекрывающиеся надписи" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "&Раскраска по" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Подсветить &входы" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Подсветить &фиксированные точки" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Подсветить &экспортированные точки" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Входы" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "входы" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Фиксированные точки" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "фиксированные точки" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Экспортированные пикеты" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "экспортированные пикеты" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "&Перспектива" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Текстурированные &стены" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "&Затенять отдаленные объекты" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Сглаживать &линии" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "Полноэкранный &режим\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Раскраска по &глубине" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Раскраска по д&ате" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Раскраска по &ошибкам на кольцах" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Раскраска по гори&зонтальной компоненте в ошибках" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Раскраска по &вертикальной компоненте в ошибках" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Раскраска по &уклону хода" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Раскраска по &длине" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Раскраска по &топо-съемке" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "Раскраска по &стилю" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Компас" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Угломер" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "&Цветовая шкала" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "&Масштаб" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Инвертировать управление\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Выйти из режима измерения\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "И&ндикаторы" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: опция “%s” неоднозначна\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: опция “%c%s” не допускает указания аргумента\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: опция “--%s” не допускает указания аргумента\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: опция “%s” требует указания аргумента\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: опция требует аргумент -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: неизвестная опция “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: неизвестная опция “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: неверная опция -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Новая презантация" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Открвть презентацию..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Сохранить презентацию" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Со&хранить презентацию как..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "От&метить" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Воспроизвести" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Экспортировать видео..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Экспортировать видео" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Выберите имя выходного файла" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Презентации Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Сохранить снимок экрана" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Выберите презентацию для открытия" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Ошибка формата в презентации “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Файлы Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Файлы CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Измененная презентация" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "Текущая презентация была изменена. Отменить не сохраненные изменения?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Совпадений не найдено." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Поиск" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Высота" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Вы можете просматривать только один 3d файл одновременно." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Боковая панель" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f В, %.2f С" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "От %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "Проложение%.2f%s, Перепад %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Дл %.2f%s, Аз %03.1f%s, Угл %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Метрические длины" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Градусы" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Печать" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "км" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "м" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "см" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " миль" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " миля" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "Скрыть &компас" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "Скрыть &угол" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "Скрыть &масштабную шкалу" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "Скрыть &цветовую шкалу" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: Проложение %.2f%s, Азимут %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: Перепад %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Топо-съемки" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Режим презентации" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Показать все" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Скрыть остальные" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "Скрыть остальные на &этом уровне" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Востосное отклонение (Easting)" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Северное отклонение (Northing)" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Открыть...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Открыть &Рельеф..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "Наложение &геоданных..." #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Показать &журнал" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Печать...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Настройки страницы..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Снимок экрана..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Разрез-раз&вертка..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Экспортировать как..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Экспортировать как:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Экспортировать" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Информация о системе:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Предварительный просмотр печати" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Печать" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Печать..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "&Поверхностнные замеры" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Редактировать точку маршрута" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (не используется с перспективной проекцией)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Время: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " секунд (0 = авто; *6 = 6 раз авто)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Данная версия %s для своей работы требует библиотеку OpenGL, но она не найдена." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Разделитель в имени топо-съемки" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "анонимный пикет" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "Отсутствует замер между двумя анонимными пикетами" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "&Вспомогательные замеры" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "вспомогательные замеры" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "&Дублирующиеся Замеры" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Скрыть" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "Пониженная &яркость" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "Пун&ктир" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Показать" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Чтение исходных данных - пожалуйста ожидайте…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "Не удалось найти пикет %s" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Не удалось найти замер %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Развертка начата от пикета %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "От пикета %s развертка влево" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "От пикета %s развертка вправо" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "От замера %s → %s развертка влево" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "От замера %s → %s развертка вправо" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Разрыв кольца на пикете %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Разрыв кольца на замере %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Изменение направления развертки с пикета %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Изменение направления развертки с замера %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Применение файла (specfile): “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Сохранение %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "сортировать по величине горизонтальной составляющей ошибки" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "сортировать по величине вертикальной составляющей ошибки" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "сортировать по проценту ошибки относительно длинны кольца" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "сортировать по средней величине ошибки на замер" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "заменить .err файл на пересортированный" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Невозможно произвести разбор файла .err" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Перемещено на (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Добавлено: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Удалено: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Повторное определение для уже существующей топо-съемки устарело и не рекомендуется к использованию" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Первоначально встречено здесь" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "Соответствующее вхождение %s встречено здесь" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "Корневой символ в именах пикетов (ROOT символ, \"\\\") устарел и не рекомендуется к использованию" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "повторно перечитать файл" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "отображать информацию о датах топо-съемок (если она присутствует)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "эквивалентно --show-dates=-" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "перобразовать MOVE и LINE в LEG" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Ошибка в инициализации входной системы координат “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Ошибка в инициализации выходной системы координат “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "Файл “%s” не имеет географической привязки" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "создавать сетку (по умолчанию %sм)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "высота текста для подписей имен пикетов (по умолчанию %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "размер значка пикета (по умолчанию %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "создавать Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "создавать CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "создавать DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "создавать EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "создавать GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "создавать HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "создавать JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "создавать KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "создавать Compass PLT для Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "создавать Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "создавать Шейп-файл (линии)" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "создавать Шейп-файл (точки)" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "создавать SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "Формат экспорта не указан и его невозможно определить по расширению файла" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "Формат экспорта не указан" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "включены элементы, экспортируемые по умолчанию" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "Макрос “%s” не определен" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "Игнорируется “%s”" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "Распознано как номер второго пикета в замере, но возможно это отдельный ЛПВН без закрывающего разделителя" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "Не удалось инициализировать GDAL драйвер “%s”" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "Не удалось создать слой GDAL (layer)" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "Не удалось создать поле GDAL (field)" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "Не удалось создать объект GDAL (feature)" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Ошибка в формате файла шрифтов “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Непрозрачная повер&хность" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d найдено" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Настройки..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Отображать стены ходов" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Определять замеры ЛПВН(LRUD) основываясь на эвристике" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Отображать пикеты в виде крестов" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Подсветить пикеты, отмеченные как входа" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Подсветить пикеты, отмеченные как фиксированные точки" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Подсветить экспортированные пикеты" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Отобразить имена пикетов" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Разрешить надписям с именами пикетов перекрывать другие надписи (скорость отрисовки выростет)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Отобразить замеры выполнение под землей" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Отобразить замеры выполнение на поверхности" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Раскрашивать поверхностные съемки по глубине" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Выводить поверхностные замеры пунктирной линией" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Рисовать сетку" #: n:362 #~ msgid "metric units" #~ msgstr "метрических единицах" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "английских имперских единицах" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "градусах (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "градах" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Отображать замеры в" #: n:367 #~ msgid "Display angles in" #~ msgstr "Отображать углы в" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Инвертировать управление просмотром" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Отображать масштабную шкалу" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Отображать шкалу глубин" #: n:371 #~ msgid "Display compass" #~ msgstr "Отобразить компас" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Отобразить угол" #: n:373 #~ msgid "Display side panel" #~ msgstr "Отобразить боковую панель" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Проекция для координат" survex-1.4.17/lib/Romanian.isl0000664000175000017500000005266414756727464011711 ; *** Inno Setup version 6.1.0+ Romanian messages *** ; Translator : Alexandru Bogdan Munteanu (muntealb@gmail.com) ; ; To download user-contributed translations of this file, go to: ; https://jrsoftware.org/files/istrans/ ; ; Note: When translating this text, do not add periods (.) to the end of ; messages that didn't have them already, because on those messages Inno ; Setup adds the periods automatically (appending a period would result in ; two periods being displayed). [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. LanguageName=Rom<00E2>n<0103> LanguageID=$0418 LanguageCodePage=1250 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial ;TitleFontSize=29 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** Application titles SetupAppTitle=Instalare SetupWindowTitle=Instalare - %1 UninstallAppTitle=Dezinstalare UninstallAppFullTitle=Dezinstalare %1 ; *** Misc. common InformationTitle=Informaii ConfirmTitle=Confirmare ErrorTitle=Eroare ; *** SetupLdr messages SetupLdrStartupMessage=Va fi instalat programul %1. Vrei s continui? LdrCannotCreateTemp=Nu pot crea o fil temporar. Instalare abandonat LdrCannotExecTemp=Nu pot executa o fil din dosarul temporar. Instalare abandonat HelpTextNote= ; *** Startup error messages LastErrorMessage=%1.%n%nEroarea %2: %3 SetupFileMissing=Fila %1 lipsete din dosarul de instalare. Corecteaz problema sau folosete o alt copie a programului. SetupFileCorrupt=Filele de instalare snt stricate (corupte). Folosete o alt copie a programului. SetupFileCorruptOrWrongVer=Filele de instalare snt stricate (corupte) sau snt incompatibile cu aceast versiune a Instalatorului. Remediaz problema sau folosete o alt copie a programului. InvalidParameter=Un parametru invalid a fost trecut ctre linia de comand:%n%n%1 SetupAlreadyRunning=Instalarea ruleaz deja. WindowsVersionNotSupported=Acest program nu suport versiunea de Windows care ruleaz pe calculatorul tu. WindowsServicePackRequired=Acest program necesit %1 Service Pack %2 sau mai nou. NotOnThisPlatform=Acest program nu va rula pe %1. OnlyOnThisPlatform=Acest program trebuie s ruleze pe %1. OnlyOnTheseArchitectures=Acest program poate fi instalat doar pe versiuni de Windows proiectate pentru urmtoarele arhitecturi de procesor:%n%n%1 WinVersionTooLowError=Acest program necesit %1 versiunea %2 sau mai nou. WinVersionTooHighError=Acest program nu poate fi instalat pe %1 versiunea %2 sau mai nou. AdminPrivilegesRequired=Trebuie s fii logat ca Administrator pentru instalarea acestui program. PowerUserPrivilegesRequired=Trebuie s fii logat ca Administrator sau ca Membru al Grupului de Utilizatori Pricepui ("Power Users") pentru a instala acest program. SetupAppRunningError=Instalatorul a detectat c %1 ruleaz n acest moment.%n%nnchide toate instanele programului respectiv, apoi clicheaz OK pentru a continua sau Anuleaz pentru a abandona instalarea. UninstallAppRunningError=Dezinstalatorul a detectat c %1 ruleaz n acest moment.%n%nnchide toate instanele programului respectiv, apoi clicheaz OK pentru a continua sau Anuleaz pentru a abandona dezinstalarea. ; *** Startup questions PrivilegesRequiredOverrideTitle=Select Modul de Instalare al Instalatorului PrivilegesRequiredOverrideInstruction=Selecteaz modul de instalare PrivilegesRequiredOverrideText1=%1 poate fi instalat pentru toi utilizatorii (necesit calitatea de administrator), sau doar pentru tine. PrivilegesRequiredOverrideText2=%1 poate fi instalat doar pentru tine, sau pentru toi utilizatorii (necesit calitatea de administrator). PrivilegesRequiredOverrideAllUsers=Instaleaz pentru toi utiliz&atorii PrivilegesRequiredOverrideAllUsersRecommended=Instaleaz pentru toi utiliz&atorii (recomandat) PrivilegesRequiredOverrideCurrentUser=Instaleaz doar pentru &mine PrivilegesRequiredOverrideCurrentUserRecommended=Instaleaz doar pentru &mine (recomandat) ; *** Misc. errors ErrorCreatingDir=Instalatorul nu a putut crea dosarul "%1" ErrorTooManyFilesInDir=Nu pot crea o fil n dosarul "%1" din cauz c are deja prea multe file ; *** Setup common messages ExitSetupTitle=Abandonarea Instalrii ExitSetupMessage=Instalarea nu este terminat. Dac o abandonezi acum, programul nu va fi instalat.%n%nPoi s rulezi Instalatorul din nou alt dat pentru a termina instalarea.%n%nAbandonezi Instalarea? AboutSetupMenuItem=&Despre Instalator... AboutSetupTitle=Despre Instalator AboutSetupMessage=%1 versiunea %2%n%3%n%n%1 sit:%n%4 AboutSetupNote= TranslatorNote= ; *** Buttons ButtonBack=< na&poi ButtonNext=&Continu > ButtonInstall=&Instaleaz ButtonOK=OK ButtonCancel=Anuleaz ButtonYes=&Da ButtonYesToAll=Da la &Tot ButtonNo=&Nu ButtonNoToAll=N&u la Tot ButtonFinish=&Finalizeaz ButtonBrowse=&Exploreaz... ButtonWizardBrowse=Explo&reaz... ButtonNewFolder=Creea&z Dosar Nou ; *** "Select Language" dialog messages SelectLanguageTitle=Selectarea Limbii Instalatorului SelectLanguageLabel=Selecteaz limba folosit pentru instalare: ; *** Common wizard text ClickNext=Clicheaz pe Continu pentru a avansa cu instalarea sau pe Anuleaz pentru a o abandona. BeveledLabel= BrowseDialogTitle=Explorare dup Dosar BrowseDialogLabel=Selecteaz un dosar din lista de mai jos, apoi clicheaz pe OK. NewFolderName=Dosar Nou ; *** "Welcome" wizard page WelcomeLabel1=Bun venit la Instalarea [name] WelcomeLabel2=Programul [name/ver] va fi instalat pe calculator.%n%nEste recomandat s nchizi toate celelalte aplicaii nainte de a continua. ; *** "Password" wizard page WizardPassword=Parol PasswordLabel1=Aceast instalare este protejat prin parol. PasswordLabel3=Completeaz parola, apoi clicheaz pe Continu pentru a merge mai departe. Tipul literelor din parol (Majuscule/minuscule) este luat n considerare. PasswordEditLabel=&Parol: IncorrectPassword=Parola pe care ai introdus-o nu este corect. Rencearc. ; *** "License Agreement" wizard page WizardLicense=Acord de Liceniere LicenseLabel=Citete informaiile urmtoare nainte de a continua, snt importante. LicenseLabel3=Citete urmtorul Acord de Liceniere. Trebuie s accepi termenii acestui acord nainte de a continua instalarea. LicenseAccepted=&Accept licena LicenseNotAccepted=&Nu accept licena ; *** "Information" wizard pages WizardInfoBefore=Informaii InfoBeforeLabel=Citete informaiile urmtoare nainte de a continua, snt importante. InfoBeforeClickLabel=Cnd eti gata de a trece la Instalare, clicheaz pe Continu. WizardInfoAfter=Informaii InfoAfterLabel=Citete informaiile urmtoare nainte de a continua, snt importante. InfoAfterClickLabel=Cnd eti gata de a trece la Instalare, clicheaz pe Continu. ; *** "User Information" wizard page WizardUserInfo=Informaii despre Utilizator UserInfoDesc=Completeaz informaiile cerute. UserInfoName=&Utilizator: UserInfoOrg=&Organizaie: UserInfoSerial=Numr de &Serie: UserInfoNameRequired=Trebuie s introduci un nume. ; *** "Select Destination Location" wizard page WizardSelectDir=Selectarea Locului de Destinaie SelectDirDesc=Unde vrei s instalezi [name]? SelectDirLabel3=Instalatorul va pune [name] n dosarul specificat mai jos. SelectDirBrowseLabel=Pentru a avansa cu instalarea, clicheaz pe Continu. Dac vrei s selectezi un alt dosar, clicheaz pe Exploreaz. DiskSpaceGBLabel=Este necesar un spaiu liber de stocare de cel puin [gb] GB. DiskSpaceMBLabel=Este necesar un spaiu liber de stocare de cel puin [mb] MB. CannotInstallToNetworkDrive=Instalatorul nu poate realiza instalarea pe un dispozitiv de reea. CannotInstallToUNCPath=Instalatorul nu poate realiza instalarea pe o cale n format UNC. InvalidPath=Trebuie s introduci o cale complet, inclusiv litera dispozitivului; de exemplu:%n%nC:\APP%n%nsau o cale UNC de forma:%n%n\\server\share InvalidDrive=Dispozitivul sau partajul UNC pe care l-ai selectat nu exist sau nu este accesibil. Selecteaz altul. DiskSpaceWarningTitle=Spaiu de Stocare Insuficient DiskSpaceWarning=Instalarea necesit cel puin %1 KB de spaiu de stocare liber, dar dispozitivul selectat are doar %2 KB liberi.%n%nVrei s continui oricum? DirNameTooLong=Numele dosarului sau al cii este prea lung. InvalidDirName=Numele dosarului nu este valid. BadDirName32=Numele dosarelor nu pot include unul din urmtoarele caractere:%n%n%1 DirExistsTitle=Dosarul Exist DirExists=Dosarul:%n%n%1%n%nexist deja. Vrei totui s instalezi n acel dosar? DirDoesntExistTitle=Dosarul Nu Exist DirDoesntExist=Dosarul:%n%n%1%n%nnu exist. Vrei ca el s fie creat? ; *** "Select Components" wizard page WizardSelectComponents=Selectarea Componentelor SelectComponentsDesc=Care dintre componente trebuie instalate? SelectComponentsLabel2=Selecteaz componentele de instalat; deselecteaz componentele care nu trebuie instalate. Clicheaz pe Continu pentru a merge mai departe. FullInstallation=Instalare Complet ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=Instalare Compact CustomInstallation=Instalare Personalizat NoUninstallWarningTitle=Componentele Exist NoUninstallWarning=Instalatorul a detectat c urmtoarele componente snt deja instalate pe calculator:%n%n%1%n%nDeselectarea lor nu le va dezinstala.%n%nVrei s continui oricum? ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceGBLabel=Selecia curent necesit cel puin [gb] GB spaiu de stocare. ComponentsDiskSpaceMBLabel=Selecia curent necesit cel puin [mb] MB spaiu de stocare. ; *** "Select Additional Tasks" wizard page WizardSelectTasks=Selectarea Sarcinilor Suplimentare SelectTasksDesc=Ce sarcini suplimentare trebuie ndeplinite? SelectTasksLabel2=Selecteaz sarcinile suplimentare care trebuie ndeplinite n timpul instalrii [name], apoi clicheaz pe Continu. ; *** "Select Start Menu Folder" wizard page WizardSelectProgramGroup=Selectarea Dosarului din Meniul de Start SelectStartMenuFolderDesc=Unde trebuie s fie plasate scurtturile programului? SelectStartMenuFolderLabel3=Scurtturile vor fi plasate n dosarul specificat mai jos al Meniului de Start. SelectStartMenuFolderBrowseLabel=Pentru a avansa cu instalarea, clicheaz pe Continu. Dac vrei s selectezi un alt dosar, clicheaz pe Exploreaz. MustEnterGroupName=Trebuie s introduci numele dosarului. GroupNameTooLong=Numele dosarului sau al cii este prea lung. InvalidGroupName=Numele dosarului nu este valid. BadGroupName=Numele dosarului nu poate include unul dintre caracterele urmtoarele:%n%n%1 NoProgramGroupCheck2=Nu crea un &dosar n Meniul de Start ; *** "Ready to Install" wizard page WizardReady=Pregtit de Instalare ReadyLabel1=Instalatorul e pregtit pentru instalarea [name] pe calculator. ReadyLabel2a=Clicheaz pe Instaleaz pentru a continua cu instalarea, sau clicheaz pe napoi dac vrei s revezi sau s schimbi setrile. ReadyLabel2b=Clicheaz pe Instaleaz pentru a continua cu instalarea. ReadyMemoUserInfo=Info Utilizator: ReadyMemoDir=Loc de Destinaie: ReadyMemoType=Tip de Instalare: ReadyMemoComponents=Componente Selectate: ReadyMemoGroup=Dosarul Meniului de Start: ReadyMemoTasks=Sarcini Suplimentare: ; *** TDownloadWizardPage wizard page and DownloadTemporaryFile DownloadingLabel=Descarc file suplimentare... ButtonStopDownload=O&prete descrcarea StopDownload=Sigur vrei s opreti descrcarea? ErrorDownloadAborted=Descrcare abandonat ErrorDownloadFailed=Descrcare euat: %1 %2 ErrorDownloadSizeFailed=Obinerea mrimii a euat: %1 %2 ErrorFileHash1=Haul filei a euat: %1 ErrorFileHash2=Haul filei e nevalid: ateptat %1, gsit %2 ErrorProgress=Progres nevalid: %1 of %2 ErrorFileSize=Mrime a filei nevalid: ateptat %1, gsit %2 ; *** "Preparing to Install" wizard page WizardPreparing=Pregtire pentru Instalare PreparingDesc=Instalatorul pregtete instalarea [name] pe calculator. PreviousInstallNotCompleted=Instalarea/dezinstalarea anterioar a unui program nu a fost terminat. Va trebui s reporneti calculatorul pentru a termina operaia precedent.%n%nDup repornirea calculatorului, ruleaz Instalatorul din nou pentru a realiza instalarea [name]. CannotContinue=Instalarea nu poate continua. Clicheaz pe Anuleaz pentru a o nchide. ApplicationsFound=Aplicaiile urmtoare folosesc file care trebuie actualizate de ctre Instalator. Este recomandat s permii Instalatorului s nchid automat aplicaiile respective. ApplicationsFound2=Aplicaiile urmtoare folosesc file care trebuie actualizate de ctre Instalator. Este recomandat s permii Instalatorului s nchid automat aplicaiile respective. Dup ce instalarea e terminat, Instalatorul va ncerca s reporneasc aplicaiile. CloseApplications=nchide &automat aplicaiile DontCloseApplications=Nu nchi&de aplicaiile ErrorCloseApplications=Instalatorul nu a putut nchide automat toate aplicaiile. nainte de a continua, e recomandat s nchizi manual toate aplicaiile care folosesc file ce trebuie actualizate de Instalator. PrepareToInstallNeedsRestart=Instalatorul trebuie s repornesc calculatorul. Dup repornire, ruleaz Instalatorul din nou pentru a termina instalarea [name].%n%nVrei s reporneti acum? ; *** "Installing" wizard page WizardInstalling=Instalare n Desfurare InstallingLabel=Ateapt s se termine instalarea [name] pe calculator. ; *** "Setup Completed" wizard page FinishedHeadingLabel=Finalizarea Instalrii [name] FinishedLabelNoIcons=Instalarea [name] pe calculator a fost terminat. FinishedLabel=Instalarea [name] pe calculator a fost terminat. Aplicaia poate fi lansat prin clicarea pe icoanele instalate. ClickFinish=Clicheaz pe Finalizeaz pentru a prsi Instalatorul. FinishedRestartLabel=Pentru a termina instalarea [name], trebuie repornit calculatorul. Vrei s fie repornit acum? FinishedRestartMessage=Pentru a termina instalarea [name], trebuie repornit calculatorul.%n%nVrei s fie repornit acum? ShowReadmeCheck=Da, vreau s vd fila de informare (README) YesRadio=&Da, repornete calculatorul acum NoRadio=&Nu, voi reporni eu calculatorul mai trziu ; used for example as 'Run MyProg.exe' RunEntryExec=Ruleaz %1 ; used for example as 'View Readme.txt' RunEntryShellExec=Vezi %1 ; *** "Setup Needs the Next Disk" stuff ChangeDiskTitle=Instalatorul Necesit Discul Urmtor SelectDiskLabel2=Introdu Discul %1 i clicheaz pe OK.%n%nDac filele de pe acest disc pot fi gsite ntr-un alt dosar dect cel afiat mai jos, introdu calea corect sau clicheaz pe Exploreaz. PathLabel=&Cale: FileNotInDir2=Fila "%1" nu poate fi gsit n "%2". Introdu discul corect sau selecteaz alt dosar. SelectDirectoryLabel=Specific locul discului urmtor. ; *** Installation phase messages SetupAborted=Instalarea nu a fost terminat.%n%nCorecteaz problema i apoi ruleaz Instalarea din nou. AbortRetryIgnoreSelectAction=Selecteaz aciunea AbortRetryIgnoreRetry=ncearc din &nou AbortRetryIgnoreIgnore=&Ignor eroarea i continu AbortRetryIgnoreCancel=Anuleaz instalarea ; *** Installation status messages StatusClosingApplications=nchid aplicaiile... StatusCreateDirs=Creez dosarele... StatusExtractFiles=Extrag filele... StatusCreateIcons=Creez scurtturile... StatusCreateIniEntries=Creez intrrile INI... StatusCreateRegistryEntries=Creez intrrile n registru... StatusRegisterFiles=nregistrez filele... StatusSavingUninstall=Salvez informaiile de dezinstalare... StatusRunProgram=Finalizez instalarea... StatusRestartingApplications=Repornesc aplicaiile... StatusRollback=Rentorc la starea iniial, prin anularea modificrilor fcute... ; *** Misc. errors ErrorInternal2=Eroare Intern: %1 ErrorFunctionFailedNoCode=%1 a euat ErrorFunctionFailed=%1 a euat; cod %2 ErrorFunctionFailedWithMessage=%1 a euat; cod %2.%n%3 ErrorExecutingProgram=Nu pot executa fila:%n%1 ; *** Registry errors ErrorRegOpenKey=Eroare la deschiderea cheii de registru:%n%1\%2 ErrorRegCreateKey=Eroare la crearea cheii de registru:%n%1\%2 ErrorRegWriteKey=Eroare la scrierea n cheia de registru:%n%1\%2 ; *** INI errors ErrorIniEntry=Eroare la crearea intrrii INI n fiierul "%1". ; *** File copying errors FileAbortRetryIgnoreSkipNotRecommended=&Sari peste aceast fil (nerecomandat) FileAbortRetryIgnoreIgnoreNotRecommended=&Ignor eroarea i continu (nerecomandat) SourceIsCorrupted=Fila surs este stricat (corupt) SourceDoesntExist=Fila surs "%1" nu exist ExistingFileReadOnly2=Fila deja existent nu poate fi nlocuit pentru c-i marcat doar-citire. ExistingFileReadOnlyRetry=nltu&r atributul doar-citire i rencearc ExistingFileReadOnlyKeepExisting=&Pstreaz fila existent ErrorReadingExistingDest=A aprut o eroare la citirea filei deja existente: FileExistsSelectAction=Selecteaz aciunea FileExists2=Fila exist deja. FileExistsOverwriteExisting=&Suprascrie fila existent FileExistsKeepExisting=&Pstreaz fila existent FileExistsOverwriteOrKeepAll=&F la fel pentru conflictele urmtoare ExistingFileNewerSelectAction=Selecteaz aciunea ExistingFileNewer2=Fila existent e mai nou dect cea pe care ncearc Instalatorul s-o instaleze. ExistingFileNewerOverwriteExisting=&Suprascrie fila existent ExistingFileNewerKeepExisting=&Pstreaz fila existent (recomandat) ExistingFileNewerOverwriteOrKeepAll=&F la fel pentru conflictele urmtoare ErrorChangingAttr=A aprut o eroare n timpul schimbrii atributelor filei deja existente: ErrorCreatingTemp=A aprut o eroare n timpul crerii filei n dosarul de destinaie: ErrorReadingSource=A aprut o eroare n timpul citirii filei surs: ErrorCopying=A aprut o eroare n timpul copierii filei: ErrorReplacingExistingFile=A aprut o eroare n timpul nlocuirii filei deja existente: ErrorRestartReplace=Repornirea/nlocuirea a euat: ErrorRenamingTemp=A aprut o eroare n timpul renumirii unei file din dosarul de destinaie: ErrorRegisterServer=Nu pot nregistra DLL/OCX: %1 ErrorRegSvr32Failed=RegSvr32 a euat, avnd codul de ieire %1 ErrorRegisterTypeLib=Nu pot nregistra biblioteca de tipuri: %1 ; *** Uninstall display name markings ; used for example as 'My Program (32-bit)' UninstallDisplayNameMark=%1 (%2) ; used for example as 'My Program (32-bit, All users)' UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32-bii UninstallDisplayNameMark64Bit=64-bii UninstallDisplayNameMarkAllUsers=Toi utilizatorii UninstallDisplayNameMarkCurrentUser=Utilizatorul curent ; *** Post-installation errors ErrorOpeningReadme=A aprut o eroare la deschiderea filei de informare (README). ErrorRestartingComputer=Instalatorul nu a putut reporni calculatorul. Va trebui s-l reporneti manual. ; *** Uninstaller messages UninstallNotFound=Fila "%1" nu exist. Dezinstalarea nu poate fi fcut. UninstallOpenError=Fila "%1" nu poate fi deschis. Dezinstalarea nu poate fi fcut UninstallUnsupportedVer=Fila "%1" ce conine jurnalul de dezinstalare este ntr-un format nerecunoscut de aceast versiune a dezinstalatorului. Dezinstalarea nu poate fi fcut UninstallUnknownEntry=A fost ntlnit o intrare necunoscut (%1) n jurnalul de dezinstalare ConfirmUninstall=Sigur vrei s nlturi complet %1 i componentele sale? UninstallOnlyOnWin64=Aceast instalare poate fi dezinstalat doar pe un sistem Windows 64-bii. OnlyAdminCanUninstall=Aceast instalare poate fi dezinstalat doar de ctre un utilizator cu drepturi de Administrator. UninstallStatusLabel=Ateapt ca %1 s fie nlturat de pe calculator. UninstalledAll=%1 a fost nlturat cu succes de pe calculator. UninstalledMost=Dezinstalare complet a %1.%n%nAnumite elemente nu au putut fi nlturate. Acestea pot fi nlturate manual. UninstalledAndNeedsRestart=Pentru a termina dezinstalarea %1, calculatorul trebuie repornit.%n%nVrei s fie repornit acum? UninstallDataCorrupted=Fila "%1" este stricat (corupt). Dezinstalarea nu poate fi fcut ; *** Uninstallation phase messages ConfirmDeleteSharedFileTitle=terg Fila Partajat? ConfirmDeleteSharedFile2=Sistemul indic faptul c fila partajat urmtoare pare s nu mai fie folosit de vreun alt program. Vrei ca Dezinstalatorul s tearg aceast fil partajat?%n%nDac totui mai exist programe care folosesc fila i ea este tears, acele programe ar putea s funcioneze greit. Dac nu eti sigur, alege Nu. Lsarea filei n sistem nu va produce nici o neplcere. SharedFileNameLabel=Nume Fil: SharedFileLocationLabel=Loc: WizardUninstalling=Starea Dezinstalrii StatusUninstalling=Dezinstalez %1... ; *** Shutdown block reasons ShutdownBlockReasonInstallingApp=Instalez %1. ShutdownBlockReasonUninstallingApp=Dezinstalez %1. ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 versiunea %2 AdditionalIcons=Scurtturi suplimentare: CreateDesktopIcon=Creeaz o scurttur pe &Birou ("Desktop") CreateQuickLaunchIcon=Creeaz o scurttur n Bara de &Lansare Rapid ("Quick Launch") ProgramOnTheWeb=%1 pe internet UninstallProgram=Dezinstaleaz %1 LaunchProgram=Lanseaz %1 AssocFileExtension=&Asociaz %1 cu extensia de file %2 AssocingFileExtension=Asociez %1 cu extensia de file %2... AutoStartProgramGroupDescription=Pornire: AutoStartProgram=Pornete automat %1 AddonHostProgramNotFound=%1 nu poate fi gsit n dosarul selectat.%n%nVrei s continui oricum? survex-1.4.17/lib/EnglishBritish.isl0000664000175000017500000004770214756727464013060 ; *** Inno Setup version 6.1.0+ English (British) messages *** ; ; Translated by Boris Kotov ; Translation updated by Andrew Truckle [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. LanguageName=English (British) LanguageID=$0809 LanguageCodePage=0 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. ;DialogFontName= ;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial ;TitleFontSize=29 ;CopyrightFontName=Arial ;CopyrightFontSize=8 [Messages] ; *** Application titles SetupAppTitle=Setup SetupWindowTitle=Setup - %1 UninstallAppTitle=Uninstall UninstallAppFullTitle=%1 Uninstall ; *** Misc. common InformationTitle=Information ConfirmTitle=Confirm ErrorTitle=Error ; *** SetupLdr messages SetupLdrStartupMessage=This will install %1. Do you wish to continue? LdrCannotCreateTemp=Unable to create a temporary file. Setup aborted LdrCannotExecTemp=Unable to execute file in the temporary directory. Setup aborted ; *** Startup error messages LastErrorMessage=%1.%n%nError %2: %3 SetupFileMissing=The file %1 is missing from the installation directory. Please correct the problem or obtain a new copy of the program. SetupFileCorrupt=The setup files are corrupted. Please obtain a new copy of the program. SetupFileCorruptOrWrongVer=The setup files are corrupted, or are incompatible with this version of Setup. Please correct the problem or obtain a new copy of the program. InvalidParameter=An invalid parameter was passed on the command line:%n%n%1 SetupAlreadyRunning=Setup is already running. WindowsVersionNotSupported=This program does not support the version of Windows your computer is running. WindowsServicePackRequired=This program requires %1 Service Pack %2 or later. NotOnThisPlatform=This program will not run on %1. OnlyOnThisPlatform=This program must be run on %1. OnlyOnTheseArchitectures=This program can only be installed on versions of Windows designed for the following processor architectures:%n%n%1 WinVersionTooLowError=This program requires %1 version %2 or later. WinVersionTooHighError=This program cannot be installed on %1 version %2 or later. AdminPrivilegesRequired=You must be logged in as an administrator when installing this program. PowerUserPrivilegesRequired=You must be logged in as an administrator or as a member of the Power Users group when installing this program. SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. ; *** Startup questions PrivilegesRequiredOverrideTitle=Select Setup Install Mode PrivilegesRequiredOverrideInstruction=Select install mode PrivilegesRequiredOverrideText1=%1 can be installed for all users (requires administrative privileges), or for you only. PrivilegesRequiredOverrideText2=%1 can be installed for you only, or for all users (requires administrative privileges). PrivilegesRequiredOverrideAllUsers=Install for &all users PrivilegesRequiredOverrideAllUsersRecommended=Install for &all users (recommended) PrivilegesRequiredOverrideCurrentUser=Install for &me only PrivilegesRequiredOverrideCurrentUserRecommended=Install for &me only (recommended) ; *** Misc. errors ErrorCreatingDir=Setup was unable to create the directory "%1" ErrorTooManyFilesInDir=Unable to create a file in the directory "%1" because it contains too many files ; *** Setup common messages ExitSetupTitle=Exit Setup ExitSetupMessage=Setup is not complete. If you exit now, the program will not be installed.%n%nYou may run Setup again at another time to complete the installation.%n%nExit Setup? AboutSetupMenuItem=&About Setup... AboutSetupTitle=About Setup AboutSetupMessage=%1 version %2%n%3%n%n%1 home page:%n%4 AboutSetupNote= TranslatorNote= ; *** Buttons ButtonBack=< &Back ButtonNext=&Next > ButtonInstall=&Install ButtonOK=OK ButtonCancel=Cancel ButtonYes=&Yes ButtonYesToAll=Yes to &All ButtonNo=&No ButtonNoToAll=N&o to All ButtonFinish=&Finish ButtonBrowse=&Browse... ButtonWizardBrowse=B&rowse... ButtonNewFolder=&Make New Folder ; *** "Select Language" dialog messages SelectLanguageTitle=Select Setup Language SelectLanguageLabel=Select the language to use during the installation: ; *** Common wizard text ClickNext=Click Next to continue, or Cancel to exit Setup. BeveledLabel= BrowseDialogTitle=Browse For Folder BrowseDialogLabel=Select a folder in the list below, then click OK. NewFolderName=New Folder ; *** "Welcome" wizard page WelcomeLabel1=Welcome to the [name] Setup Wizard WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications before continuing. ; *** "Password" wizard page WizardPassword=Password PasswordLabel1=This installation is password protected. PasswordLabel3=Please provide the password, then click Next to continue. Passwords are case-sensitive. PasswordEditLabel=&Password: IncorrectPassword=The password you entered is not correct. Please try again. ; *** "License Agreement" wizard page WizardLicense=Licence Agreement LicenseLabel=Please read the following important information before continuing. LicenseLabel3=Please read the following Licence Agreement. You must accept the terms of this agreement before continuing with the installation. LicenseAccepted=I &accept the agreement LicenseNotAccepted=I &do not accept the agreement ; *** "Information" wizard pages WizardInfoBefore=Information InfoBeforeLabel=Please read the following important information before continuing. InfoBeforeClickLabel=When you are ready to continue with Setup, click Next. WizardInfoAfter=Information InfoAfterLabel=Please read the following important information before continuing. InfoAfterClickLabel=When you are ready to continue with Setup, click Next. ; *** "User Information" wizard page WizardUserInfo=User Information UserInfoDesc=Please enter your information. UserInfoName=&User Name: UserInfoOrg=&Organisation: UserInfoSerial=&Serial Number: UserInfoNameRequired=You must enter a name. ; *** "Select Destination Location" wizard page WizardSelectDir=Select Destination Location SelectDirDesc=Where should [name] be installed? SelectDirLabel3=Setup will install [name] into the following folder. SelectDirBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. DiskSpaceGBLabel=At least [gb] GB of free disk space is required. DiskSpaceMBLabel=At least [mb] MB of free disk space is required. CannotInstallToNetworkDrive=Setup cannot install to a network drive. CannotInstallToUNCPath=Setup cannot install to a UNC path. InvalidPath=You must enter a full path with drive letter; for example:%n%nC:\APP%n%nor a UNC path in the form:%n%n\\server\share InvalidDrive=The drive or UNC share you selected does not exist or is not accessible. Please select another. DiskSpaceWarningTitle=Not Enough Disk Space DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to continue anyway? DirNameTooLong=The folder name or path is too long. InvalidDirName=The folder name is not valid. BadDirName32=Folder names cannot include any of the following characters:%n%n%1 DirExistsTitle=Folder Exists DirExists=The folder:%n%n%1%n%nalready exists. Would you like to install to that folder anyway? DirDoesntExistTitle=Folder Does Not Exist DirDoesntExist=The folder:%n%n%1%n%ndoes not exist. Would you like the folder to be created? ; *** "Select Components" wizard page WizardSelectComponents=Select Components SelectComponentsDesc=Which components should be installed? SelectComponentsLabel2=Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue. FullInstallation=Full installation ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) CompactInstallation=Compact installation CustomInstallation=Custom installation NoUninstallWarningTitle=Components Exist NoUninstallWarning=Setup has detected that the following components are already installed on your computer:%n%n%1%n%nDeselecting these components will not uninstall them.%n%nWould you like to continue anyway? ComponentSize1=%1 KB ComponentSize2=%1 MB ComponentsDiskSpaceGBLabel=Current selection requires at least [gb] GB of disk space. ComponentsDiskSpaceMBLabel=Current selection requires at least [mb] MB of disk space. ; *** "Select Additional Tasks" wizard page WizardSelectTasks=Select Additional Tasks SelectTasksDesc=Which additional tasks should be performed? SelectTasksLabel2=Select the additional tasks you would like Setup to perform while installing [name], then click Next. ; *** "Select Start Menu Folder" wizard page WizardSelectProgramGroup=Select Start Menu Folder SelectStartMenuFolderDesc=Where should Setup place the program's shortcuts? SelectStartMenuFolderLabel3=Setup will create the program's shortcuts in the following Start Menu folder. SelectStartMenuFolderBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. MustEnterGroupName=You must enter a folder name. GroupNameTooLong=The folder name or path is too long. InvalidGroupName=The folder name is not valid. BadGroupName=The folder name cannot include any of the following characters:%n%n%1 NoProgramGroupCheck2=&Don't create a Start Menu folder ; *** "Ready to Install" wizard page WizardReady=Ready to Install ReadyLabel1=Setup is now ready to begin installing [name] on your computer. ReadyLabel2a=Click Install to continue with the installation, or click Back if you want to review or change any settings. ReadyLabel2b=Click Install to continue with the installation. ReadyMemoUserInfo=User information: ReadyMemoDir=Destination location: ReadyMemoType=Setup type: ReadyMemoComponents=Selected components: ReadyMemoGroup=Start Menu folder: ReadyMemoTasks=Additional tasks: ; *** TDownloadWizardPage wizard page and DownloadTemporaryFile DownloadingLabel=Downloading additional files... ButtonStopDownload=&Stop download StopDownload=Are you sure you want to stop the download? ErrorDownloadAborted=Download aborted ErrorDownloadFailed=Download failed: %1 %2 ErrorDownloadSizeFailed=Getting size failed: %1 %2 ErrorFileHash1=File hash failed: %1 ErrorFileHash2=Invalid file hash: expected %1, found %2 ErrorProgress=Invalid progress: %1 of %2 ErrorFileSize=Invalid file size: expected %1, found %2 ; *** "Preparing to Install" wizard page WizardPreparing=Preparing to Install PreparingDesc=Setup is preparing to install [name] on your computer. PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name]. CannotContinue=Setup cannot continue. Please click Cancel to exit. ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications. CloseApplications=&Automatically close the applications DontCloseApplications=&Do not close the applications ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing. PrepareToInstallNeedsRestart=Setup must restart your computer. After restarting your computer, run Setup again to complete the installation of [name].%n%nWould you like to restart now? ; *** "Installing" wizard page WizardInstalling=Installing InstallingLabel=Please wait while Setup installs [name] on your computer. ; *** "Setup Completed" wizard page FinishedHeadingLabel=Completing the [name] Setup Wizard FinishedLabelNoIcons=Setup has finished installing [name] on your computer. FinishedLabel=Setup has finished installing [name] on your computer. The application may be launched by selecting the installed icons. ClickFinish=Click Finish to exit Setup. FinishedRestartLabel=To complete the installation of [name], Setup must restart your computer. Would you like to restart now? FinishedRestartMessage=To complete the installation of [name], Setup must restart your computer.%n%nWould you like to restart now? ShowReadmeCheck=Yes, I would like to view the README file YesRadio=&Yes, restart the computer now NoRadio=&No, I will restart the computer later ; used for example as 'Run MyProg.exe' RunEntryExec=Run %1 ; used for example as 'View Readme.txt' RunEntryShellExec=View %1 ; *** "Setup Needs the Next Disk" stuff ChangeDiskTitle=Setup Needs the Next Disk SelectDiskLabel2=Please insert Disk %1 and click OK.%n%nIf the files on this disk can be found in a folder other than the one displayed below, enter the correct path or click Browse. PathLabel=&Path: FileNotInDir2=The file "%1" could not be located in "%2". Please insert the correct disk or select another folder. SelectDirectoryLabel=Please specify the location of the next disk. ; *** Installation phase messages SetupAborted=Setup was not completed.%n%nPlease correct the problem and run Setup again. AbortRetryIgnoreSelectAction=Select action AbortRetryIgnoreRetry=&Try again AbortRetryIgnoreIgnore=&Ignore the error and continue AbortRetryIgnoreCancel=Cancel installation ; *** Installation status messages StatusClosingApplications=Closing applications... StatusCreateDirs=Creating directories... StatusExtractFiles=Extracting files... StatusCreateIcons=Creating shortcuts... StatusCreateIniEntries=Creating INI entries... StatusCreateRegistryEntries=Creating registry entries... StatusRegisterFiles=Registering files... StatusSavingUninstall=Saving uninstall information... StatusRunProgram=Finishing installation... StatusRestartingApplications=Restarting applications... StatusRollback=Rolling back changes... ; *** Misc. errors ErrorInternal2=Internal error: %1 ErrorFunctionFailedNoCode=%1 failed ErrorFunctionFailed=%1 failed; code %2 ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3 ErrorExecutingProgram=Unable to execute file:%n%1 ; *** Registry errors ErrorRegOpenKey=Error opening registry key:%n%1\%2 ErrorRegCreateKey=Error creating registry key:%n%1\%2 ErrorRegWriteKey=Error writing to registry key:%n%1\%2 ; *** INI errors ErrorIniEntry=Error creating INI entry in file "%1". ; *** File copying errors FileAbortRetryIgnoreSkipNotRecommended=&Skip this file (not recommended) FileAbortRetryIgnoreIgnoreNotRecommended=&Ignore the error and continue (not recommended) SourceIsCorrupted=The source file is corrupted SourceDoesntExist=The source file "%1" does not exist ExistingFileReadOnly2=The existing file could not be replaced because it is marked read-only. ExistingFileReadOnlyRetry=&Remove the read-only attribute and try again ExistingFileReadOnlyKeepExisting=&Keep the existing file ErrorReadingExistingDest=An error occurred while trying to read the existing file: FileExistsSelectAction=Select action FileExists2=The file already exists. FileExistsOverwriteExisting=&Overwrite the existing file FileExistsKeepExisting=&Keep the existing file FileExistsOverwriteOrKeepAll=&Do this for the next conflicts ExistingFileNewerSelectAction=Select action ExistingFileNewer2=The existing file is newer than the one Setup is trying to install. ExistingFileNewerOverwriteExisting=&Overwrite the existing file ExistingFileNewerKeepExisting=&Keep the existing file (recommended) ExistingFileNewerOverwriteOrKeepAll=&Do this for the next conflicts ErrorChangingAttr=An error occurred while trying to change the attributes of the existing file: ErrorCreatingTemp=An error occurred while trying to create a file in the destination directory: ErrorReadingSource=An error occurred while trying to read the source file: ErrorCopying=An error occurred while trying to copy a file: ErrorReplacingExistingFile=An error occurred while trying to replace the existing file: ErrorRestartReplace=RestartReplace failed: ErrorRenamingTemp=An error occurred while trying to rename a file in the destination directory: ErrorRegisterServer=Unable to register the DLL/OCX: %1 ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 ErrorRegisterTypeLib=Unable to register the type library: %1 ; *** Uninstall display name markings ; used for example as 'My Program (32-bit)' UninstallDisplayNameMark=%1 (%2) ; used for example as 'My Program (32-bit, All users)' UninstallDisplayNameMarks=%1 (%2, %3) UninstallDisplayNameMark32Bit=32-bit UninstallDisplayNameMark64Bit=64-bit UninstallDisplayNameMarkAllUsers=All users UninstallDisplayNameMarkCurrentUser=Current user ; *** Post-installation errors ErrorOpeningReadme=An error occurred while trying to open the README file. ErrorRestartingComputer=Setup was unable to restart the computer. Please do this manually. ; *** Uninstaller messages UninstallNotFound=File "%1" does not exist. Cannot uninstall. UninstallOpenError=File "%1" could not be opened. Cannot uninstall UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognised by this version of the uninstaller. Cannot uninstall UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components? UninstallOnlyOnWin64=This installation can only be uninstalled on 64-bit Windows. OnlyAdminCanUninstall=This installation can only be uninstalled by a user with administrative privileges. UninstallStatusLabel=Please wait while %1 is removed from your computer. UninstalledAll=%1 was successfully removed from your computer. UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually. UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now? UninstallDataCorrupted="%1" file is corrupted. Cannot uninstall ; *** Uninstallation phase messages ConfirmDeleteSharedFileTitle=Remove Shared File? ConfirmDeleteSharedFile2=The system indicates that the following shared file is no longer in use by any programs. Would you like for Uninstall to remove this shared file?%n%nIf any programs are still using this file and it is removed, those programs may not function properly. If you are unsure, choose No. Leaving the file on your system will not cause any harm. SharedFileNameLabel=File name: SharedFileLocationLabel=Location: WizardUninstalling=Uninstall Status StatusUninstalling=Uninstalling %1... ; *** Shutdown block reasons ShutdownBlockReasonInstallingApp=Installing %1. ShutdownBlockReasonUninstallingApp=Uninstalling %1. ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] NameAndVersion=%1 version %2 AdditionalIcons=Additional icons: CreateDesktopIcon=Create a &desktop icon CreateQuickLaunchIcon=Create a &Quick Launch icon ProgramOnTheWeb=%1 on the Web UninstallProgram=Uninstall %1 LaunchProgram=Launch %1 AssocFileExtension=&Associate %1 with the %2 file extension AssocingFileExtension=Associating %1 with the %2 file extension... AutoStartProgramGroupDescription=Startup: AutoStartProgram=Automatically start %1 AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway? survex-1.4.17/lib/el.msg0000664000175000017500000004011414766643344010522 Svx Msg @8©Δεν είναι δυνατό το άνοιγμα του αρχείου «%s»Ανεπαρκής μνήμη: «%s»Failed to open output file “%s”Bad 3d image file “%s”Filename “%s” refers to directoryError reading from file “%s”Σφάλμα κατά την εγγραφή στο αρχείο «%s»File “%s” has a newer format than this program can understandExpecting numeric field, found “%s”Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”Bug in program detected! Please report this to the authorsΆγνωστη εντολή «%s»Station “%s” equated to itselfCompass reading may not be omitted except on plumbed legsEnd of line not blankThere were %d warning(s).Η εκτέλεση της εντολής «%s» απέτυχεΣφάλμα ανάγνωσης αρχείουToo many errors - giving up*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT insteadCompass reading given on plumbed legCorresponding %s was here%s with no matching %s in this fileΑνεπαρκής μνήμη (%lu bytes)ROOT is deprecatedStation “%s” not exported from survey “%s”“%s” can’t be both a station and a surveyExpecting station nameReentering an existing survey is deprecatedOriginally entered hereFound “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”Found “%s”, expecting “ON” or “OFF”Only one station in EQUATE commandUnknown quantity “%s”Unknown units “%s”Matching BEGIN command has no survey nameInvalid units “%s” for quantitySurvex version %s or greater required to process this survey data.Unknown instrument “%s”Scale factor must be 1.0 for DECLINATIONUnknown setting “%s”Unknown character class “%s”No survey dataIn file included from %s:%u: Survey not all connected to fixed stationsStation already fixed or equated to a fixed pointCan't have a leg between two anonymous stationsStandard deviation must be positiveΧρήσηSurvey leg with same station (“%s”) at both ends - typing error?Clino reading over %.f%s (absolute value)Tried to equate two non-equal fixed stations: “%s” and “%s”Equating two equal fixed points: “%s” and “%s”FIX command with no coordinates - fixing at (0,0,0)Station already fixed at the same coordinatesanonymous station*EXPORT must immediately follow “*BEGIN ”Invalid year (< 1900 or > 2078)Suspicious compass readingNegative tape readingSame station fixed twice with no coordinatesTape reading is less than change in depthReading “%s” not allowed in data style “%s”Too few readings for data style “%s”Data style “%s” unknownStation “%s” already exportedDuplicate reading “%s”FLAG “%s” unknownMissing "Station “%s” referred to just once, with an explicit survey name - typo?The following survey stations are not attached to a fixed point:Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)Unused fixed point “%s”No blank after tokenSolving %d simultaneous equationsAssuming 2 digit year is %dReading “%s” duplicates previous reading(s)Solving one equationNegative adjusted tape readingDate is in the future!End of date range is before the startColour by &LengthCross section specified at non-existent station “%s”CLINO and BACKCLINO readings must be of the same typeColour by &GradientInvalid monthInvalid day of the month3d file format versions %d to %d supportedExpecting survey name.espec file to control extendingshow breaks with surface survey legs in outputPlumbed CLINO and BACKCLINO readings can't be in the same directionσφάλμαTape reading may not be omittedFurther uses of this deprecated feature will not be reported%TAPE reading and BACKTAPE reading disagree by %sCOMPASS reading and BACKCOMPASS reading disagree by %sCLINO reading and BACKCLINO reading disagree by %sStation NameCSV αρχείαproduce CSV outputExpecting “%s” or “%s”“*data %s %c …” is deprecated - use “*data %s …” insteadReading in data - please wait…προειδοποίηση%a,%Y.%m.%d %H:%M:%S %ZDate and time not available.*prefix is deprecated - use *begin and *end insteadCharacter “%c” not allowed in station name (use *SET NAMES to set allowed characters)Σφάλμα κατά την εγγραφή στο αρχείοCouldn’t parse .err fileThere were %d warning(s) and %d error(s) - no output files produced.Field may not be omittedΒορράςElevation onP&lan viewElevationprint and exit (requires a 3d file)Calculating statisticsExpecting string fieldπολύ λίγα ορίσματαπάρα πολλές παράμετροιΑΡΧΕΊΟRemoving trailing traversesConcatenating traversesCalculating traversesCalculating trailing traversesSimplifying networkCalculating networkFound “%s”, expecting “F” or “B”Total length of survey legs = %7.2f%s (%7.2f%s adjusted)Total plan length of survey legs = %7.2f%sTotal vertical length of survey legs = %7.2f%sVertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)There is 1 loop.There are %ld loops.CPU time used %5.2fsTime used %5.2fsTime used unavailableTime used %5.2fs (%5.2fs CPU time)Εμφάνιση &ΚαταγραφήςOriginal length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). Σφαλμα %6.2f%%Σφαλμα N/Agenerate grid (default %sm)station labels text height (default %s)εμφάνιση αυτής της βοήθειας και έξοδοςπροβολή πληροφοριών έκδοσης και έξοδοςstation marker size (default %s)ΕΠΙΛΟΓΗΚλίμακαςinclude items exported by defaultproduce DXF outputTry “%s --help” for more information. Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduce Compass PLT output for Cartoproduce SVG outputNo terrain data near area of surveyset location for output filesonly show brief summary (-qq for errors only)do not create .err fileturn warnings into errorsSurvex pos filesProcessed: %sPlan view, %s up pageElevation facing %slog output to .log filespecify the 3d file format version to outputSurvey contains 1 survey station,Survey contains %ld survey stations, joined by 1 leg. joined by %ld legs.κόμβοςκόμβοιSurvey has %ld connected components.sort by horizontal error factorsort by vertical error factorsort by percentage errorsort by error per legreplace .err file with re-sorted version&Reprocessnumeric argument “%s” out of rangeargument “%s” not an integerargument “%s” not a numberExpecting “%s”, “%s”, or “%s”Expecting “%s”, “%s”, “%s”, or “%s”Station “%s” referred to by *%s but never usedExtended elevationNo matching %sSurvey name doesn’t match BEGINSurvey name omitted from END( Ανατολικά, Βόρεια, Υψόμετρο )Display Depth: %d bpp (colour)Expecting date, found “%s”only load the sub-survey with this prefix*UNITS factor must be non-zero&Στιγμιότυπου...No survey data in 3d file “%s”Στραμμένηrewind file and read it a second timeΣχετικά %sSelect a survey file to viewSurvex 3d αρχείαΌλα τα αρχείαSurvey visualisation tool&ΑρχείοΠε&ριστροφήΠροσανα&τολισμός&Όψη&Στοιχεία ελέγχου&Βοήθεια&Παρουσίασηscale (50, 0.02, 1:50 and 2:100 all mean 1:50)ΑΡΧΕΊΟ1 ΑΡΧΕΊΟ2 [ΚΑΤΏΦΛΙ]Το παρόν πρόγραμμα είναι ελεύθερο λογισμικό: μπορείτε να το αναδιανείμετε ή/και να το τροποποιήσετε υπό τους όρους της Γενικής Άδειας Δημόσιας Χρήσης GNU, όπως αυτή έχει δημοσιευτεί από το Ίδρυμα Ελεύθερου Λογισμικού είτε με την έκδοση 2 της Άδειας είτε (κατ' επιλογήν) με οποιαδήποτε μεταγενέστερη έκδοση.&Άνοιγμα... Ctrl+OαχρονολόγητοςNEWLINE can’t be the first readingNEWLINE can’t be the last readingInterleaved readings, but no NEWLINEReading “%s” must occur before NEWLINENEWLINE can only be preceded by STATION, DEPTH, and COUNTCan’t calibrate angular and length quantities together%s Error LogAll survey files&Εξαγωγή...Au&to-Rotate Space%d/%d↑%s 1:%.0f&Αντίστροφη κατεύθυνση%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0f&PerspectiveTextured &WallsFade Distant Ob&jectsView &NorthView &EastView &SouthView &WestExtended 1:%.0fΕμφάνιση όλωνΑπόκρυψη άλλωνE&xtended Elevation...&Plan ViewEle&vation&Dashed&Duplicate LegsExport format not specified and not known from output file extensionExport format not specifiedRestore De&fault ViewFILE1 and FILE2 can be .pos or .3d files THRESHOLD is the max. ignorable change along any axis in metres (default %s)Στοιχεία%d pages (%dx%d)Μία σελίδαΑζιμούθιοStation NamesΣταυροίUnderground Survey LegsTilt anglePage BordersΛεζάνταBlank PagesINPUT_FILE [OUTPUT_3D_FILE]ERR_FILE [HOW_MANY][SURVEY_FILE]Station &Names Ctrl+N&Σταυροί Ctrl+X&Underground Survey Legs Ctrl+L&Overlapping Names&Πυξίδα&ΚλινόμετροColour &Key&Γραμμή κλίμακας (unused in perspective view)Χρόνος: &Reverse Sense Ctrl+R&Cancel Measuring Line Escape secs (0 = auto; *6 = 6 times auto)ΌψηElevation facing %s, tilted %s&ElevationReference to station “%s” from non-existent survey “%s”Failed to initialise input coordinate system “%s”Failed to initialise output coordinate system “%s”Colour by &ErrorNot in loop&Surface Survey Legs Ctrl+FColour by &DepthColour by D&ateHighlight &EntrancesHighlight &Fixed PointsHighlight E&xported Points&Πλέγμα Ctrl+GSmoot&hed Survey Legs&Indicators%s: option “%s” is ambiguous Input coordinate system must be specified for “%s”%s: option “%c%s” doesn’t allow an argument %s: option “--%s” doesn’t allow an argument No survey date specified - using 0 for magnetic declination%s: η επιλογή «%s» απαιτεί ένα όρισμα %s: η επιλογή απαιτεί ένα όρισμα -- %c %s: unrecognized option “--%s” %s: unrecognized option “%c%s” Expected number or “AUTO”%s: μη αναγνωρίσιμη επιλογή -- %c &New Presentation&Open Presentation...&Save PresentationSa&ve Presentation As...&Mark&Αναπαραγωγή&Export as Movie...&Bounding Box Ctrl+BSelect an output filenameAven presentationsΑποθήκευση στιγμιότυπου οθόνηςSelect a presentation to openError in format of presentation file “%s”Compass PLT filesCMAP XYZ filesModified PresentationThe current presentation has been modified. Abandon unsaved changes?Δεν βρέθηκαν αντιστοιχίες.Survex svx αρχείαCompass MAK αρχείαExport MovieΑναζήτησηFind stations%d stations match %s%s%sΥψόμετροYou may only view one 3d file at a time.&Side Panel%.2f Α, %.2f ΒΑπό %sH %.2f%s, V %.2f%s%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s&Metric&Degrees°ᵍPassage &Tubes Ctrl+T&Προτιμήσεις...Draw passage wallsEstimate LRUD readings based on heuristicsMark survey stations with crossesHighlight stations marked as entrancesHighlight stations marked as fixed pointsHighlight stations which are exportedMark survey stations with their namesAllow names to overlap on the display (faster)Full Screen &Mode F11Display underground survey legsDisplay surface survey legsColour surface surveys by depthDraw surface legs with dashed linesDraw a gridmetric unitsimperial unitsdegrees (°)gradsDisplay measurements inDisplay angles inReverse the sense of the controlsDisplay scale barDisplay depth barDisplay compassDisplay clinometerDisplay side panel%s: H %.2f%s, Brg %03.1f%s%s: V %.2f%sSurveysΠαρουσίασηΑνατολικάΒόρεια&Εκτύπωση... Ctrl+PP&age Setup...&Export as...Εξαγωγή&Hide Clino&Hide scale bar&Hide colour key&Hide CompassHide si&blingsΑνεπαρκής μνήμηSystem Information:Scale factor must be non-zeroSeparator in survey nameCross-sectionsWallsPassagesshow survey date information (if present)Bad *alias commandΠροεπισκόπηση ΕκτύπωσηςΕκτύπωση&Εκτύπωση...Export as:Couldn’t write file “%s”Sur&face Survey LegsEdit WaypointThis version of %s requires OpenGL to work, but it isn’t available.Spla&y Legs&Απόκρυψη&Ξεθωριάζω&ΕμφάνισηExport formatDXF αρχείαEPS αρχείαGPX αρχείαHPGL for plottersCompass PLT for use with CartoDuplicate date type “%s”SVG αρχείαEntrancesFixed PointsExported StationsOrigin in centreFull coordinatesχλμmcm μίλια μίλι′″&Percent∞ΠλάνοKiwi PlanUnknown coordinate systemCoordinate system unsuitable for outputFailed to convert coordinates: %sThe input projection is set but the output projection isn'tThe output projection is set but the input projection isn'tCoordinates can't be omitted when coordinate system has been specifiedCoordinate projectionAlready had FIX command with no coordinates for station “%s”Station “%s” fixed before CS command first usedInvalid coordinate system: %sKML αρχείαJSON αρχεία&Αποθήκευση καταγραφήςLog filesColour by &SurveyTerr&ainCo&lour bySelect a terrain file to viewTerrain filesOpen &Terrain...produce EPS outputproduce GPX outputproduce HPGL outputproduce JSON outputproduce KML outputproduce Survex POS outputbearing (90, 90d, 100g all mean 90°)tilt (45, 45d, 50g, 100% all mean 45°)plan view (equivalent to --tilt=-90)elevation view (equivalent to --tilt=0)surface survey legssplay legsentrancesfixed pointsexported stationscross-sectionswallspassagesorigin in centrefull coordinatesσταυροίstation labelsunderground survey legsΑκινητοποίηση στο έδαφοςακινητοποίηση στο έδαφοςUnits “%s” are deprecated, assuming “grads” - see manual for detailsColour by &Horizontal ErrorColour by &Vertical ErrorColour by St&yleExpecting quadrant bearing, found “%s”Declination: %s, grid convergence: %.1f%sπληροφορίεςconvert MOVE and LINE into LEGproduce Survex 3d outputOutput coordinate system not setExpecting integer in range %d to %dCompass DAT αρχείαCompass CLP αρχείαFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayExpecting “%s”Failed to create temporary fileMacro “%s” not definedMoved by (%3.2f,%3.2f,%3.2f): %sΠροστέθηκαν: %sΔιαγραμένα: %sDatum “%s” not supportedWalls project filesWalls survey data filesIgnoring “%s”[SURVEY_DATA_FILE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-Failed to find station %sFailed to find leg %s → %sStarting from station %sExtending to the left from station %sExtending to the right from station %sExtending to the left from leg %s → %sExtending to the right from leg %s → %sBreaking survey loop at station %sBreaking survey loop at leg %s → %sSwapping extend direction from station %sSwapping extend direction from leg %s → %sApplying specfile: “%s”Writing %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Invalid yearZ exaggeration factorsurvex-1.4.17/lib/Info.plist.in0000664000175000017500000000515314756727464012000 CFBundleDisplayName Aven CFBundleExecutable aven CFBundleIconFile Aven CFBundleIdentifier com.survex.app.Aven CFBundleName Aven CFBundlePackageType APPL CFBundleShortVersionString @VERSION@ CFBundleSignature AVEN CFBundleVersion 1.0 LSHasLocalizedDisplayName 0 NSAppleScriptEnabled NSHumanReadableCopyright Licensed under the GNU General Public License version 2 or later. @COPYRIGHT_MSG@ @AVEN_COPYRIGHT_MSG@ NSPrincipalClass wxNSApplication CFBundleDocumentTypes CFBundleTypeName com.survex.3d CFBundleTypeExtensions 3d CFBundleTypeIconFile 3d CFBundleTypeRole Viewer LSHandlerRank Owner CFBundleTypeName com.survex.err CFBundleTypeExtensions err CFBundleTypeIconFile err CFBundleTypeRole None CFBundleTypeName com.survex.plt CFBundleTypeExtensions plt CFBundleTypeIconFile plt CFBundleTypeRole Viewer LSHandlerRank Owner CFBundleTypeName com.survex.pos CFBundleTypeExtensions pos CFBundleTypeIconFile pos CFBundleTypeRole Viewer LSHandlerRank Owner CFBundleTypeName com.survex.svx CFBundleTypeExtensions svx CFBundleTypeIconFile svx CFBundleTypeRole Viewer LSHandlerRank Owner survex-1.4.17/lib/fr.msg0000664000175000017500000004375714766643344010551 Svx Msg G©Impossible d'ouvrir le fichier « %s »Mémoire insuffisante lors de la lecture du fichier « %s »Impossible d'ouvrir le fichier de sortie « %s »Mauvais fichier image 3d « %s »Nom de fichier « %s » relatif à un répertoireErreur lors de la lecture du fichier « %s »Erreur lors de l’écriture du fichier « %s »Le fichier « %s » a un format trop récent pour que ce programme puisse le comprendreOn attendait une valeur numérique, on a trouvé « %s »Vous avez écrit « %s » ; on attendait « PRESERVE », « TOUPPER » ou « TOLOWER »Bogue détecté dans le programme ! Veuillez le signaler à l’auteur.Commande « %s » inconnueLa station « %s » ne doit pas être déclarée égale à elle-mêmeLa valeur de l’azimut ne peut être omise, sauf sur les visées verticalesFin de ligne non videIl y a %d avertissement(s).Ne peut pas exécuter la commande externe : « %s »Erreur lors de la lecture du fichierTrop d’erreurs, j’abandonne*DEFAULT est obsolète - employer *CALIBRATE/DATA/SD/UNITS avec l'argument DEFAULT à la placeLecture d’azimut donnée sur une visée verticaleCorresponding %s was here%s sans %s correspondant dans ce fichierMémoire insuffisante (%lu octets nécessaires, non disponibles).ROOT est obsolèteLa station « %s » n’est pas exportée depuis la topographie « %s »« %s » ne peut être à la fois une station et une topographieOn attendait un nom de stationRé-utiliser un même nom de topographie est obsolètePremière utilisation du nom de topographie iciVous avez écrit « %s » ; on attendait « EQUATES », « EXPORTS » ou « PLUMBS »Vous avez écrit « %s » ; on attendait « ON » ou « OFF »Une seule station dans une commande EQUATEQuantité « %s » inconnueUnité « %s » inconnueLa commande BEGIN correspondante n’a pas de nom de topographieUnité « %s » incorrecte pour une quantitéUne version %s ou supérieure de Survex est nécessaire pour traiter ces données.Instrument « %s » inconnuLe facteur d’échelle doit être égal à 1.0 pour DECLINATIONParamètres « %s » inconnusClasse de caractère inconnue « %s »Pas de données topographiquesDans le fichier inclus depuis %s:%u: Les relevés topographiques ne sont pas tous reliés à des points fixesStation déjà déclarée fixe ou équivalente à un point fixeImpossible d'avoir une visée entre deux stations anonymesLa déviation standard doit être positiveUtilisationVisée avec 2 extrémités identiques (« %s ») - erreur de frappe ?Lecture de clino supérieure à %.f%s (en valeur absolue)Vous tentez de rendre égaux deux points fixes distincts : « %s » et « %s »Rend equivalents deux points fixes égaux : « %s » et « %s »Commande FIX sans coordonnées - fixée à (0,0,0)Station déjà fixée aux même coordonnéesstation anonyme*EXPORT doit suivre immédiatement « *BEGIN »Année non valide (< 1900 ou > 2078)Lecture de compas suspecteLecture de longueur négativeMême station fixée deux fois sans coordonéesLecture de longueur inférieure à la différence de profondeurDonnée « %s » incorrecte pour le style de données « %s »Trop peu de données pour le style de données « %s »Style de données « %s » inconnuLa station « %s » est déjà exportéeDonnée dupliquée « %s »FLAG « %s » inconnu" manquantLa station « %s » n’est mentionnée qu’une fois, avec un nom de topographie explicite - faute de frappe ?Les stations topographiques suivantes ne sont pas attachés à des points fixes :La topographie n’a pas de points fixes. Par conséquent j’ai fixé %s à (0,0,0)Point fixe non utilisé « %s »No blank after tokenRésoud un système de %d équationsEn supposant que l'année à deux chiffres est %dLa valeur « %s » fait doublon avec une ou des valeur(s) précédente(s)Résoud une équationLecture de longueur corrigée négativeLa date est dans le futur !La date de fin est antérieure à celle de débutCouleur par &longueurSection spécifié sur une station inexistante « %s »Les mesures de CLINO et BACKCLINO doivent être du même typeCouleur par pe&nteMois non valideJour du mois non valideLes versions de fichiers au format 3D de %d à %d sont pris en chargeOn attendait un nom de topographiefichier .espec pour contrôler l'extensionaffiche les coupures avec les visées de surface en sortieLes lectures verticales CLINO et BACKCLINO peuvent être dans la même directionerreurLecture de longueur ne peut être omiseCette fonctionnalité n’est plus utilisée ; les utilisations ultérieures ne seront pas signalées%Les mesures de TAPE et BACKTAPE diffèrent de %sLes mesures de COMPASS et BACKCOMPASS diffèrent de %sLes mesures de CLINO et BACKCLINO diffèrent de %sNom de stationFichiers CSVproduire une sortie CSVOn attendait « %s » ou « %s »« *data %s %c … » est obsolète - utiliser plutôt « *data %s … »Lecture de données - veuillez patienter…avertissement%a,%Y.%m.%d %H:%M:%S %ZDate et heure non disponibles.*prefix n’est plus utilisé - employer *begin et *end à la placeLe caractère « %c » est interdit dans un nom de station (cf *SET NAMES pour modifier la liste des caractères autorisés)Erreur à l’écriture du fichierLa lecture du fichier .err a échouéIl y a %d avertissement(s) et %d erreur(s) - aucun fichier n’a été produitCe champ ne peut pas être videNordÉlévation sur&Vue en planÉlévationImprimer et quitter (nécessite un fichier 3D)Calcul des statistiquesOn attendait une chaine de caractères dans ce champtrop peu d'argumentstrop d’argumentsFICHIEREnlève les séquences terminalesConnecte les séquencesCalcule les séquencesCalcule les séquences terminalesSimplification de réseauCalcul du réseauVous avez écrit « %s » ; on attendait « F » ou « B »Longueur totale de la topographie = %7.2f%s (%7.2f%s ajusté)Longueur totale en projection horizontale = %7.2f%sLongueur totale verticale = %7.2f%sIntervalle vertical = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)Intervalle Nord-Sud = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)Intervalle Est-Ouest = %4.2f%s (de %s à %4.2f%s jusqu’à %s à %4.2f%s)Il y a 1 bouclage.Il y a %ld bouclages.Temps CPU utilisé %5.2fsTemps utilisé %5.2fsTemps utilisé non disponibleTemps utilisé %5.2fs (%5.2fs temps CPU)Afficher le &journalLongueur originale %6.2fm (%3d visées), réduit à %6.2fm (%5.2fm/visées). Erreur %6.2f%%Erreur N/Agénérer une grille (%sm par défaut)hauteur du texte dans les étiquettes station (%s par défaut)affiche cette aide et quitteaffiche les informations sur la version et quittetaille des marqueurs station (%s par défaut)OPTIONÉchelleinclure les éléments exportés par défautproduire une sortie DXFPour en savoir davantage, essayez : « %s --help » Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date rangeproduire une sortie PLT Compass pour Cartoproduire une sortie SVGAucune donnée de terrain à proximité de la zoneDéfinir l’endroit pour les fichiers sortisAfficher seulement un bref résumé (-qq pour les erreurs seulement)Ne pas créer de fichier .errchanger les avertissements en erreursFichiers pos SurvexTraité le %sVue en plan, azimut %s vers le haut de la pageCoupe projetée azimut %senregistrer la sortie dans un fichier .logspécifier la version du format de fichier 3D en sortieLa topographie contient 1 station,La topographie contient %ld stations, connectées par 1 visé. connectées par %ld visées.nœudnœudsLa topographie contient %ld composants connectés.trier par facteur d’erreur horizontaltrier par facteur d’erreur verticaltrier par pourcentage d’erreurtrier par erreur par viséeremplacer le fichier .err par la version assortie&Recalculerargument numérique « %s » hors limitel’argument « %s » n’est pas un entierl’argument « %s » n’est pas un nombreOn attendait « %s », « %s » ou « %s »On attendait « %s », « %s », « %s » ou « %s »La station « %s » est citée dans un *%s mais n’est jamais utiliséeCoupe développée%s manquantLe nom de topographie du END ne correspond pas à celui du BEGINNom de topographie manquant dans le END( X (est), Y (nord), altitude )Profondeur d’affichage : %d bpp (couleur)On attendait une date, on a trouvé « %s »ne charge que la partie de la topographie avec le préfixe*UNITS : le facteur doit être non nul&Copie d’écran...Pas de données topographiques dans le fichier image 3d « %s »Directionrembobiner le fichier et le lire une seconde foisÀ propos de %sSélectionner un fichier de topographie à afficherFichiers de données 3D SurvexTous les fichiersOutil de visualisation de topographies&Fichier&Rotation&OrientationAfficha&ge&Commandes&Aide&Présentationéchelle (50, 0,02, 1:50 et 2:100 tous signifient 1:50)FICHIER1 FICHIER2 [SEUIL]Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix) toute version ultérieure.&Ouvrir... Ctrl+ONon datéeNEWLINE ne peut pas être la première valeurNEWLINE ne peut pas être la dernière valeurDonnées sur plusieurs lignes, mais pas de NEWLINELa donnée « %s » doit apparaître avant NEWLINENEWLINE ne peut être précédée que par STATION, DEPTH et COUNTOn ne peut pas étalonner les angles et les longueurs en même tempsJournal d’erreur de %sTous les fichiers de topographie&Exporter...Rotation &automatique Space%d/%d↑%s 1:%.0fDirection &inverse%s↔%s 1:%.0f%s↔%s ∡%s 1:%.0fPe&rspectiveTe&xture des paroisRendre floue les ob&jets lointainsVue vers le &nordVue vers l’&estVue vers le &sudVue vers l’&ouestDéveloppée 1:%.0fTout afficherMasquer les autresCoupe &développée...Vue en &planÉlé&vation&TiretsVisées &dupliquéesFormat d'exportation non spécifié et inconnu de l'extension du fichier de sortieFormat d'exportation non spécifié&Restaurer la vue par défautLes fichiers FICHIER1 et FICHIER2 peuvent êtres des fichiers .pos ou .3d Le SEUIL est le changement maxi. ignorable le long de n'importe quel axe en mètres (%s par défaut)Éléments%d pages (%dx%d)Une pageAzimutNoms de stationCroisementsVisées souterrainesAngle de basculementBordures de pageLégendePages blanchesFICHIER_D_ENTREE [FICHIER_DE_SORTIE_3D]FICHIER_D_ERREUR [NOMBRE][FICHIER_TOPOGRAPHIE]&Noms de station Ctrl+N&Croisements Ctrl+X&Visées souterraines Ctrl+L&Superposition des noms&CompasC&linoCouleur cle&fBarre de controle des éch&elles (non utilisé dans la vue en perspective)Temps : Sens &inverse Ctrl+R&Annuler la ligne de mesure Escape secs (0 = auto ; *6 = 6 fois auto)VueCoupe projetée azimut %s, tournée de %s&ÉlévationRéférence à la station « %s » depuis la topographie « %s » inexistanteÉchec à l'initialisation du système de coordonnées d’entrée « %s »Échec à l'initialisation du système de coordonnées de sortie « %s »Couleur par &erreurPas dans la boucleSegments de topo en s&urface Ctrl+FCouleur par &profondeurCouleur par &dateMettre en surbrillance les &entréesMettre en surbrillance les points &FixesMettre en surbrillance les points exp&ortés&Grille Ctrl+GLissage des segments topographi&quesI&ndicateurs%s : l’option « %s » est ambiguë Le système de coordonnées en entrée doit être spécifié pour « %s »%s : l’option « %c%s » n’a pas d’argument %s : l’option « --%s » n’a pas d’argument La date de topographie n'est pas spécifiée - utilise 0 pour la déclinaison magnétique%s : l’option « %s » requiert un argument %s : l'option nécessite un argument -- %c %s : option « --%s » non reconnue %s : option « %c%s » non reconnue Nombre ou « AUTO » attendu%s : option non valide -- %c &Nouvelle présentation&Ouvrir une présentation...Enregi&strer la présentationEnreg&istrer la présentation sous...&Marquer&Lecture&Exporter en tant qu'animation...&Bordures du cadre Ctrl+BSélectionner un nom de fichier de sortiePrésentations AvenEnregistrer la copie d'écranSlectionner une présentation à ouvrirErreur de formatage du fichier de présentation « %s »Fichier Compass PLTFichier CMAP XYZPrésentation modifiéeLa présentation en cours a été modifiée. Perte des changements non sauvés ?Recherche infructueuse.Fichiers svx SurvexFichiers MAK CompassExporter le filmChercherFind stations%d stations match %s%s%sAltitudeVous ne pouvez afficher qu’un fichier image 3D à la fois&Vue latérale%.2f E, %.2f NDepuis %sH %.2f%s, V %.2f%s%s : %s, dist %.2f%s, azim %03.1f%s, pente %s&Métrique&Degrés°ᵍGaleries &tubulaires Ctrl+T&Préférences...Dessiner les paroisEstimation heuristique des dimensions de galerieMarquer les stations d'une croixMettre en surbrillance les stations marquées comme entréesMettre en surbrillance les stations marquées comme points fixesMettre en surbrillance les stations exportéesAfficher les stations par leurs nomsPermettre aux noms de se recouvrir (affichage plus rapide)&Mode plein écran F11Afficher les visées souterrainesAfficher les visées de surfaceCouleur de la topographie de surface en fonction de l’altitudeReprésenter les visées de surfaces par des tiretsAfficher une grilleunités métriquesunités impérialesdegrés (°)gradesAfficher les distances enAfficher les angles enInverser le sens des commandesAfficher l’échelleAfficher la barre de profondeurAfficher la boussoleAfficher le clinomètreAfficher le panneau latéral%s : H %.2f%s, Azim %03.1f%s%s : V %.2f%sTopographiesPrésentationEstNord&Imprimer... Ctrl+PConfigurer la &page...&Exporter sous...Exporter&Masquer le clinomètre&Masquer l'échelle&Masquer l’échelle des couleurs&Masquer le compasCacher la &fratrieMémoire insuffisanteSystème d’information :Le facteur d’échelle doit être non nulSéparateur dans le nom de la topographieSectionsParoisGaleriesafficher la date de la topographie (si présente)Mauvaise commande *aliasAperçu avant impressionImprimer&Imprimer...Exporter en tant que :Impossible d'écrire le fichier « %s »Segments de topographie en sur&faceÉditer un waypointCette version de %s a besoin d’OpenGL pour fonctionner, mais il n’est pas disponible.Visées l&atéralesMas&quer&Obscurcir&AfficherFormat d'exportationFichiers DXFFichiers EPSFichiers GPXHPGL pour traceursFichiers PLT Compass à utiliser avec CartoDuplicate date type “%s”Fichiers SVGEntréesPoints fixesPoints exportésOrigine au centreCoordonnées complèteskmmcm milles mille′″&Pourcent∞PlanAntipodeSystème de coordonnées inconnuSystème de coordonnée impropre en sortieÉchec de la conversion des coordonnées : %sLa projection est définie en entrée mais manque en sortieLa projection est définie en sortie mais manque en entréeLes coordonnées ne peut être omises quand le système de coordonnées est spécifiéProjection des coordonnéesIl existe déjà des commandes FIX sans coordonnées pour la station « %s »La station « %s » est fixé avant l'utilisation de la commande CSSystème de coordonnées non valide : %sFichiers KMLFichiers JSON&Enregistrer le journalFichiers journauxCouleur par &topographieTerra&inCou&leur parSélectionner un fichier de surface à visualiserFichiers de surfaceOuvrir un &terrain...produire une sortie EPSproduire une sortie GPXproduire une sortie HPGLproduire une sortie JSONproduire une sortie KMLproduire une sortie POS Survexazimut (90, 90d, 100g, tous signifient 90°)inclinaison (45, 45d, 50g, 100% tous signifient 45°)vue en plan (équivalent à --tilt=-90)vue en élévation (équivalent à --tilt=0)segments de topo en surfacevisées latéralesentréespoints fixespoints exportéssectionsparoisgaleriesorigine au centrecoordonnées complètesmarqueurs stationétiquettes stationvisées souterrainesCollé au solcollé au solLes unités « %s » sont obsolètes, supposant que ce sont des « gradiants » - voir le manuel pour plus de détailsCouleur par erreur &horizontalCouleur par erreur &verticalCouleur par st&yleExpecting quadrant bearing, found “%s”Déclinaison : %s, convergence méridienne : %.1f%sinfoconvert MOVE and LINE into LEGproduire une sortie 3d SurvexOutput coordinate system not setExpecting integer in range %d to %dFichiers DAT CompassFichiers CLP CompassFile “%s” not georeferencedPreviously fixed or equated hereOverlay &Geodata...Geodata filesSelect a geodata file to overlayOn attendait « %s »Ne peut créer un fichier temporaireMacro “%s” not definedDéplacement de (%3.2f,%3.2f,%3.2f) : %sAjouté : %sEffacé : %sDatum “%s” not supportedWalls project filesFichiers topographie Walls“%s” ignorée[FICHIER_TOPOGRAPHIE]Parsing as “to” station but may be isolated LRUD with missing closing delimiterequivalent to --show-dates=-La station %s n’a pas été trouvéeVisée %s → %s non trouvéDébut à la station %sExtension vers la gauche en partant de la station %sExtension vers la droite en partant de la station %sExtension vers la gauche en partant de la visée %s → %sExtension vers la droite en partant de la visée %s → %sCoupure de la boucle à la station %sCoupure de la boucle à la visée %s → %sChange la direction de la coupe développée à partir de la station %sChange la direction de la coupe développée à partir de la visée %s → %sApplication du fichier de spécification : « %s »Écriture de %s…Shapefiles (lines)Shapefiles (points)produce Shapefile (lines) outputproduce Shapefile (points) outputFailed to initialise GDAL “%s” driverFailed to create GDAL layerFailed to create GDAL fieldFailed to create GDAL featureApproximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s Unknown team role “%s”Station name search (substring or wildcard)Année non valideZ exaggeration factorsurvex-1.4.17/lib/extract-msgs.pl0000755000175000017500000001203214746037267012366 #!/usr/bin/perl -w require 5.008; use bytes; use strict; use POSIX; use Locale::PO; sub pot_creation_date { return strftime "%Y-%m-%d %H:%M:%S +0000", gmtime(); } use integer; my (%msgs, @uses, %comment, %loc); my $translator_comment; while () { if (m!(/[/*])\s*(TRANSLATORS:.*?)\s*\z!) { my ($comment_type, $comment) = ($1, $2); if ($comment_type eq '/*') { while ($comment !~ s!\s*\*/\z!! && defined($_ = )) { if (m!^\s*\*?\s*(.*?)\s*\z!) { # */ on a line by itself results in '/' for $1. last if $1 eq '/'; $comment .= "\n$1"; } } } else { # // comment - see if there are further // comments immediately # following. while (defined($_ = ) && m!//\s*(.*?)\s*\z!) { $comment .= "\n$1"; } } $comment =~ s/\n+$//; if (defined $translator_comment) { print STDERR "$ARGV:$.: Ignored TRANSLATORS comment: $translator_comment\n"; } $translator_comment = $comment; last if !defined $_; } while (m!/\*(.*?)\*/(\d+)\b!g) { my ($msg, $msgno) = ($1, $2); # Handle there being a comment before the comment with the message in. $msg =~ s!.*/\*!!; if (exists $msgs{$msgno}) { if ($msgs{$msgno} ne $msg) { print STDERR "$ARGV:$.: Mismatch for message number $msgno:\n"; print STDERR "$msgs{$msgno}\n$msg\n"; } } else { $msgs{$msgno} = $msg; } if (defined $translator_comment) { if (exists $comment{$msgno} && $comment{$msgno} ne $translator_comment) { print STDERR "Different TRANSLATOR comments for message #$msgno\n"; print STDERR "${$uses[$msgno]}[0]: $comment{$msgno}\n"; print STDERR "$ARGV:$.: $translator_comment\n"; } else { $comment{$msgno} = $translator_comment; } undef $translator_comment; } push @{$uses[$msgno]}, "$ARGV:$."; } } continue { # Reset $. for each input file. close ARGV if eof; } my $num_list = Locale::PO->load_file_asarray("survex.pot"); my $first = 1; foreach my $po_entry (@{$num_list}) { my $msgno = ''; my $ref = $po_entry->reference; if (defined $ref && $ref =~ /^n:(\d+)$/m) { $msgno = $1; } if ($first) { $first = 0; if ($po_entry->msgid eq '""') { chomp(my $header = $po_entry->dump); print $header; next; } print << "END"; # Survex translation template. # Copyright (C) YEAR COPYRIGHT HOLDERS # This file is distributed under the same licence as Survex. # msgid "" msgstr "" "Project-Id-Version: survex\\n" "Report-Msgid-Bugs-To: olly\@survex.com\\n" "POT-Creation-Date: ${\(pot_creation_date)}\\n" "PO-Revision-Date: YEAR-MO-DA HO:MI:SE +ZONE\\n" "Language-Team: LANGUAGE \\n" "MIME-Version: 1.0\\n" "Content-Type: text/plain; charset=utf-8\\n" "Content-Transfer-Encoding: 8bit\\n" END } my $msg; if (exists $msgs{$msgno}) { $msg = $msgs{$msgno}; delete $msgs{$msgno}; } else { print STDERR "../lib/survex.pot:", $po_entry->loaded_line_number, ": Message number $msgno is in survex.pot but not found in source - preserving\n" unless $po_entry->obsolete; $msg = $po_entry->dequote($po_entry->msgid); } if (exists $comment{$msgno}) { my $new = $comment{$msgno}; my $old = $po_entry->automatic; $po_entry->automatic($new); if (defined $old) { $old =~ s/\s+/ /g; $new =~ s/\s+/ /g; if ($old ne $new) { print STDERR "Comment for message #$msgno changed:\n"; print STDERR "../lib/survex.pot:", $po_entry->loaded_line_number, ": [$old]\n"; print STDERR "${$uses[$msgno]}[0]: [$new]\n"; } } } if (defined $po_entry->automatic) { if (!exists $comment{$msgno}) { my $fake_err = ": Comment for message #$msgno not in source code\n"; if ($msgno ne '' && exists($uses[$msgno])) { print STDERR join($fake_err, "../lib/survex.pot:".$po_entry->loaded_line_number, @{$uses[$msgno]}), $fake_err if exists($uses[$msgno]); my $x = $po_entry->automatic; $x =~ s/\n/\n * /g; print STDERR " /* $x */\n"; } else { # Currently unused message. # print STDERR $fake_err; # my $x = $po_entry->automatic; # $x =~ s/\n/\n * /g; # print STDERR " /* $x */\n"; } } my $automatic = "\n" . $po_entry->automatic; $automatic =~ s/\n/\n#. /g; while ($automatic =~ s/\n#. \n/\n#.\n/g) { } print $automatic; } if ($msgno =~ /^\d+$/) { for (@{$uses[$msgno]}) { print "\n#: ", $_; } print "\n#: n:$msgno"; } print "\n#, c-format" if $msg =~ /\%[a-z0-9.]/; if ($msg =~ s/(?:^|[^\\])"/\\"/g) { print STDERR "Escaping unescaped \" in message number $msgno\n"; } print "\n"; print "#~ " if $po_entry->obsolete; print "msgid \"$msg\"\n"; print "#~ " if $po_entry->obsolete; print "msgstr \"\"\n"; } for my $msgno (sort keys %msgs) { next if ($msgno == 0 || $msgno >= 1000); print STDERR "New message number $msgno\n"; for (@{$uses[$msgno]}) { print "\n#: ", $_; } my $msg = $msgs{$msgno}; print "\n#: n:$msgno"; print "\n#, c-format" if $msg =~ /\%[a-z0-9.]/; if ($msg =~ s/(?:^|[^\\])"/\\"/g) { print STDERR "Escaping unescaped \" in message number $msgno\n"; } print "\nmsgid \"$msg\"\n"; print "msgstr \"\"\n"; } survex-1.4.17/lib/icons/0000775000175000017500000000000014766657207010610 5survex-1.4.17/lib/icons/defaults.xpm0000644000175000017500000000066714567212227013060 /* XPM */ static char *defaults_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000084", ". c #848484", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXX XXX", "XX XXX XXXX .X", "XX X XXXXXXX X", "XX XXXXXXXX X", "XX XXXXXXX X", "XX XXXXX .X", "XXXXXXXXXXX. XX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/Aven.iconset.zip0000664000175000017500000061601714722727554013616 PK |lY Aven.iconset/UT lKglKgux PK{lYKAJBAven.iconset/icon_256x256.pngUT jKgjKgux |eP]Bp 6X@p $5nupw'hpwg;[uSU=-gNuuWY TRT!/T`ȈГc)b/ w6>A/8Kk;ٙ:ppsscr2a,\Jgekl qf$V㌠`aQA"-[7Q$tya$(>}Wߤ2E<5{E>mRq~p HSy%7?f -509wڟ A9Pczk%k}z 7h_|u u7Fő5+<,!+ yun)9 ~:VVq2 +ֺyݷr'$;2:Knl/܈uN8Ǔ"u !˵h\Fk?^+(긷gd1W$sY S3 n6[^.d94b^ t%NL`??S SV05-HkX+eo4dt n5Hd42q`a#uC`0l E D{+tjb߃@4J -VUflȉ{<); Cۃ6N8\}m% 9wuؔL@]: S'apr~{qHbjhEHy$5+/.ZYPpA4͈k|vNrebV#k"Id c/Ȗℬܱ[-h?E0W#[f%9*>C2KKp*F>zB\䳀p2 A~ZR^ QLuEP۳ցVĆ ,Ro/3*%3e)".K<+A+6o߳7ܰKz?1>yЯ\Y.~ͩ?JUuR l/3nyy.IiO4Ih*e:l9n>`P-vYnPYFQhu]$<>=1t"ԣJp7eKV%n}#o_Ag\+i{9[kᜋ؈Zhh{ꕹRH4r@BĈy{q[V>bP)v*C{s 0u_21]-]@u tA` "NrlX9;,Q'wl$)HSo:pKgh I瑊pzx2H5%=:heؙL3],Mh͊l4CA7+ji< 7I7GȦO+?R|sQ<:+—}DuC :C($n.B2K@qvx5#ITPZs)Op4l(kFBo XKb!Gy:Yrq[aےׇOb }BИZښF5׃wq#DkVa1ooo~9>Wҏ~qiS]Ef*|@wDZ#2e.~@.~P0S Fi#ݗO1V/UlQXK|wsCeZ)9~RTv8z9]& Cw1ZKb!d]*xJ#V,Bcxzx?IGVֳ`[lY-PL,P^}0bG(qt~MN3IuhIFBB|N8MᗰHb>$Lr[7e)'7ӜfmϗQŅGy1KRog'Ac_4[Zjml˓D{KAv7Zc;+W/%-m|HU;ܤ swVr-n"VپSLA w$=(PM?c ]T$nJ2(;miWJs rgVӊ֎7ojaG+<###dAi J99)0eTUҸ:"/X:xn7O'h}]Z-p|u0ɠk2v)8᣹AN{$sW,/ㅄ3ݸ,~a,ÛAǫ!*)QگǤe{{Q8ۉo5of"mCհw3/&Ynz/7B߇LB:gD^.-z+;QD-[T0<}ļ6880庍é@9WW^ wl D| С:Y,bQ2(!,XJSjrQq[ I~T zu:^w LL% {/1E,tM=:y|sJhy{wVd)Ը24jbA}idc("%2:q˻+Z{>F\sMLM zh5Tl9׋Lan5xԏuPk1᱁]^6͵o|1d#FPF|{M(+H 8ru1B?|Xo/?PQ$\2p@#bs>ՃmχV'(~9k&YHv)@@+zn>nߊeVrnFcZBVb.St⯅)>nNɬh/W#lY- KHQV u_7 W}ٞ&ud//)l^P<ZYxW7;|0'O:9|kw̕L3eߟd;Ybr r>[5g ^6!,лY>t($:ܰӔkfϽNj] !o&uR)l`˅ vbRٞ؅J]K闱 N+ Ţ"d8 Ll/_7D&҉hy zmF c&P0.ɴD`[~.tqI2)bP{3xN5X%Qd$axO"Tfey*JdTura8D4Yfԥg鿯Xw=̷ /g/^m,k;2h/0Cw%v{a^ŌuB/Nb__vؚlvdX 8~ @˹[Lq)ĄYUߎYv]K.װD%|./Kldo*TjY-UYԥ2oD0r,I|EL X\9ntJՊ)mk[0@CT5AxMPók5~b-0ȑi'_l'oP^mV51?neyϫs}g{{4VL7gѮO4XCuw0%` P{Rofkz9G{_kdTa ("P9PPOMb@}# ~.{pY\yJ@LS./JODbRH|-Wp4٤H_-UO~ (z;\|[Yy|$\%DwNC ~y-{\ˉf!kSr3}o/EGf{jF3SXZ:yD-٨^z4 Ro ]P~s%XpY^[7N%` vT! )EQ‚~O*̏μnTG6}&OX6^,NDs!q-cWj ?rO g7~׬~;c61eoSJ|m.'kDl٢P؇Wè")9&+X~XTם [U7by=ecͣi*7<(X RlDM[(^=ruz=5j:չwhaơfLsz{n"E#ϟ]} \ϵ5eNdej+NUaRQHpTgx||8n.b-Q F^u vXb-gKUKy7Z͏BwߨFO Xakp~+enY"^yF?^ogdӦޅM - }3oYh>/!|/:ʵ^@TKP>Juɴ]Xg(psMD0*6c{c9QPuTpƦ )xrM,V%zbWʬ;[837ܲ߇glz2>a-,,`<$ 䶘fft0WJ]0T՘B[  ϵ㞝͉^qʎJZ4Y͠bu7K"4a;qz$^]>}@#6 )&,kVΗkS-R$vu=oyP ejz# }u ƚ5.(S(a?}m8=KSt zE0.^(Fa"deXtZTB!bk@ yJ ? KjQ1s d(6\fgY`׶*R e*;Yl1$;x65Ͽ7 Dhؕ/)xmO\F~Ti3x_ts1e)Drv_O mx(ƥ9PiV7ݩoOK7 š޷(׎֚I76\.5G#l!9ְX2{.X[dDJd-4h/S:H ,g ?g4|#eA5&+PoN/zF~Ā̶K$az/6 S!0p;-yIN>OfZKmsaKPךsi6h-x|;L}O"c>&Of qh(ḻXy<݂7@ZOܸ%\ZQ˫^4 oêEN!n6*IH 8դ&ݍKe\}M6gt4X'!p6'h7 -末O G<427 *U.N{1!䏗R xVEێPkc?;^~Xs`7:%,#hX`"Zj%Y&:235&EH`׹Ǫ }dIxm QeIpDMxݥ~u_,g> ~Cu~\|ɿ*jd" ?LPF 7 mvc6ڵzd|KB/km~r<Ǟ97f")9*,%yy`ɲ\éHO8dxQTI5-w͵/ۧ rL cS2CH ֺg7lvծ*^r ;u֙ Nڄ &Sh0ϮJGۻDĤU}bn9zk\:N*r7KOa!EW5qpD3>59bP]maJWF+;/8}|D^"76.7‡p`_V_ԏa,S;5ign,=[˷cqE^ĚۭsK]7Bx@Ot r;swbou]Y3uRx&6!vQ[H\65?*s"sh$n|t?AE;dD~u.OtQ*h# gT96/%(kܪ٘y[ӕYHD6ޮԺhF$+5/)"OI7NyHeoyy^??(SgzK: hc_@ZL<C-;D*ºٸ^[W;f}Jz/+<0-@>EߧLN1>.'܃^FawE3bȭ <;M!iR^Y&|W?%arWk|<5Z8H;cR85:;CHݑ I,sTuv˕ݵ΋2h}(EylsuYj(@8ljk)dL^MG3&0 ɣ zG`kgo5яb:kKzOqpZ|\QygI9oy0(%A?L]1;Ca=i4 ^ݡ \2 Ţ=$-EDPljcJioVn˴˕wo9jO{i`+V.0$LcS2VNĴJ2_L!x Qw[qE]JtJBvV/Rj.eàe%?\Qv5&BPեY6u)Ч7MQÛixbo53 TGrGU=)c>\ؑpriЯ y[r< {I)GwTX;&$-/I9 ]-s+ /Zoj ^::gtmg Ŋonnʠz}Y(t{nTE#f_KajZ(K4BpkM&1\p鶰*4wwG ~`/I c5?k.yopVI$q*aZwTC\9 ͋I.Ko| 0\oCSY" (0E[4l60ޞtR⛼yHh'2c>9cIO8./a251y5H<ԙYJn#GζW\Q bpjL蒆M*72- kGbm $*!kPn+Rm 'ɛ\`iu+S0/4l5_|a)cndİ-bK?G ^W/ni-e' , y̕O#KX1Z/8k&7mN>lN}OǓ84QQ6-?|'2 :\:藼pKL,#\k7ViiJ-aǧ^E)N@ roO0KUAXwwh˵F2JU:\%ǶyISI/X3LߣCƤϲ8:2d!oV9b"qޯ2& eG3kϜ?J+X|bF@s^ZkR59@SPtG'V? ^%eBF|^Mȧ]؛LRi ~MfUQ~Y!ml[0WqnM17A6S AL8?F]ͭFIsu H2PD ^˿ R:yӵƲcCG_> OV*ܯcyd6XͲSÆGyN 54PҪf\>fBU-]r$>m#$Py0_1oR†`6j>*rL2eyD%Móc܎PA`/+%Oo/9tnPyϊoMvǙ;^1'hIWTa{w__c(HUN_;u{kӪ4nxd-UkiT2^٫؆ŲqE H@%rA-^+r F[iBE|<;z6zeYGoRK$1qHlz[Щ:Cu,XH'NI?Oמ({H =]/= >8*>^IW{3k/XrK+O.lzX]Rq ]?~tg6wc'!?MzqwqJBv8Sp/9ȕs4߿|r Mb>^jĊ!g8V{ `?[|ԿREY9-GybD 4!Zv׉@B" Z1Pk/LCoyYభIh4zKV7ŷ6Bt _122-F Ll^?Auq[aw$r[@DacE"g]#f]7[?UF{c|ݠ9$ gw'[Pr!!B("a*$Y?Ъ`="i5x8'J\(_&/U+x~Jt^-ڡA02/_ \Z'6Ip ):o7bcҼ`#öC/ϪsR'A\CZ=g8V /H0s% *-,B_:/q6݌se9迵7uIz%5 ?l}\QO$O)m,H==а6ӺMDѼDpJ=uHy.ӑ+;wp\Gۛ>Fu{=du4!.r+qjgW#Y}>JAjJss)츽{s5Y6R]Ԣh*OiDwGb2k 3xs %g~,ϧDɹ.6y4ȱG42Zzץd% 2G_cAGnviƥvl2;ODi%X N*/a ]"޳E3&RW囻@hSWu2 # S ^f!&G'3s3[i*g]@qde:!WsSF5N%̷9Y@aX_OPܙGu&l "CG:uk̒7ѼҞdcE,7iҚ$ǂ⾛kJSh LK43n\"sp`LT70 t`woN7LB"`h斎zy\_3E]DD{R8Bv`Ɛ(5oMd8 7/+\#qIer-{{ORu^քX{Br-hC9ŽL#5m1XMN~WGisą7na?AqÖm ;GQk_gLՏz I8ɟ3n>X]sʬJ튪X~i5~ng+T?yWAԩZ}ŸvG8 <'# ?̡,{`'XkE 2')4  ],Q%+ 96o3%₃*: ?%}9ͻus0l q\_o'ĠoA Gxwus#=NwJRcہe` fܾЃVv@|V]2)*{+ƌmʁ3c1DXݼGKp 'ҚzmY^wJCo1[L5jjxy`]4#񠱢[3 Gs/d5>"W:z 21e9I=\Tc՟x4HVKf0m>{\6nx^6z-fs-(HZ5$f0RwJ [8|8TO&pev9i JpNv#%m%hb| gOy`.5@SBC(ECFz\qoLbp!O2thKomvz ȪH4X RX{t}'N{fNB~n's8IRD#2%Cr)i_^̏/#9L= E2ד{^ VID8>} *]s eߕBzE9M>8cl7s ͯ re<oD>| G*Q{-9c/!.aH wyqCYCK vbwD&EZ жZk>q 6lPw)c6.ր"{{( aޤ\OI~2}}n((P@8wf+ PY ɓH/Fˎ!|@-"ta؋ SR^LPs/'qĸpѐ.?Cʳ͕Cpe&)UEe釐r0.cϣQΡ)H 8~xϖ w2f2TtPK pXXc̩ >s!#(c`>ah#?J{QQ uc~@wp7 jI)/|ѝ _j&AQĴB"W}ڟzy?5_-c`v+UD"_Ӳr͖1I:6CCșӅ4qR!zw)2|g4VuҺK*wwHBV"w4wBv7 67@Z/ns%OEQ݈9m\7zWOUheж3*s Wt(h Kh0}%.[m yLrJ|3켴{-9a1<PR= %,Z&$pmn.cq-{;Avops+y O9.kO^+J(PK|lYl=TAven.iconset/icon_512x512.pngUT kKgkKgux ̼ST>K#ҠtR4Hww- R" Kt/t/3ߟcffs?su_9n 3g [ zza.ܧn_5@ }͗_UL M@nnn,l M9 @4 Y)/jӧЎФbAxWoƱb_aafUW " gj^!o<& ?w07<3n173VvS>kY㡈hX!7^AX`VCظWuc˪\ e]$guX lII s̏2/L.{"{E/ZYJQ0d x9NKD=G9a6U;aF)uF 7Hd*eΓ >mԳ%$;(G6WoW]N(_C0f2U+?11{a# #4Ea$$早c>Y*< 2M,1}@A"(Fa\ _FtFP=: y!`o)f8KAC1t9?A }𹿋־,JiyUɍ=i27ػNV-,C ʍ CG!E@־ _DW ޥFP4vO^Kg%E6OA(:,_0_*!? ’:ec4}h1'^| Y3qQR m]4gl7=Lls74p,9vKC#u1%@(]r`8o%DU .U}ϵVOj3ڹmv `ĮRXk1r9|ʖm`D1RO2!8]x^CƈpjXKvߴxYR s'IuJ/͓^&v M{m@-b| [{ 7M!טv.5/?B-Z QOm׷w< #,vAJwFS6b:si)MBiq 4Axr%-V|zQdxVW:%|DnP @PѺ%|A:vNJD6?gypz_*!GCW+y<]~q#)WCsOBHjnj=YJOT3pRݨhYWlc!P%`.3-\2*|$rKSzJdD/Kѝ)DqH υE[Sr>]#'+TCh; QRdNn8@*ܿ48\.sτ$S?**AORD`-~:B*( 4lAS_oLT 5 \Hy08dk,qQ.ģ8J9~m~nCsJ EϏs7˟7(\򴊎3st*ѦWR? 5Aq#9t댫'a;%x8a,gG{/`M<6_X vsitڃ  g,B>6R1=sw= y}`(j@?mcZ3V^[N6k5S[m} %V|ɋ߷Dl rǮ5`h*zSakeOIYUU-84_Ӝr3eOb,ŞiW[gT(GSZcF8!,d@[B@ͱO91tqT#➑*O7OK!@a=PG%5荺Vms8*qWy=g^*"먪d6h'e{М +ɤ\)8T֪e\veFfZ̋ gzkY`$]Yݡ5toB5}zSt0Nl[iW#h5oܺc'LʎoFM|L᧕P~5~]|"@1C`HvOt L4ŚXȢrpcܜPUow2u3XVO,EUhٓUʯUߜw6I\8;;tZlx{_tS)׾#| .-~0ɇ™!NJ[1C ]Z&I [C ,\E{qBA>rpX]=GJӍ[YgLb$8e&NۍJuxE9>D755ia$W,Uf۬_@54k2}}E5I ZĭpXiZ'2bK6?_2hL1In`^8/6=x]IZ_F}FYHRƼ g]lurRyi?32ʳ)ɭ.W,nSɔsVJfNJ},t5S>^y"^nF!8җGG9m tx81b(W̊6lY1Sʈ 0/QVx[ Bt_T; e#.#Z{)'LlBO|W5ϋ|ٸZ`H6X͎.՘ Ҩ+du!}}͊t)AB)cVߕ&^z,E;6nϞ0SDu\Ɩijh"])l .gJ$n>DvZ@GFe1^l_VQvb ͮFJϼ u:nKeqۑe=0ЭL c6JsEg7'νJ#jZ3Z22VmF`Cs>M:X"4$ rXx~!C7޻Lks=\Yk"xzw:<22-l ~z#8+p`4Wi=g&Xku[;Ԣ:Xusfbf7Miv͈3L?ΙcP4fzIlVr p?fye\טPPi%+6׭-YȢW-Ts[݅jzҲ13>wF< s#=}CMA%p9y.{28GlP#uߢ` [ա'mVg-Wp" B8<ے3ӣjrc+T$}$"g!3"\ƭf}=EF1…x=^0盷-#bQ8Q̐h ̞a N0-5HIUЈTS3 78_z#JIEl[Wy/tHo0a U)zYqzֽPgQe|Aj=oԇ3q"".VNI\`W,&8># 1I9l: p1DbE>9H˶QhRH芋e>m>[ОC $t] ~|\d|$зsw`55\t;*m&?i))_1H  +Zhop'G+w̻toPm16]]{q_z@qt<qRk gN[Gc ]mjAWy,ڮj- o~*帔%8ww<d\6?ypu) 2~4Opµ}kKʎzrrj1 ji(#;Ad=x LkO׌trFf̛l:$O6aDzxIAaUkGx%ڌ3Ry},SXo/^c[8Zy~, U1OM?~@0 jgBd8%3.1;G::*-#mʿ`2CY&-kN60 DþZ K6"杫9#/%N1 _zJTh2wxU?zuqy֐A8,LII5!7sz:9 aa${pxǢ('>]QBY}6%#}jwF}gvbt1 &7P?NKO!Mۛnݼ-hsRh^I8vw0Ivذ~է-$Tl(M|gyh~T';NE)w.ɳ#KTsܲBQJk^9$ فG;}{gokHoX60iͥ1b7j/$NT P7;>dwWQ\1 G:PS/wX瑔XOw{ bO&8y^Y`}^ݾcB&񡲏>%pFg, WT0 _UoYNbovЩE 2 b#Z;_7z?z|Uz4 @B\z 1_"x Ѡv1AIVi<0~T/5deeGE!XLv7cr@ݿ46GiZuJv f?S=χA3ru7 %`W# L­Cb-L~2Y*ZL7v/D;o鸉0fFJx/4udh*DZ9W〨Ȋg&cb=[' >IcTC<˲`Oxn5tss)_yƃܦ5?\g LSwo"tZ0l6_3pXkQ9E|uPo|q89:=X f28pSbr[|b ߼8ݽ!w^l4̘:7Nr+l?ClBI,_Qrƙ RV SڿX~~qqzOX9^mi}}=c#4W^|IwE`Ǒm$RC1{QcN?pd W\_i_/[[bT\鐜N6-/1;e[:!7юO3qIp+F1)bB o<Qxc,p_k1L첖&_]thd#=]އ͊时ky@$_ PnmՕW}+ ^ ;u7_jlj:3T`'IIWӲzp;Q27㈹$UMꎪe/lnLzh`!izxw;|~k9^Y 8CJ>!ebNou.Qk${/*{`. -7?&}X"+]]Ip*uȐk>V; lHJ&:չ`BY+E} /ڇHő-~;JtaBw~?DrcGvLmb/Z^px0;%@*[ٟo`1?߉Xx_#䵥@,U}D@YTMUՏL1!# dJ72ڒ1^ SQ**OD P4g+ cjLyBxE~#'h ?638_ߓ>._N'-NxVoAby3I6x:H]D K˅$`iX\_߅HRmnmJ%u9LDq УnrkIlg^U.bds8L;_Zi2d(aA˛!P,ۑդ)`S2C{P|BYs:M\HU?ۘ[c{SVbë5_Nj[ӊ"̤F֘yujZ->k6ox voI b3}}avIaksmQTx#=+c{w/iJXZҩ]Vgvo eKYr/ NS0I,]ᄌT^|iuWJSVg'0 <_k%CQllga/W+W/+&ּV6<Љ.mA`wQ_\fsiCQyyUEr 7 D)3uP\,`[ַTv`0.psxX^yWÇ"k>Ѭ]t~Y%{_0<@àkPWхLȥ}Ml{hGRh|UZ??P1*KD~rjȏƈP<q1L ߗ+(K5k76v}{D$Iu:.[zUɘЕkf&,b= Α\c;e$41 SH7SN>+6B%QkW~+mGYTB% Ydo9d ()D9=(c  ~ns|PSz)c_tF|uQ|:gAN'Xp²㛉7cPbQav7gV" p=xͦphPpa:EеV3N- ,uRx^qEs~b )￳^Pl{ssupťtf1rv2O fhX]w8\4qK2z9i b$ip2'!k[bTRnx# x Ze=1J榱pd gM;R4>B"m 37W/u% gǫ@EY{pmS@rsyQExӑmh[È*;gRyW72&prk)>mIBѰJr;N;:9yl%倡/sOY:IisbK&$SL =/5SMo,-d0ENU bZ$YJ Lݪw`0@I%& 0f0 z[h7_V/`X6OG*.$gvGk__<C /; m٦~Y"&us͇ǫy^0&sxesGE훝,3MpޠcZVlmĈ^y) [u]5Ihf :s7qŻ;hS1TI}"o'{h֫Kkp0(@IrH "<~Ė2 ^8J~"Gq? ydϤ9N?: R80GW[r-<5gǓC_fڕ*P飦*Js_zU߂gۭ=>E#xWP Br%P?PKwؼ(ƹ[Gч*`onnq1E!++_^iMaPHE$C5J;97oZ\Zn;ŝ]dMnO1ss{s+*OB/xpurI _r)m>A<5F/[/9?~-Fª5sv  Tzρ{L 5؃#dgq:P8 * 3ڼ{\?KxSpܸs{aѠ@lΎcCֆFļD_ : 4 `*N'RbSWOnP{ʕhʞvM! 5ze&S#|"xoD#5^\ٷcU G_sņz&uqUp_hBk˭f1dv4(ѩ]]]Pǒvd82esM̃)c`!`W mm>-O;*!xr~5bz$c3} H.Y+xD@GxDHWԟ/6btEc~x_b~6A+Tzl-нi@sfkIwiG3q|zTsPb~UE+F %\g9&\1+t;}= n[ 91$ĩb\??|숿888x3t;?EBTr;TJ$H̓dz> 4 a|T}i"0ƉSJr#0 ]p]H^:ZT$jݧB(zu#C \f2: S3vBUI̙fw^kCꂕ;}h9f&G@\t{Ĺ񧳳bZ1( @m( 1TGc-{uεO* M9߽cfn͌0=n5TP G3tZ|J16nwʚ)ְ[j,U ЬWJY̫~.O@54]-8 7;qMLH8$&Z0%t*oa-FdJ닞Z B H ~&)fkuzF&_~}hp=OH %vd)s,${klDm^ NQ̇VQS_V^Tdwb T@ 1>hg מdDIM^OCdkኊL|VEs!$f/F;ŞQyx~ZYW ˃ݧG jDj1d999B|5iCzJ! _B:pu^q&*1e["E+! q[ua~ß/ek۴ECaMFF p+]@c?wSW!man%Պ|tp0M S@Jgδ^hOk'a2}~-x*CЭxB{h2)(Qc7Kʆ+p *oLE[\t۟r>ZlYil[V{ C&őf6Q縐ʝPa@|lҐ2+Xu WE,EE@bDRQ;E:j}v+Bd<|'ٺ[,)>FNP3Ilvt*9+#+#F2-l2=OKg~?ޢppO -m[\pl:ҳFyVܹ5;eHw*]fNBPU-F[apX'KĵJ>ô뷧C3g%ZuoC:s|tkήDhjM7Abc+1BHMM.X@L{!9*[J7RE7G)OVrW.";^ZugCl߿߁)!_Qtٴx#W`eӥz11-DiY2FTˇ/_ =^o|)Q Kmqwdqtttbw&PqGQe3cw)Q @\]H\[-U)kYhJY]F9ƒM|7ޮ_h;@rD<@8MIX3?f>;zpʦ2BPl"WEU5'mﳓ'ISKp]KGHe *f{ɂ oqItsgggzSyL L˻Be jĨ2)ѺC͠LDLNb9KrR<Zﳯ(!v]EcMիzw\i5fuBAG*+VxOcO &\F [>clq XɘZ+{?~O$F@Ͻ DD2RLz| ΎzӉ SS AHC%Ç#$8ÙN/g G{Wڮ\f<3Á A{ܴ_60PGTM Wj4;><@济_-+5Ի:<mux."8-*+2x/kLᶤTT?$MtR'!2 ߞ:gŭx! $-gZ)LB9lw|VE>{^ϧ٢SB ׇpxV(T`*a[`旅;^dSWw[x@UQ_3we\lh=QE0ZQt Ъ[gikW_bujA O@}hpwG}5]%H䴝,e*vHA¹X cuP)7;^o,͎xTI\.ݲ%t%þ`z˿kK¾(C)I_NU+DYnrt£Bvpp@nn4U[M{}m[ f@`9;>27I!59\f( Ԯ[Q9lyT>:忇4g9Yfdk絹uC79\8t=z?a{(x[ܲ]Ҷyܪ᭓ {;b&oYno(@_0 ^% L(ᡀix"كpދ{tٓhK .fTiK|jqsM_]iqy4H]?}*tm EW1oRilҋi1n  QX@a?kKRw Qz`ȼk@-%yGy`R{T,K2RK"_$.*pD8оOyĦgVcZ8[ϲ[Q0*y+>.S,7,ld4.G-oAૼ<m/~Q[v @S UYzZsݎ(U(%Iq7f6(oCq*mvvU1:cS鹐i<ϸWJ8؞b8STS~w<}.)1Nq"kFvi<}ҾU.pq=GODw:An&,%qkH!|#FEXDՂYMNځN I-XrU.Wӈ#TMfBE2pކo! ңۣu}\攐5&y;Zy%t|?0e1^{6;P5):Io,UG\kzl@xےn]@зl=Ef׆9jyQUU E9/~~oif8ßEX Ve4Nл(ubht ~6CW>~ܑ0^lh&^n'uMޠPH6أmC^}w#vULa&pwhw<,J'1# o/v(﫫 k.]c+ǀ3c)2.%,wm \3-J 6.?z)Jv]' lp73ڔmj߆;O_p.lfųLֲFŁޣDSBբeͼݢ-@b r2kM:?_2=P_R:4Xڇ&. 9~Bz4@#pXΟ'Flڙ8O꥛\T!}i(a_kFί*Z`S-G04T@\CauXM>fPûZI@j.{F^}IrA'@׺6EQD @10bSC_\; +|-&#ғ(}q$n',*1O[leXг!?lv3>bJ8^ffykrqBY=~RWӳUc5#`"Bz#_g[Vmzuj̐hr׌<Mi*~^Ȁɾl6$VmM_tF3p^S p|˵49^yՆ|kH=IRSV~sMa>0w?>ӺR Sݸ3e{{8ۖ ՍR@ 쌦]2Y|笃h+Ɋ5T7(U,wI.נɥXSۑ"(ᢪqYw0 ;864y-C_LB:*[#pw =RsE˲yvHڅ Y] m3m|ynbc)xkfżMtu*Eh}:c,v_z.?dp4aq о}۩)Jt!6tjw/gls a"g3s̢D/v ֧@}̴|h6[U/|?OoBOγX[(EM& i9d0T8tE2Ъ㕀g.XVʥ;713?@Hk0y[BX_f?&t1+/"a)#^$SK {>k-^sw4A8fcJQCi)9yMOԎk-.rּ7͢c3ltI}]l_KzbԀ%oyz@TX?3\f5c 10QkPDoZkgC t>8 k}`tk@y_87>!NC>Յ=` T$ f1Hzlq]AcBytYݼpu"3w6եMA>P{O~I22o)x7RgfKsӚ{W*A vo3$'ƘaW] 8b:;~x/&ڟ_ T.\+&\jv֞P)=}cT].bh[DVEF%@ U̷ C_H|+&bƧa);28b`:tu!q>ٟ:8EG|du x4a#ֻ3~mE.0>.?#We %޻_Vm@mkY $( 4bMT%6Y۹$Qnۃ'7>VU.b?+RczXCs?Ri8O WF02Af7,35ۭ|r, $u$Iu4 I2I#vbJ}3{@4 3Uq -+/,LZiž-ɒ:=vEה= `}~j, 7)0dSAnh}?ŐlØ?ؙ]%YyFZG^iZBK;G8 ɺCDP,^YL GRb)suDO mye)o?hQ<4ƨ.yYMGZYwuķCQ: *g&6:NNJRkz|X?8A/̌Ms}_N+:;Shr^ddo ]#vףxX)Nd Y{EU>_)4Ws>I{?hg˻au%oϞ*] Ia.4{3&؂#,fW#9&ʿ改&䮪pgK4bkE;EI#7^?|0[g(1&:Nsוm%r|n. 1'٢>Fv213")/U qI{%߀ tóvzCéAꡛL74qٯ_=i`쾦iR)%dq^=cheVeƲX$]E.idj*M#=?ZuNP< ohBM?4PfŘ ghi_ǡdF: -M Ƴ\Y"}%7;:J6s9Oݳ[G\N s?*|tB+ҰjzK"+*?3J{Ep:ĆDU(𒴔 T/Uu98M-,H޶ OoٌZX|QGZGRĶӶ_Sbߗ5Ѣ'D~K3<d;VSt?P`;؁lKgJ f-\y:zwZ1z -m.L?ް"rx.e=;+ ^Ȃ޼Daz~w*UCO0dbOCĈ5r#yZr>屩@źᕵύ:# :;;d&?Yh⻜v>Ldȑ=ټJޝ,'>gQհt\_ezE }G75'(}{i*vm٥vy-g:{V= t0!"Omtp'(k<|nl\~׿$Sj 8B?Ǧ::dG\.86-do\/f%n!t Ys_⅀?BFց&cu`0Űihk!aOѬV+~.p|)%1_ŴW21˿i}xOW- zUEՈڨxIHۏixwXG1kaC|(c?܎G[єQ^@!Щ0*-萲*۶/=Oe'| ,CIՑ e2 y+9k G*mr#6NwXϋ2lr_)s /S4}X/q((q]n? H ؒA3LO@X[y5Ϊͯ^͆'V}Yj~8 VL/آqE2lڀ ^jDQYU2LKj6J_7̳ w դN'?#,BEЖp0n Jm!B _$'grY֡ G%$QK'ߍmdkB%o6h'l@f.r|}Jc҇l ̛-5cE^B U6H6.3JGw7ǍyOqh!so 29}cws-$dq{!G442HrtՓ5E H-?/sh$%S oy7|| N7&za q"|8)jf}ijZkP;`-sW!>w 6 Trd []™Z:t1t.H'{F5ֱY냚o|;sF1 ̗{yX$F}H~Hz癙 Gd(JrF1uSԵ~FPAqq.Q[?Mp#;]_;Y#5%^~wGv>ֿw|v+TžMNfdOmD.TCr 7>ɾnݨh<^ CGɦPl$}R-S,͛L_qpI/n$N/|M .bkCASEJwiH&5=愵"ۢ¿뵑u Ͷ2'B\-9)=7:kyVMPа> vѰ.W4?s];fJ\)9E=ze~* ,;eS}Mjd=KU_RTn+^_Ƶ9ΦK~9Lf@񄬦钼ٻQ!zLG8Qk8Rk:׸)ς[V#FjV]u~%bk/f@~U娙1mMUHfyAq$"fC\ڂ9uEPn-IWy9>N;'çYy#f-F⻑1s< {Ż7~"9Vؗ$Dv]P~E_A6A߁yRmX64RFyѱ ]&N0S}+w3WrgABR寧F}|u6m]mߍA$PYƂ7bvMAD|.F]8-(<7NA01\=T2 ^In*r[v@A6YsC;~NDtw" @2+F\!sUFz;c֫2m`7;Nb/Fn$hpQw_+܁bk Dmgj-IbZHc6=唿swIo7?xwl7yEY3~TmGŪHw=-H_{ p %3%azW"Ѥ nR6~BdqX2-ࣂ +UBINGN;{{j/IAltpR[ A\29fx `rZWf%%$\Y{=uPxƍU6F^ޕ~ehav x3g9脮 w̪/mo|;vf79'7Y,S1 ;n68 9YA)itȿ+ƫ_gG l.@,7[ؠ ?KYЁisKǡ`Qd} M;=U[[|w2EU/ԎXP hE-:3^k20MQˣ xFK5At ?2~ # r?he0P󟗏Sҽn]8c O;5O5%Utώ'ٮ[luv(Xҡ)‹^߉ۋ":P@|mǪ+NÖ٬$ ĝr8o|8*>K&yW6]a~~+ _OS6 v>YqS&8&Zu jt54nZh 5QkX,bc("vJ9֗蝻Z ɨ6[{cD[$8ʪ9OY i6߀ͩl/_`Eoﮊ.$dcyg/t!2wPTl~|7;% . S*A}X58By/V#zE4{ D)s+rxWo'k!'=oY+l΃F5ěGtq\v C|y{tj o:T}y\ͩNNn^m7׍]J v2%i1}+0nּ^񋭔ވc_D\$0Fv1[ȕ&IO4dN%I׍f~ آmJVwQu5,vA-TawJ~$92pcs1|? (uCչӽ)Vﻰ^uW/Z߿Y6@$!vRrrPX5;=/952o(V\rҤju]f]^mw]iZ>eB +~-;!j72O kɺWMi>G=O:ȖX{}HP(-rp~ K 2j6FٲbTlw g|9›w\< ,A;<5 R6(u VYb. *KfS/0nu;µGZ{آ6 /('U1p m"~tIس##(5[ߑm~⊑V5?c)]_)QuxN&:Ts, 2uȆΠ֪])xt#EßHhV+w .t.T;\[AA+X; Tѓ+K[ļ5/|R"ylFdWoڲz+0q_\kDD7=WJL}./)#rˤxOwtBo/]``wGVy7e=D`;XK(<^CEvTw@KCad%L߽^û~{ɧlx{v~nndXVJM&6E]a?kPpj OY{ոe-PS۵Lù߆/Ic"{)jƮOU2"5V`|%?x!4SXb 5UJ0GrHi^!uᝮa6BBr׍lO .u[ O ~$Tc oEƤg[{ezRc Q/<-HV3_TԾ9ZdD 8V~VxJ^tg|$ N̰V⍦t'4T's?;EA(*j)u a%k[IL(›n>tosx)cM >z^#VQAblRH'ڽ4\-c[tt>wnL-:C,( &oMy. =Cj,Ÿ!\/Te>7~z5Io h_#-JZX"w64@F;ޗjk`az`N)9sl?kſ}ޮpYipJ;, k4!SjŬЙhRd,u2l:롰tӔt+4TR! ヤ?xhJx]NU`w$nƟΘ$:%LZhKoRGG"P%$61.G|3g淚?i|lDGפxSr *bU1Gf^~3S^l1Y1ku(Q h< 5MYeW{g&Ԟ!n'C+(C?TW9wun,ɾQkSOݷiV gsj ̫3_w'YM5 R,HIgJlC /Zޒ&APJ9p( B>wU[h,[Ȯm-b:O t+oDcmA88{6I}$Lf8ê/C3~n>7v>.|/F cQhW1 "/_9:VX錾 %mZ B xk?PiR\hHᗵʝ{[&9yN;Z:ߞ붼ȼaA-maM"_{`V$/[2/EJmIߛg=2@b<|n@; 'uID;bTQ% #!1o,/o4?q):S#S@{p.`ؔLIԦjιRxr 4 AmtAr]0KwN24Oy\}*E]n*̦A1ᝇ8j,|  Ϻ}k^gc+Rzr!OAUQy)Z0#~9`HCB;%b-)gϾ4}/#s4Oiア{p0+Rb~aa嘊UP Wp4'Բ[W-DI@ 2^bBf𳄰cc91IowM+t?6\lqoڎ.dPI1S ~6&hf7QA ~GDŽbJS-#b`=_Ǻa(?F%B:;mv5x齼pQ.P=f ?Oe6N-sfc4 QRY8;?y>4YiܓevQa\f ֩w6eEVhhYJTCXJ ^1B|m[v5=75}Z;V4z\X~ףHlIJUq+2o1U^^QqcH[<t ;ݤ 3n^҃Z#l|J 63(SAbDut3ia5#գod`ȴhwwl0ǥK<ۈgCt ICNBi"Glj6!sT{1>Gh( bJ|qB<ңJ_b&"U߆P̨D oBxwna.5a>l< ҝ/bFwF]9jСP n+]܄^#CL=Tuݖ6jh"̔.n3Aw;T+cĕ-MKs܇8r>i(e}t؟g"{CJ[u?~෽MЯsɰEZڻu&Zytf3x[u;):X?vm,(7ՖYSrGb"x(ZGwc1@%.ilI,u]1;'~";[ MS01Y肟d 3ө~fP^Fj eߞ?/料.-;;N{_}aE/W8P˙l] tc-"ͳfU3Dzwa4:N9!%:3 mUS2V;uTœj."η(II~=OZKnD}B3uM!Oq ,qC;*Ns ?Dr.sIQX~&_*Fn%tDN" NUJG=V Mun?͘מ$^lƙxք8i݌(2rrٳcǐYW0>ػIK!mf>7= 'VW(|86tng`ݙ-s>DջM l $5+'oRi û!NBn)<tR69F@mղFEw}Rʑ\Kk Dxg'bYҗnjݧ<.e!_.j\.td~M#EC9'ӯߠ(ZC Z%ؖ .ޝnOtxݐǥ쉌JcmHy!½:bP5HL6O I毲T2?m.iZ䳠rhWčK4W;kю!`%E~ڱl,Dqn'L1>Gf-b7)1lu;)!-ݐ&̞fbҙ5O\wGlV/^,tM)u\<*+ Щ^Ή"4u-]_BU$! Vy1w+BITȷ~'E1 m= 8<\¼1jeֆq%X ߌR{.0U,!C r,! Vyج $ݘO$ 1| ZBxeah ¾^5\koww|jp~نvukI1Yw@j'f <{'Pa_ */$(<ٌ[DD5xvO|>P# m}p~+N.rPqT;=!;x' OZK\wD,3hO1 Cl{,i;+L aB}GxBmPƒA"ؽT؀3?tk_!T/{Gz{\ʥvtg a}ɖ6o>D}{P^WC CH=M#˦+hSA@ūR/~|PAu.(JcqLKX{Y=NE.Hgru}AFg0p9, KYbc%|huU("gpHÜQƐ2~%PZ`>B!"O$UW6d5ۅ%T!d4>AZ$t*RGCLX;m;V%2*|r3DuY58yI_JOL VQW\?N!+ ,v?A +k*EʘKm#Gư?9elv p7teq%&{GCb8 ~M l鳀jL"_5:BɖaP"}*\iG,Vfoj'a {[Ka_Hc`;}AFÉ_gVιG7`f(ͷ! iJhOˉ͇s8{Ί#tOVL]Yw~)qBq ˲,[-8(Gғ76}0F 2X/4@o'C7R:dO n|B1H" 2; 3X$YDⅥ] 됛 ˬP_mrJckroou(1"Q )@DA&4"+\۩cS!1^OuH7`;ꗼmH:! 3 ̉̓J;KT?\î$"OL@f=_ FBYԣ HI3P~Xo=4^tc w? !?}|}3EHDS0}Z#Ph,ZeF5ohgϟl6L\\L!=2hQRV?R½?¼awAU7ݐ>^ֶ7OǪ^Sfͫȷlz#]0L&6C=h:|J^d  ŚׯlgwT*gbJY c]&&;||57. >))49vĒ !m$OU܊t"&LF1B*ݓ s+k.R= |d,PlA}"$iQ̊tt_g'LdܱvV5scìbX-~ZOG{A0' o9OPñ_AW>=,^8O|7:_kXofb HQ-W͜[nN)Y'BeX5>@( %(,!7? ƜsNFioW?"r6o̾SowyMAvx7O٤6<\Kژ$ k9SÖxAX_괪}N' bDD[ VDE2C+9gm >J松~gIAygf:%c~F4\HfH*h1m8Q,X?i\++=H7<|펉U-BlL)=Ft)\|Bǥ`tW} (2G:?OD2[W^<]~c(EP l fIg͗6$Pvhh;/9iYS r-h3A ꖢgyZG nȑfDýc*!>:'7/Q"?iA.!C.ߎ֙aR_f%g׷"hΐOޮ#(_ED RƺA\!gؐ[  _:@D+HͦDa\1.Ԧ4rD[ J Q]3ʌih*ZW?̘ ٲ F,%Knj`lgNJ8gt$Y&IԠB.jki,7p?z=_佽g Zҫƃ%1ԥzрfnJK=]0^[@Â.UQ~JD2Cmu^lbo[c2SO7bf@\QVЩm[ 1!_-^]BSk>WgՂӺ0j^ԍ}YR Lf\!x4oټJߦ#bƕ㛗3Te̳f49_RY%x4S%r:>͠"|Ac׾jR0#32rx]Q/䏏#g<筍n4;Qۢn=sjXYZwZVcw \p*6C~N K-b) Bnt=&ՎIp)֚Q-pPymLbzNV ,GX=Ko_b5>ܵe fηyS-0bgHWn]BϔfxX@tE'aN'Wb0noֺ>~5 %bx3~D(<&<[uZB^q) ZAK^՝!.'SsE]hXOD|~ɹDSaY/(ǍX{SC%h k;D2Klx}XfXv *P5/&QkVOfhd+` |JDmfP:^d?;a-8^<͍=ǨWw53NO^MS3ߍV-,s ޕDLsv4 ULJ\.eb H!ql)XEuAHt|\s%JFnrT ^_xX%/9h]=mYO&owDz$Y~ސ%vp/C5rV>Dc6QR F#h n {%pxm+)Agr;!<:%%QѼno7XgՔ,zSW;8NJ&MBpZ0N1εlA?O|3 ؈! `*Ra`j_Nޑzo)rP靎"}B&T4`ƪ9 jz|QݖxNd!WjtY"ՏeJpK7x VOE=EC\Yŕ ༄oqi2%~ `~NZםF[fJd{N߃yOUzxyCVg 'iiσvJ R2oRJXdZtjsŌ?@Pl(pq1a9^0_oլuVN?P{RS4u +1V1jg")RN NF g[m+)33Bi =.j0I* mMh-tI +KY#)hfXwl`uRV|wo;\ހJ?dŃv  ُ&{Z$̾:]+G zu7 ^/ e a8Βovdf \:a ޭ^.w+Djghf`9հ-ۧDak1sy &~Qtlb)YU7jdR~t^FZW-+ѕNࢾ*EQ 7wg6N /R;YoXNcmDeV*n56@o!, G7QLBx 47ډ7v7$puvAE4L?jD\У_Ӓ#gF"|~q+n \~jЪtl 4_LގL>K!"kLٯ b8\>,m}'@v(Vbk5D? `&ꅳ$S632oKl"poGtK1Y_PT>sG'.3cl=|T|O"n7ܬIL&xz\;m;"4Ռ@A[, M#?"IIoL0 4ſƧf]`XTA^<bSNuRuu^^{Wg&F7"T+7ڵpb=@0q9@R`C  EHMƘX?;! x> O z@:%?a$IŚ4ip{9O \g &f۷0_"Q%%%#~4oxqiӦ К5[ 1""pWm~/ҡCG>=]8P3'7Z11}|3\`D \ B:hNAQT$=.tTZtٲeaC-"0 hTPP%l0--A6oںڿth[+apd irX5-m39~u!7~_ve3|vnݺa6}%@& `]|W/[bxaisrr+..&))Gi)Æ~NN ?xΝPc8Q~~E^̙3 ӧj֬Y:yd$ڇ(f6Pb1S0ݻ7( wJIIi0qIWϞuUNHRSN 3P[6/wك.Q||X~tرF/++Ӹqd ;z@O#>@cǢfOv:?V6$8qB70R{,x99(>8C>\5?o""m\"^ZZ%K(2A'%EFZңGY@ P.7,;Јvܮ][M>]n*1//O3g"#; P~j]^|EDSO#k ;n,9rW~\[ƌ$աŊaÆ_XuY5)1hŊhYYvCPvS)j%͛  \ز22`~'8u ."#W/>FmYfAq1pydd@Zj Jo>|9u>,/a";-լt3rr`h2N0ᅦDKwo5ɟ8nɇNLٳmͼv-êUEj\saH>ػV|=ikNlC'CQ}7M#PXSZ` +1l\> z $\}4oϧC\<>AV7 YYп?~;m[ݦ{pʘ dU۷;$Gm]hH+vɁ1c5$~ xXVƨ!H8vk+(bcm4l; =O? -AnpOKΝa$s'|!HwVTh}6MC1ͮ>!;RRS욘Tjc&6><棰6~gvhӆtv 0ܘ۠cϞp-núuv(H6i&'́ó7n TۮX>wI*jRCxBC-`AdEv;[Bn6##۽#cOeՒ`8 <&nؐhϞÖ-ǏO>ᥗ^pL` Ǜm+[-\ gP(q߯JjmEE]kSx={6 :cE^^د wǖs*+ر୑}>a`I5gHJff&'㦧۱4\zi«ݻs指SmUQaKnٻ&W_=5QP`K;aǵ `*]0@bI~òepx>ž}{w_~i3…V`XiC{cvYY|9:r{OԌS璠1>vIg1W$:{4h({/vbɒŌZYHM| ^;}]w^}d矃sJ<wnaX$ce*gCRpԗv.߶͖ٱ=cbc]ז6|M~tgӐ3VJ\&Oa[;fzCbb맟B&/*3$6#>)5dƄ0!,!3jT**~x}ؽ6 uPy9$i4C2Xo.a/I> IJ\lȀŋOHx<{εw]HOw\<A{B >=11&(I$n+,հf *qlr%%6!u(i{38 cGT"IgzWsG_&;1f\THffEp7{W=jPW[o-8جi)}*D`%(LnS >~,]С62 (&KzTR!tj>LA94G1G箻 &7 J : P۶bI_~G)@ IRG |R65dq SrkTA- ̪!B;E05WL8T1 ]+ RAX !Z& `}:ʚNmZt0ീ_ [X#x2ƚy8 `ia!*#[xpbBHXh{Bk.u4\ ?lA_>~(<50ÚFREE4uu=A\2 """"^.%B*+ym_^΋.iLLLln.HðN"BF9L&45$==ܬ]@$H~>_p,?n76[ fm-5 tZZjI640ЪjOSxL qQ9ᴩ  H/Hjotwf3㼙NDv!غ58Ȼ풒G47k@Y̌\%PdO'RB!XZ7?EJWz*q8aliin++F/"p]ƹ*dg͊3 *pO¶&Jx@p 4*<"ׁp]IENDB`PK|lY1C Aven.iconset/icon_512x512@2x.pngUT lKglKgux _?. %K"ҡ H ҭ4 ݵtw, {fߟ>x53y1E< !!!QTр@!/|\͇3|#Uq@h2_J|]ZG76.&!...\֖0\6f)bt]3-/}K >#CY*j7jyv6Vhnƽm]ԗ ׽o&x|Km~ArܩʅEa=1i O[73M,) ? @  oWߚB ush 3U"+ÂAkY FEvc$'cztq}ʬ(;aO`wn4Cd]d$FΓ^t1r!KzOf-U<a!'-(|A^֥ ;N*ipaݺ6w9|ϯ՛24δoKC'D EMA9Bd/7i?xcVL]QgdTl3hr)*V~]W7jr)VE6ia/0meQ,$ʵW\kM7  CrN[8)xR|ߟ ap5"AM@߁rW>^#SHEb)WYːOxEJsI m< I̼7m;f*>o,ؿP%ш$M3#xuD2ׄ%,F`KT ]\ț ٨d9`'Ò:~O GÝخp$߱EƌוRPƶ &6 0 &3ø\FoD };#5f!R nbg'^5n}c!!PΛ!0áD$ոVd_e3!xPgیć n"v$rrQUdZLWS5- K/DZ#' ȶj/c~٩fbԛ]uƾo@2P d%}_h?u& wg*Ė'6 m-ђ,i͖j;OLdnux`K3%!kmO9_/ӞLWZ1yNPN-}&BST7=P }?8#f#=\#6,k+^(2%Np\E3`JVdmpZS{ +=~I4nHW09DI.l hRa :>:u( zkyøGžc/o \#>2ք|)G}k"sO!ǓTI|D'i\eΐ%{cݍm!,]P[a%7B;mOn=H`@] dOnʁ]c_܋~ ܕ?Mېv2bcA}SZr,j7sq=)qX!\Bq:%j8R]d}.DCTƩΖ)ħb/8+N@ən K״%Wc?X8ջ㯑[cE&c\I0*SwXՌ l&PN&ɖ n6K&TASn{<$㢾cF9fuZ)V|d'>b_>I2e@I7\hb}m苲7 6<Ѓ)qggMxDtȟ]?AôGHgq48!۟N pG ]bt~2R'zy|`IeMH;Q4wh 9.d ƍc"Ș.T^8E U 3`+:11^˰kc\OuHY "/6´jf)˝`̤7|ٜr`%/΋h1: 6Sqb6'ib `^U &&Iw5d2oB)vQN-L kɘk*T *CA n:H@xd)&Ho*\(䬟)ܲMB`lC=P/}jQx6QH{Co~c@CMvo#11&/^RHDN-eaQ/8k+&-NClMo}v \Qo/?onry3&wxf{c\uE[\nߨl)Z֎Yh'(b\X'fČ[|ifI=on~?1~'٠wpG Hٚ砇e cTL}Oktگo~G۾3Yzf69 q&0p>C`M JjY!,a/S]W`j͒L/oj 0]l##\>ai%uL\̞G@ lG_UR88LQ03TY?]ڌrgVi A1. ^!>YZf56YA+CB б }#Kc%M" " VlЕ"\$wOKfɴ6fxf%)9W{UM!b,}y:0| B;x`WK;&,[0]]"o:I[xz<+9&w=DG1>S&+R^xuz¥v78?l4]= P{Pu5Hwy0BWE :׽g'<0?nkNP4ણZ@^ZA/hmmw_v!|1jjB&5q}SY&)`zDMl,T}5b ֭̍}yL :]!;hfU4]&y\I@ԁ&DF <;A9Z9V:'Rs^1=xW%OIo]2 %@y0e'c!2p9}(/^S@%mdN9FqF-V1h!/TX|uvԎ$Uһ%V8G#xmor b 9A $A3yȝy睃4uOTHOgk򛿌20p*kjJZ 8zUoԮXР@Q:Zb%n٬(e^XJc&qv*ir'UN}gOrtٷۇC ]D\iLor}Ǒҧ+5s[_ Νw.Fan0.Yo5 #C0It1ik~#wUa Z kB17NܢBUڸDIx|5c)NJ&52#x}u{ v%\7/IV?^Ӂ#{چrDunqkˮϪ;wuXhiibUb-è9冮'$e:I+*'+|?V~h+қ"hsXy ~AiKM ހCqͬc(0~֛OX#H0" RᵏTR P{U)Uޛ__~*|KH͡5P0=^W[%f}:^|bؠNrS`&o?_֯<ߛ~;D?M@ S-wdn26wV9&ӲǧO_]G <U$`|(xS n&j׶Ta7_JD's",e$?,'\͸s⾠#* ͮ3i/Ab?P$vfMTh婵<.faĩ]|șUaDABBauod(3g0L<$f2w >}~h i` u_Luo32"faԞlI_̞̊9#ƊW~䴾n {>Z8,3d-؜*s{rG/f|w#x1|临OU~5F"6qoQSEia@JRחS辊{<3}gfvV6AG;$⸧3x.*R6VF71o*xZ%W**zp$<^0CS `QNz:瓡*y 9g7VZӏJ$}i%[}M;-Yjns$ ٔVŭ*|x_ҊlyA/hBͺLVa"W钜@hMIǁɬ[ԋakKϟ9^9L -?󒏋9?qC]~1Uy7cƏy?1GKê =&so+o M^#pmZu!7xIymrʸpN_[~S~InXfYO8_vKrTRl=VSv-B )uYEҟT(v/}Qgo 77+^9 JOUL;R' XZ DES$P"QԙaU4B~0̈7r$ SXWc<$z &r7M*ܝD^e|BV􉏰M#L-+*UƏDD~e}J;9*i,Kc ]^g/MCj_|Oiܽ`L U-,wRo^ M?it4$` k4o4q]lLlVu6HL4Ng* @C4X^>@ !HTВXxQFK=I XqZ8E\v{qh^SP?h $2'ψb`} ex#DW quۃ&b)û*6=S,4:{sdn!*1~rMquѨ.t>y_R@b1]WW\lk2gɻ)_S*p=;Ϯc ORacKd%gęlwIxfaP`Y]&ƛ[oS5mO$`b;CW 8SmnjM{}:K(}*D=3'9&o/,T&>8Hnʪd,>.nQ4*$J([1%b?r*,8<55*emɤܲVE>s6ﴑW?SK\~mV87g'C+T7e}ZXߥ|Ok]]H6|O&%o偰Q罹Hiop'}.Keu!h j]V>owkĮϖ$RSoe&%2d -fל/1>S$ ͩpn@ s Hї5XfD8Y*2q)$v_ ,([zU\GWx MY~&1vF P2:d+{ϖ9YS9> y(2sXU%jyґykz ˒3nr3 )|P޷a>؎lO&L % ^hcmcEϱnrpd6i8t=?2D8htwZ1N!Oٴ$4#kz{/6ھ'% H<JLߋIr-K'>mWK;Q?ݺ)LSI9>Va(".WHϹD&玈ٴkݎ&?˓5^_XVmӭ t;@U|uml0&>q7}X0`3kS=¿8;O=6` x|)O Cy|5~8 1g,ȡ"qtJ'<6{$t`n{~DMm ekNg=6Ɗ jɐE1y]=u}ulF/ %>A5fU \۠w[m $Z YI= Od5pIVctk =3y"tA]/́Sfz}`c%nnX!#K? 9=Xodsg`7qݒ2KuaWW} _h3{GYpK 1[EwsݜÎ'O>e57 QH-^M"^lMi5=W;ictD m8y^kVL{D`.E8m*:qU~iDxx% )?qWݨocPEQuƭC hBq-a+uhPXu|tцrdʋWmzuU;<_]~(ܠ=Mbp|kڅA&2 ]O&=\m]B?oëz#ځp[f{L'&jkWԥ\L(mM^^ni Pk*Rv˟ mY <'UWC]If~CRb͊ @Uu:Brq;v#.*_rn|Czw͏'e& DonQXicH?(@4)qϼL dT"|Wm1k¦Ԫx5XEdeN]ʋ*4<V_TYM=SV("Ȝ&6Qa  \cFKcLBPR ,ADY:|~wy'O{~M!]"S+"]3Ci6Eb F7ǂt3?jbnX.n|wx9"z q]]S ~V^q)d6ɏͣ*i$1N`U@:; ^an(tc6Z ]7I2]c.B급xHš*]-ŸK)c$G.J̺Y~Ԏ][H9}؈)4mQ8EI|&b=35ȋfw{ Y1}l׿R O\>WkeIN,i| j+7 Ÿ[fHb  _M_oؖs8|[c} 5BUhʤb~KP]$UqN]A)@1>xEFMCf~N$v fz)>m,QPck3ݓ ^@h$I2r hbr Eªro$;^#.ջ[kCSRvs XC#*mdhiiCA`/@(K]O 3aDl,<Y 2b+xf}tV^4 ׂ|{%^uIwܿC_ts~|C/({,_dOVCZ;J$:Db{cZjYjQEfPvf *T^ hD1 Z3h6Toʠ`}tխ4h:F'irmb3>LY}\Ӿ /殺1-pq]!@qkC&MN[9F,n7w QӥMvKǐ0jzA#?2#g^OŎ?# cEcGl)euـ&&ZlF=H1Wx@ȶ'ׂ$s>Ί]J?Myj532ګ7ۋc$ޓ.XlzMGR'iE5^3S73w)|/HVܝ?¸$[Ars}voJ[8޸SGw9/??\k%MHZ^Eb=a\PYaQ|[DM;\QNdo[dNvu e#<ݢ ^ ۔[\ OV8DX)K~8\]}a|V0KߜKƪ_v=Jn1ylRΐH{2A!^~.9$̉W~YyA7G6}Frc0!q.Itojq2<$4W^wnXA G Z~[k )t:与Nlż11b3UEхHA-$7Cc=?$"y\jK#xjчއU꫄5AS-e v6B^%1gzk['6>jIutٞg"B(Ub%'o:=ioO[Hͤu˪V(.`oﲷ1Ix8˗+w99Pa=$t͠/ 쭦5yEd\m9ye?k3PLr9&֫6RoV'y}9#ͺ_be`xi|़ZRSNBFǛJ #=D4z jY~׆Y>1M(g6P(=;Z,]BB*֟F+a(.~Ϳ=J"!i}w_Hit[.Tő%e.ztt_5ֿ AېsFX/u3 Op+ 1o)*A΂d&6G-}߳pcܪ̮T$^"] A@<&bOw! =t@aa^~hzJPyNq (pnRBj+ʧ@.2w[,+T4?ή_ӮPK]tWjRQT◀5*t+N^e`Իŏwg /-5@ހnS1'Cg?c"nf 5 Cxp5P_XFlx|{WQɳ_mtB''(IK7^k$WW|jƙ~-A=M (L>:yLCn% #3XyfH=gLf71ug:M`e}uZ|MLD0ЀHɀT\B#K zFuqM-a+ uzVj\|WeT%fޱ/I!7^Þk!) T?z]!sss' :4&㭺E&31s6C_F8ΜI%~Ĵ @:6O%)b6̘y^1޶S?0Kw$ⴉTP~ruǿJHhVgszxX=@gN<,\H"ޜQȭ.x6-Znq'DZ> W[gZS}3@ko* }mmMg*APz*#d"Z7HFXT"Ɲ_@+@a6/ыuxr*̿hth|!ͥЗ,ŢqL ruQQspuا!]3g0%a?w OԜw}\PpűɁ}5PW,0%`sӴ}LTũ!Lo:h̸@/?]\HC^(% *hF]e7\֜q`5' /pS4tY)`9knBrѯoc8k#D5{%tzRD{f!̜DCխ/Q=zYԈ>- Qq`"0O$6GT%4\I4FZ=On1 ^ϟ Z,1~(#w%>e* "3 A۷ճ&&Co/,BKU:U۫x ,U1dq#@de[9:^ƱzObaRsV۩tJjsTbh+H[tB!Ցz9V:& 5 4ۗ"Sn!nO֘mI)Lr\M=<t-Dw-Vt^>K,JIO{-e2`VhCEcp$]_1t KAENxASD?.z~;< U4Ov w.Ƹ.B+g>à]' ^LVBb>?y\Z /YQ3ity/|ui2#YO8W )xsxRnQt[h΢د1jw Y!4QUsFO Q5XEu)M( 'YPX1*DL>TтCr:K-LZj6 ~dzΥce˥`ZrG|;%`si{~Edܿs Cѷ^AJ RDCܮr:+q:_IS Ŕu!!`E}Z&K1ls".|{P %\q_Lm'A A~ ~o$a=!`sϼ9X>{#ҥ.=ք2͋B` OU$=\0w:A:< 0Q̙{❶-Yrg7$[zAGl*ԨqhnScASr +EDc?^gZ307w&sӋ%^x+mk;xNCHZ|\hgj<1StR=|MF!%#f1Ť6X#եSN1ջfFq/y? a#Ës;k/,̂X/sr6xlE|֯?qֈ>{&r,",3bIJ9D&;6 O7X}y<ߨE%bGnO'y{[ڏ-~λӊ_8^= chq$ yِB/Ř%Trbך;VbY}M 66c}Z88M/=e#F*yo;~#/Z+ȍZJO> # S&1g$f>j}4D*g9^Re=SWj횐a$r:voڡR=a u˃,\x_~>\_&yChƪEK s#D"egc&?sXHޖ\$ByV<=͸`icTgoqU%+tiKaְ'9ο7<[zO VlQjN5pSxm3deaxr&!=! [ʬOjo@NǗW'Ǝ8.wY2Od d{BX ypH_EB=3,[˴k O]Uml  {a>ubſH#,<[8\^6A0, u=s{'/-=طfDž\o07F*"fAI`?)?3bXZ>6M@P2;;vzmu4F1\^–~@ҳcpBϯ4i v.q=| wAFW|"&~X: c; /N/'#Bb?zǴp?[{2h@QoR$xyl*RggMȳQPLޑ}ɲU\ߓ6?ƛu_"zZhqҪ=1'_ cر{ t}D>~/6kvLX)Muèž(5em5i Ʉ/՗|2r1HAĵXC(O\ :L ſXy'GYg"rF2λė#N&\R8Ue ZB1 !E\V/>;%5 9EYrs@4R|Q+=v޲ けk˵K2܅W Ǻ81:qTe(oߣFiS?Pr=~P(aIziul7V(Y",Zf"̻= I?&45pZp@B"x#7y<8.&i36QhTaF7/<ƌ5I5k6{9`ɍ,QHM{$F~8aXHAQW5iX%MPUw`AYd܈È[c$[C`**1k8;r5K?78,\pO9u[ j׭P>6N8N=v? mTџ5q@Iu/`D.E@\\L@.!$ ش*WH>hwJP3puD슄^]o~ ڛ7]&m yH2# o2')T,["< ^L]}1/&@&ځU#Y 4WXn>Z/L禊 gZEqJ`u`Ki|13z(w+w JU1vB\$TO{) rc;* !ךSJ?Q ']45?[`wG\zjHJq_,f>; pĴ7` ֱﲂm>u!h7vP>l٦GYˌC@]_m [MU~8)!Kxv 1êq O"e l)"x+N}S tRwb@2!A/CAߗ+Θ >Z6m--ME0 Lx(o9BЌDPyRt;m^~Ѿ P@ojņTtxdcc6gf+!T $: ~x{{-Z~~L+ Q%mz#0L!Ԍ@Fj E^I}: o3_!nB!.3%4]o𠄏T9c AyP<-c-4,҂ļ)y <𕗇1L1/Pz܆UI|MVw>?ÎGRdǯk.a@RK"@"fL/)"M($oQ/Tg>Ϧ$)ڄehlļn 7rg^=֒ U%6-c@>{ #d1Ѷ<88N+m0/E& }8@-:8}/ ^T:Qv{xZ҉h)Jk>9 HRTh@hcHwFrFB/<٦y\|UUvlU#w M?/ p$Tŝ J4lBƻjΛ~_ه AO11llg8?X9by|o12=U)~YoݻNX3] &)cb}[ qIA(\t |z:m1ϭbLNA5 )kc6_Ta"0Z,`oJbܚ͟:u;C]/'몖;kH<.d^f׻@:%lLJ|V-WA,2fΒEPZlEe%W"q]vO&FwIoԖ)}iGLp`H2MleyץJ_2QZ)وuѥyd,Z6IXT8d }鄔%99\8tS:}{@,IRoA~W,0t~0˛ZBqEVUPs>(qtj~tW찗o/L5H.LDs^u-࿱_/~AV2s OL^KrXKB׮m򳯉ӓлVRrΞ[[s:p#OtkDǖJm /rGťlD5+ zSVi@:w7GKK3ӑk>lk Fz!BDX`I/Tm%;})K|G4UkȟD0&t84湄3bZƛ@HK1"JyG?4@h՛1@ὕsvIOgvu[oSrhHb!<5$>D 3V>/¯]optћ[,>NWz_]y=.BIͯk؞LEh0O? JFXNs%Qvi ֮P1h||ۍSM׬6w@ڷylOO4I"oJĎmf$r䩳jMa4g5깑 =~ G+8==m0:D n=үL jOo{_.b~)Z2j Wn3͛{ǺmGݽN?Z8f+ T } 1q¨v=53]U XMzNeK+v,]&cp뿚N}0=cYIaog'uKœnEI>^+,@lH@fj+M͇H\n !Ic]0+Sui\o0=Ǡ7}OWIӲM1g/TTH XIyVWK|om:X'bKWhn=^TRn)xUP,>/޷F-1lhiv:Ů;HcZO|T\GH1e09kCe-9Ӵڞ\]>Pz-GoﳿbmzsT38ы- fI3D ʭ̅`婵$NPM y1yw2>^Q&$ph!јVf )12 ǭi$J nٜ WjM}g[39'ؐ&s< Vt>z3/l ^3|%8!=?̉܀">l=N?Y;hd_ N rJņm j|6yI vͻ=)l̿Z ~nB> &e<0  ^%9QFaoOubj8 1r+ެMUFE92<%+>`n[ISa^4$u,7C_4B}pޛ_߶ ]~n_Wz̖h&"tq:zuy2~px[&ӓ°iH5 ex6Y]DPe rKY،θ4y7:eCn|u*F2<WAv<py/5UH=:r1}x'ja |PS)55&06|@.z(7[ ! q</2=Ob?El`kܬ&yYֻNtŃo4_}%$zjq5 T.c{lsьeeOn49x U:(#8y2>^$7yX]˶>AN$. A(iiiԏC4))lG\VIz Xs0}yZJd4^&?(_[fd f 7TbCzGl}yp7!5G̗/z6 }w)tؙңsW{灧B@.|MSQ.~O`4}s_6c=On( Ahi݅`U"酣Ō#;rs>dùu*00r?@J@Fn&PLۜz/Z[#nIyC /Ǜ^7}>h;Z #%6&yR9Xw 5%\%񦅅.JCA[w~S~zj}ouJS aŁc(v?v'8 >מgL /^띙p3*yLZ`(>d@"|rߋ 7 jt_޽굵uj$k}#@ iߒV#.ҫZ|/i@.Y{[7QRb5c`a?#IAߌ=OUEbhn-LϞOcP缼-|62 8n2r;f6"=?t߱|? 4y-aQ~{iސ$2\&\S9d8Ql!AO[^^B[p|JD; jz)JTwA.u ) 0vL>K ss# # *yڛ..AAA+z5f;TQD҄;;;gYb;`/'“܀oVoy> ɨjz-2B"At+L0ٗ?ʤr<|8/8r3ioFgq%% zݒ cNoh,72\>l,GGi͚uҦ~.Zva+d)(1sHG"g3q`_5p@D̨!NBdZ-q['0 D,qLQU}`"2r-NjYn50ߌ10s$8qX|(Ǹ4D:7wZ_ dcFI^ޭC8(XNO .GPCFIaaab3H>|, 9<vqĮ]CvBw-R"1yWGê[h/}$}sj?RЭu}gʧfbQ[e O&)ĈŵT][f7] 0KɧRLֻ?+@s8Vo8楆@aqdUHUO^Xko(%ؿիtpW777f, lG EC%5Ox;\ ﶑g '}y!,a#s;Na]襞O9O؆/=g9װXۇzO^F ԉn?68&#d EuJP͐09e,O_aPlZ%zuoWQ vʊ:Պv HO$7r3vwZ[wģ*L!ʧs&KznE)H `ƍZBt.& " XRѼ|I~OQ:?' `z#vYnNIvh=Fư*Y8u zxKi>>.Ӛʸ"<=1qé˷C~~+T0 IP")Og ]pDra XK ( :v*N-b>4gAbY7N8"z";1{b6^$D8Zi:*s?(n}Dl)蔓bm_v2by`BoBnaBˍk9gUpy¬ PRLzϥ}ixg5`RJꡍ:5`(.5QaC? f-}+[ŵo}0cZE"MKn.jĒ>Zhn5({?i};!ӨDُ1&{SUA L5Hz]8wݟD^v3(h=4#a~έ7ftL XsIRJlL;zP | VB+?VH>F>✯ m˼K yl3umKfȿ܍y|p.\l^qwEՈV|$/]@9^´Ȍc=-l?Z4Uut_fΪUӾֽ& &i AqZە;%6lNA]6D/$SSďiB3 CG&.~*Ggm M>F.t;Dc*'nd0EEm|54cYm-3]#iWFToס)(peHf(q7|F"=ٶl&&2/ pMՒDF48nI赀T) 4~ۦ GMlij*%9[4/6m5p5\.E {$0ۨ?ưk#0#cp;7;~sf0^0*lOA5ztC∅ꋱ;ZMYI# %M3CCî}+y'~> -w?\xHc6u!A. S~]:%ecč;8lt>yLI'o"p,D dk<_7gR:t" 'B ,A-[a<<4g =䡵t#VD}4dzy\U X)hg*gVWƇS )( M TVsE\u14$GOEhos*#-:`74$V3Y:~J b2L/6\tO~)sl4nT haŘe~hK$ k49ߣ&&&YyX68g-闒#||@rԺ&ix{j;nEr7G,.sRrj8GBB"xٛc(QJ{)O\/wkHя"y]] Y`Pt@Çi!۶L]cluM٭:³iQl+ ǎj@8%üRX>iSo*ZLD@y9_:TM:m i6=vZ2 l?\lg>7=[r*vF`yH.4QQ?mHv2>]×"hi{Ðw!'eƀ-TE.9, IY=i9U!w{}fr< K6?т}PbB Emܽ HKሦݤy v Ӂ>P-^&l>gg;6 lQ#8qiŸ 2*)EGG3X sy28U>8览tPxzۜ8/7e]jf 0ZJaUD!NJkY*WgKhg̩PuvAnԝVQb<555G[db U#!!ѰUlsqwϪw XܘŇߣ` @mqBxx O2yl C);;;pz`vEU t6-|xSgY٘b "ܔ#!Ir3^ܮj MkX fv=4ZZ{u2UTu}vDZ*drWh|@bK:,kP~&ɓ\s40>kc3  -~ffV(7;݀fd:zh<8lS+,|4DR%6V#_Déf<ܘ*-Ś'ԐPxүfo[bY J S!!o4⼊DDøT MIv&+`^m8b8)yL;fx$h`ѻn2Dy97 [SW!uKpsϓƊrjara1YF]/пU$0eyce%ճAZ{eI |5-v@sHz;0o[J{;oǹDV>TYY;{s.Mq ulm@RQ`߯NԢ۶֏mH6Góv4}|5U=ϲNze + 2j?(" _ *QMh ,.~Vbob6\mK:q$ڙkʸܭ~2eW[}O܈k'uJB8~eHX0RM]EQ:tST CR[Jmi,ts"o\֋/Ћ9 bNFZ%wb LUINYd DED%u'_Tȋ-2B͍:?$!U3Af1昶<^_G(w9(\ZJM .i2ͷ *f'.;V !9 /;@ޛ!0b7%R*-v9 SGQLyMS7DT"O8Q?y[글utH09Lw3 c|ysx0lD|`.+׎ΓǙϊw$@U9N%8kvbM.f`Lb?5΀XDl*vc> avNc/қbC=ǣM]vC7$Zpy C*V@u=NPQ""g(dSjnZ7@gu>>g xf몚  !-P>(Ю/LY~m6Pb|K)v1]~R뼳YǕ,pupc; Q>Xb?aw eM(“>5?޴v}^2ǽJV EYbX.`)1eM*_PnMO4F;Q|v9[?eYY]8qX1ת)a#$ ^9R)z hA5wx gG9-/o0UW\K}Htuw;+Ҏvfjpw~cxA wPk 1Qn6\amd_0ǩvW'H 19u'=n]P7IhFkRa}_O6ODB?ˤPAەsH 3$ɶX_yg&0^YgTwKˊq%PzY*)~nZY;N>3.٧ ˝AIzWޫWhALKl/Kg ܏>{ÛDL$;Qu* +j2-^+N>k0<ސ&ŗ_Jed]/f5eۯA%`K(B"I G :R,"8-O":ĸz4Z{0e+cA sa@_]"Dw||(() )BY\lb7̑Bm24qdݦgtqܠ!o>E>( $L Xخ|>NO:넖Mey#7cV<,El.*, PCE4d:@T0G˰_3"xSkiVpE3-z\ {5$x5ͶS/dv*x3q z5΁4|:/@Ǒ=~~ҲGNj/P!ۻ@Du4z0_TԹ ٙA\>ޥj&k l-5J{P=^ý=fZR5t?VYBI3#}AX}uXUr7=>${ @=Y>[l$Nf?d^_/?gܜH`**TNVI"⺞iDB/ +Ш)_%ؔ-|#WjAX!ؾpN+p O`@ t?O@3jf/O&][`@9],ĄDD:e @[rb""-mjlW;TWm7~ L%B~<9o><}$80s)9 `b}ȓ(N,@T9|8PTD֒(Emd ^&.ۏ-ͅG~nfEo.A U43C-AH&I|~^<\#`RlF;> c3 Ճm+mE"'q!M"Z?M9_峬6%pG\C\ ̅6;!!]{SsVWkxA]P9ݝɧ<waTz 8z0{k tbCqݢ7&Ah pX!> M8T l, U2n|JACw8TDjM:% Z.u~ ~ *C)rk7%: Qn+nJt`` u (X0+.t]D)_ ~ eͤu߫ji_7?#RQrU^"3螜{O*e TEUKax^9[,P9U*8?a$\ :!g?/ewYfS:U^G߭*5: Mϝ`+|hV: RI٥J_ۏOtXM!x߶Q*?Wbd>f;1랮)?SJq0Z@ Z@܏G?ihX3YQhؐhwSP ]v킃sr 0UɖB]o~4 Ms聇RM=oN~is#!rtC*6 6^e;0N]}}AUE4]9m#׮X=q'&|X[2&.6nv2UƷi[U"`1i=S+/@Uq=x׻pޝo7ݹڗ2Qm{T-tߐ$rS_{'g-hdZ~ ф'z-nøG=€sx,kYLjL+ li V>;;;ϑhQ0V87cԝw2o|9XM,e`43 }Ǜv>P9n:NXĀ'Qc:!WpMԘ^(|* %3..ʟ 3zEEl\FOxTU4w%bO3q؞mHs9\,8.jG },8gy Hz ?o ec`Dġi0 vX|uV _#LWrSK/d5(]\Q&D1Yf~Ļ:F5)q@>BzB"L_XVE r*9;Kyad^VU(oӶX7/>ܨaߛ%?Aefh=,"7RCGٮ&jPa 4-x'MSFj:3'C,pxiaAÙ*]NXPVl48'|s\ H}8JwVDB!D؞qӞ|n3v~lvb]W,l07|ݨҪ\6j9-۵_t#D,B..a#pR[Q;g;4ǝ#ha6*+T,nUNi,~ǍQ[٤F&88cEV=>3R >0_P1GNL4^x|Ko?<1_4P;VcC>kp4Ʈka+%.w;/Sx<%$"jcUx]Hjۃi?[.h:;mq /OZ u6镺l0wħ[ӋAys~vim0Lq =YU JJ<4-f$%Dx0'&o4~6-xw)EFMY늂-!d"+1LYpY'|~nM s/Y*l>mU5A뜔1{EWp;a'-d`%_0I Nq!vF!4D3py49JJu{ظMTERvw:I4,&}ڣ?SUo?Ĩrb,!E؟/;ܕ# Y$B㎕ޥr6$7(%e++7馘bߛq)Ttgd+(yVvozʃC\T.vf&A#4 ݿi>: j8~xgYd^M)yN>O8_7"=vNP.%] 5w"K?[%V[WWNU?ԭ>_vpЍ2wc8(;O]c>)%1>_1a=R^|Me}&Nֱ'9v[kȭSa*Ȅqǿy+,LDACEFtzac!nd_4طǛ'K]|m*:qƊDTtb>LMVZjoҶM~WRxe?aLXd>eXaYG͔[2Ì9e`_^om4O`K1:s7{nb\S\3d Em X_1܉.wcďISs8|4?WW T/S륮WXx#E7TUĩqI@!܈'TۂloyQp`"dG30uҦ*OЦzIz!/㘸ٹң'H/+oq>]ٹɊ[ 6"vރ;@Ø+M[:fj4|00|3 dWӝssRd!tO:kLxzIUqKg9PSCm:}dꞼ0DawϔOӤ/ #l=m!ηcWCS l"*hAJq/oj'+iuotML5zUp:&f0Fl̊g61˖a{ "O@|8+K t2]yΦ-D=RH+x\GRoR*NR6`C66-|Jhilj"Ee%|kBj'|w9'_O㖁o L˾/-ѥ>Ò^'<3 j|âC_=HzvRԗL)^~dYgӵ0-μР) GJK껮 |q| #a 4՘dc`J(W{C (LWLLt)Un/ z;sd}1G%z ,sw*=gc05\u62u4A @9Xj$#ۀNDЋS/`YL4ȼ;+jxR91 ϧkSk96 3[jZG %׫-"뭣z3t# ]"4HIt %- ҡ" H734]3 ~}k<9ϳ' gXAF&RpMibT͔Q4 c'!14E\]) )C0kd.#%VwqMr(1jgs;^\a9e(:$Wӕ-el+<|j{v-uq]s0MR].a_z@!> ?j ]3&(|Q*,W%/z*0@f\A-DŽOpGmȹs!i7̷62ʞ}ĕt[>#Do' K)/w S/(1]>N9Z' f?)wEϙk«>2Q_O醝`#ӏE'cyh,mr9&B9Y?Lv<}|jZyu`1OOΠv\.EY:9.U9g=;鶽3ƕS}92lՁ[#fo5>o:(F\P ov?M3n_HIҟg75u$h{F)9bqD5? 7B5Af'|t1e*c>9})=>nJ`1P)!w\<זtC5ic}:(-.&Pj'p.R~v94\ $P$q3z$\#2p+]cMz q_JKGu&80q6!M5ԙUJzHOXq;9mkHIǯ|~bY:Ŋv}Z(%v˻rx]!Eܺ )ijٳu?$m,Js6V`<:`=;g?  ٝ.O`_y3Y5a`xEBdp c 4Z/]&!y~/5)e}ZqMJJGzIm Y~c̖5$pnHdRf(6Ά=CH^_q kJLkQ">p0۪+.o!HU&ڊc\КN :YF`:`)*>0Ã)e/}ǟ A:Y7ŲRn#[-w [Z@d 40in-]|Ϛq) kEne-.r]G.@e-;zǎF+үo[ BMi'5m1 J@\9|oLވ " kT߃qyNB'5.?#S %66] ~EC< +YXx`MgVi @#MvC[[p΄ cmwJ4۬?A;_$X/}NS_y}bmNh6X-s,R d9&g_*f*JfQd‹W*|O1;m kAgd,Cf;GO ~4ziQm\ѾY:fi}cG@W3ɸ ;<"~ӗIHTmp9 0>e>@]֨n0`eE0MaД |SO:ԐqkyՏf8SL"3&q.Z.CMG(^aDgqş;}P"]~<7+HЕ+tSw 0ҭ{_(EZ(nqu6ɻGX.r^֘,&VDdQU&T#lq*BPK:aX;W~J g.p gfoQ.ܭ|z o`e393Y ]$$~U,Ύcwrc3 +nbgn#Z"[{.6$NƦygtc;>03BAȵ:Ӻ N,JX :_Vh$] &ͬ@,P"@w=Qr(tft/dk8+=AɚՉٙP;#Vl. c<}{ZR/:ZsW׸'O,QZ=ܤח,8 4ۃvFbmLe W^;_&d/KnMT^#gpq{oyVf+'.WWL H6AH?`n1]^^=]nX =nBv٧?G[!<{'< k_`VsmE a7c&v}q%.&`8ǘ:f@{=فö0l.n'PS_ jOe%Ya=r4 b,9V3`κ8B+#n,<2OyKU?ˏJ;<  >UDb<< VcIKa{ n9v~2\ѵ7r9/6`E|oBu:pvжU5xɖ qNQ9SIǽq|~hqObyS?xmGV51{Q#|ϗAa[OqȄ?U(5Z"Wsn+FTy\lXx嗫y+}1x$6%Rs w,H{{5=#1ẑiAğdTN_~`/RHĪkR9մaK}屹a>aL_MYMA`V5FPeI:X+9ka\s^>W; +61)sO.HAsL1+k0 ŁkHN["3F/Qm Rn_\ B8&c8ݿKL`S&f499(O ϻU~p0?Ax 9S[J+;:HmӬb"v49h^aN@!пSO*OT<㺳X>ɊNe`r;_W2\1<>bV%{n@ܷWS+˽aӑnFۈmWz\]w9llI#9era*>[#6#ƮTc,W%*D ٤qj3 >!N_s)/ܙ_yLVCIo! BPXYt)YPA}tڞFxz/|*Rg!Euc5t>Rm-i 1-ǿyz0MVfӌZbYdK~2HJE}ʗ+>3IOz^kz-50c'xq_$gVFW%v.~a[aQG(Ge%,#@:g`/w?ïxXfk"Zܳ8~F8U\06^$wxL)S;gW"}be6zJwE(28+.vA;VVg"v־ 9`:V!w~4'?o>0$lmrflT7gn1 ُ4R"׆@0'u=rnT`Vwp\U?OoaUJ1)b%)AśN 4 ƁWx5ˇ{S7&;r*'W&*Ewx#jeql8|{DLv9pg~DZem_Q#֕xZQޅ5ECKY uRFFwaVoa;@P.ȮPj.uQ1eik/=$7@d] 5kj`4h>|0CGldHvɩOR`AA~JRvt^Ьi@q* IX|VDuD\s)e :fp=n,/SB@e@.NhXf9g-u[s#O~wC|nD!PfKCNQ@wհً! }[uD$Ȩ{p.S|^u9r{/y@E[W HG;͈[)AI[5.4!^ϴZaޝZ=/B#Q/JސqDJZsAhl9R90ӺR\ %Sdh|F9Wst;F0Ml]*5Cf6Nv)%5dõ|ҝJwfؖzJwssy\m]PJ`焰nVY2;(q ,@,&~kK''PV.Ţ UWgj)|14}h*mP9]`5IBYc6K p\ 6[t $B_B=!tYWRn>q,&B lF-Lߩ^=5JK^#ҕ^U5rYAvtig 1"^P q'H%Y'W3ѿߐ3@[}Izo灬M-VeXvnT ҽ:,y$z7זhn kϛv۰}/H=89-z15<KSRf1a0#!7E &TQd(!!br 2HhZ2IGY߳e|Hz]ל.%_V38paZCk>r<%RZT؟rBJ_y5#- @9iתƃ+ %h||RTV?ۼz2k&޷M|?.t͢gbvUs]EiY7oUX@XP!-!Cu/ᯓ>)$>'w&a1"N/Lh5C~ˬʩ$~8YN!XƆۚŎP1RYs!>P-dH)HWn?uW[n xxa,^{{3&m_W"`rC4jUq>['%?4R@/Rl$՟Π{mE`:IIP6O@H>E# emE@ Zy1 R, q 薺 9.: 5ݗΧeL'prd\\/ n71ܒ:,"6oTy<1 yNx΢xcLӔr#o}:A ()AuQCIab)!vAFvFIb9N=~ӜHۚ*Z**12F}ZW'ӛw.#` A ?" hjVZŠZϰd6R~00{8>LTW h7■aJXnL^kȪOjRC(n:d,|+,fFzP~~?l8p_Q1T #oc,mN&po_\h}W$E -?"/Nj/FI;_\ ,n~i-Ng D+ ۜaeO i}PpGQK(\ywKZIjr/bw{6udFsz!vkAGJrɋaJ J p*WK,YGnjڈ6d9}q~$Cϡ>R񝲬_\jSkvͽbD%&n鿁I%_f)?@*-*xEiOlƄA`F!hj ON3_P:]d6pwxM3` g{'"7^% h0 R<‰*܄N }.jbEsXs(胵E-j=x" !ֺJt™QZ=o\PCQq~ӛoB/v6#ΛEaчO_%޿$~ˠ?Cl+⎤a|_[9(ӝQ6_]VA?Wr}hJF+)~4` (3&-jdZ&P7'pn\Gs8V*~qpf[VcI ~V̛z a4ƾ?uR F˰iX30i25}{\׵L_ėԘcIRLPf{v#MMr>}#jp*~Dnag)GףoT:qgLd$C-"9QϘ26ISC48tv۹ѤzOZPyCEvT頌zjĦ@@`Љ~ N0&U% 5{Cqz Ut K}Xd<;IG-ׯ]΢[sM7 Tv%E~fvY&ҍQ\O??JBOwb3\E'Ǘg4-.-a?'0^nh۶/B$`c"rγZFߕ?IڹF8\'i9 8Yeމ3]>Gf`?5}aTMõ/ʱlFnBFJL{e Y{R:ԯ@bYnQ~Oq;LJz+벇ToY<}˶`uE BJ~_\h=zq#ׁp?}ij||7z4mmmI 9 _a,j+z&DhyL[^q⬢-C6fdxf0 *1A |=dK!G >4v!֩ƾDP_g@()H}6\l{:_ba*!p, xi? x͆`^TӜdKa#rK}4캫 /$#<g;ޜY=--ޏǑf]67_:%^<9,u窧MU ߼SikD*#5_=Ք'7 `Zp* V=רowݕdUPMx-,f,[^zq~";fTx?=p1d]5~b񽫖{pCYˀqq{= $7?ζ؍/\4mŭG/`TDqs!<t %U?Lթ.dD u+/5%0Β<C;q}B%r ;E9D~a/ hjտ!sMB d0fD!JQ2n%枌аydsF;t;R_&\QA] >(1wIߘ32Y*-{)bI/O'K>dy[;dw~${-َ\7襈?/# " @ M4:`'\BFy#K#_:~CsoL5FѳgT.+ #i/}ʞ1T*p vMV-  &)>lƋ 5䂬ݗnRp4aRߌ{>>ۡ;qkޡ7=9+57Drʙ=rLNYL 6P {tqTȎaxT~+)EdJ6' h̙)&vL/Su4d'"!]lڞIcqJ±Caq5[{[}{M#ɕ(Ȁ#37z5&A\JCs7p|f\ A]/0ǜt[Û4ۢU}.2w?)!%F_$o:Khk?]$˳YU Ywכֿ@T~;OK{Սz TMD3$5 ^uћFJ"1Y: z^,[IYX3oA@zR}2k(Fi%ܙ Qhx {pE6dޜx^ðaQ>c?Xˌ^nҲ_A' iWe=Ӄ?7w\bi=ݟVghfU~g+W)XkN68zgsklTv#q/"i)iTׂܨS)LK#T495{Iu/Ix jH xzo({^ T/J˳xv2ȱ0e(~)lܿt[kŷ>z :NX4Z\ CbQ0_E.WDЯzO|ig&Vj~_`Qۻ˜Q!B8m-shq7k;BSyZf$.?R%sF+{s<#ټ#1@KJ4p$}2SFrjW>"\n+DXaX*6X#f:DiSܚU7Sd&SN6L&á&x#Z'ts?T '0dәP!e! rģV)=/\dt,q[ e Ud?Fg 3̀u@B?%(tEt6 >+,Tc̊8q{_C0r/,mYQ4A)gp>kJU`iW'y uB֯Ol)jԛbkȢjU0V:J8gLncr۔Vsjf\?, A0; @%ɲ}5C&2މQs&_۹Duy$dQNlNGlIC L:~|W+6 s1v\P ގf<%1ḙ^aՊlb LBXFa[PF۷o~ci\__q/0MDqDޫ:._{N}a ;XWI)9=-_ne!vC%2%Z,S3@6ߓ*o^'8 Q!o#m>?o %k,pbav[yKx@Fho#0Dna:xnR x"Z:a_DqhD" ~oMɀF HRN؏RU^z)3-xHr}(e2WP%XE4z7h~Bs(yꑼU)I1Ez*LܹT\lvxX_hwY;Q-av Dq֕Rn TKQ5ZskNx] 6("(/"랛B$OfP$}fLjXxlK,fHg^0QoCaWC~`e[.{_Fhytk&V'ph6"()-ޫ )14tzZIeֿc#ʾ^T}=¿uoԹV>YnAq` Ǜ##y኉jiKewunz~-jv-Oib->x^hfW>4y6m_+ft:qpN3(fp6BE^+B_ 1p?J *Us4~|Aۙܓ($~Pw+'[,&=NVDP$T׊%$$ ^ߙ5/vt;cɱI2ORh=?/F_UQQ>1ߛn܄6骯[^Gzh|S*5Zf3< ~T:#Ovѿ{df|HA&vVc荮et~WvVy(T>|@6K]})gC%UpHV?d1յQ`cq~-o9L? ֐W\a^5iH{ _7rj۫N ޞ`NNKN<}"\+\K ]@{B\?$'"ci=AFbgsϭޮd`眅{ Z="Dzf|gÎ6^w^ۼ-\S{:po+e`t*|Բ(ևCv;()mL U$wG)z=\GPG#@Xwql4l=eHz|3r{a@m;*O>pNL`Er&D!ORw~Zm7n"6ZwPE܎t 0]~N. nTT7;>#K gaaŬ71%#Eu=-(:jHFgm7s#g0lXÓ!ݤ􁧑q@n ,^.=q?J6A?wd4zBكLAf\,F l7Q0XNraq{\4RQ ^'oCvX2sebDo!z8Rzȓ˼Agy0~;^W!.dQio:(, " qOSsJT+J]|lsߧ> F7m&i(Z qI ثbNK%1=4*S&N ei,I4Mrokh7UHy5@ctjxAᾊ$m5.W^^2<߿]7FKEogl^Tj3 Y٦ӛ4@ΎGcϝ$O;"=v^V2NHL:GwQ:P- b{ao D|cz$v]!}jf+obXM"==t5F| OV>kviW-S&lZ8/joQм @ꖋC Yǻq*Z٤eKuόKKk~F33J8Qj0sp'w h;Bpp˔|ݶ󩹻Ge ˅aGC%蝧sGdp+@s:cmeH03v[mNcjyPPlڜ^3{G&RNLߟ\t)WjSl'k3~ uq?hL7_nHw Ix:5q7n&J㌒*9mrv"XGQån6G-CZPǘȄ0<13;[TMYJ1Lt~1jP ˰c; AByG]ɚ4gcUoESX?`pA \\;+Ca/ f6%w>ºVO؝f~~=gĮG&[O8 !;('` ϰ˝.tL)i97>xd l2׍($r\7Yj b3hWXY8U2Lٛ.a>ԕ\0 U(p|eREU ߌKJz }W# 5ĵ4 ,Gu{@Hk_Y16a۳)țY|okQ9nI Yg&M%_=\"M:]Jgǿ|U1` Y-yO_ب01`&2vNphI08TǙsZIR9;<̯ݳL3Ny3s-ysOϛlNtE)LV$ӇOӸB)BW%M$ģV7HK߫ZcNq~n/ՇJzlZUDeP$GjSn~j%ЀFNw_{^u÷ꌵE8./KmidO92rp΀$Pv)G)pOr %":ZqW*Хs]Y? l!A%!onjv <]7;a_D7Zץp kx' N.դx7.9 ._f[dmmƉwy,yCmާi|rCu*ۍ+4)5?[y{N#,~ŏrmMJe?oxMxT}wQKL_A[6]hC N1!C>($5{ۚ|a`+~OM IKhN#_J,[WSbQG7#:ㅷU_rۦߊ١ *kq|/Z{TTZGgŽIA;2-[ >uG* MxI'$xpiȎ\hOI[F7wɫ/=_iv}Ĕ[1uG_@@i0_ёghڈvP5H!+HkTn@ێ ^bX-z-$>J?ɛp ¥㼚aSz`vn-ǸF.fХoȓ3#ZkW5X<8w ׅ(ձۈVA嚖Un]O@ !<~{o*oQn?W^>%˙;xBsbRwɀhfYaQWd[U4寨@ؿ޸jA:!Ԫp[mUlRCCZ/g0֐O[&$F̯BM^٪YptfDpZ&zmcLbgԖH܅>$1r \uMb#%?k8# ps"Y@ dFN_ֵFB~Wf@Wvn(] B# _c%/MT /#02 J+$)!Pu7_TȔJC< 4'.|ߵ \>k {ۖ;Mh2n$]Qݽ?r [ceӝNM|[4d`#:233]Ľ9~Wn[ f9*o$IXx6$n] _b() ROp~sJ2ϟ?훰i%4̉ko}eVV2Ig ' ;7nb9\GkK,Gޠ$f7vF:q<-OKr*:~IUӜ8gkЇidH-Q]xō$i"OK'wY^`8 ˉ3XU/l4b#{V?4TF'^<Xf-M;2J#F= da?;SrL`kO |t@nnjs./ m5;4|!Kԑ$I/ UN.r~}k5g9cԶi^ vnFYPuHܑ] }=De)Ն hT=b'+6rok?\}!+m_MlDA9oO/ sę6SdT$2 WA-C˭c#7.@Y FmbBϗAnAsػ:jr;̧VUNƠSԦ ~BZL&v2ƚUM qA K޷>>ysw* JaBg;1č60Ðp[ܾ!ɳ`kXtCv%ʡI,NpIg03܁2.fA~pw|V!F뫩q AmA]#*U|-E*ӂC(ӛox. U`/JO cóQcqX=bD~ k?`z _Y= u3֦-g/\`%dРhgە܂Um[IXV4\Ljެj~Lk&F¦gD2xa{cxid%ex.DIhדA*#OxcOSp42/G4D2ړE!ϾgT^`&vY;3ub {uP.a_,oaGGƍ/>6^g0%x`hfFaH:% =yM͔ 2YǦ?oĽ嶆a3Nes }^0h XF Y.)tb(=P.d*Pu^sbTWy;JVN`ڸ3u{_sM{Q?".0NUXi+"9m?lTf$xjhf8Rjd`m3:tUjX,lf9qJk=ܜ4y# aegS<ڸ_+qlGf:[P,FR4;[|Awo#?iҏT@`ḡ׾:HqKg@OՀR@OEDl1s6˹UHh+-g8oܵɍ9}͐l+s@\ϳ}yOb1̴fu)/ 3/ul :lp3y|.NZd3ZD#eD (~~Sp-q͖}\¥z_]j5,Ԝ,P!'k!4/o Tlp`=1S-@vLJ`UGȇ|8-Ti~_]4Aυ[yepL<>J]$Q3k'%]&zYhKnhE3\N "-P3H,?f]Ão}2Q{KUpv kV]AZWH&ܶu ʣwG{C᷍ #wڍ: kۘq|=jګ;^ sq.{>mr&`y F\ n{dLpӂ'UB"'𷊆bLG q=X5\\n] zw[n[<ߙI\SXYdl7=EEG@}ͶFIIBƒK_y譗X zE g(q;ٸ}t"[(s %FAliXKw ۪Ī:YI|Y-# 𛛤%N!p5K'j'HnlÙ_@O}bo mY^Y˴X>Jw-{14ܔ,$L?qz@aA-*w-dww p)Y>K:r$iѰxUv>je~j*^Q/, YUcB#([VT=z3dN\+̧ `~^iXEb\wd_M1ʩ"^Qul;u6NK4Eؽ Fx f9 |9 &$Umj Gjb-<㶩DcO"n)i,/auvzGPXI‚(q+vQy%H7_l[AvI[mPlH-4 9#1%?qd-)v\[="#G#(pVPnR`wD=۝UW'M8X.h3dϻ!D ueA>cGy)"w vecl?G<(xjVAM>G}{/繤Z'`DF28,qsBX#.URJڽ aˈAe8nJsOqb(N3E|֖S`.o ia\N' HO~^_ 2T&|ԪAc+Ql]J}75r(JzP-ҹ/ftq<=5@wO|2yaVYw (D=1)z@tt_#a Cxc͌z؟d(1H&j愒,iɒtYa/&e.J,SzQX߄E(I RtW܌aj0jBj rE1< PTw쓴 CY Y"̠6F\{Һ'&zw@LK(=?ц?8E@M m*f/5mE wq4OV肉U~۸$o2P>SNXbňLΝa B?p5( UU{.O-rR")IBނ0gHώ2^1m{lLdr*\uxjYlP^<ԊlMnR Qx {xf ݸ`ktVE,MqT>M0V3h|wB)ٟ|EGsCD!-J:xLs[]{qqoFG V8^vemAz *q"rY)x=Z—q/RhE[WܮTGF3K;j,)B /bK؁(C̓_Rp_ߙ-CNB-{ZSK{N 4? Dw-Baڀ0Vl+լ"OkU5I C1׆D~ԺEQ X!MSz*{\tD~"\E}L^)8M [Mjl'|ӎL韔8WC(d^Ts'o> }sa"vT CٔuE~leR"0>g 2rC]zu]$BިP%F/#*g_P~ .7ih[5n"۰1«K|&_Q0 lm.va!!7XNm9O/|D;H\"=(uVs'g@\mbi. /l/zIW67~Y$. D{"[<7n{V}< 4<6/3!7Pk̶լr\[j~N[FTΔdX,& יIK, L?$`F~nҩ9yKg {%OGXBI.n?A: HZ0,Ӫ X&_SsZti 7O gab\*?(&+TVAԪ\c[?W+iwm3t tXp;I۫~ɩ l{({>>,ĹqchZWK ZQ(S0B"}/o9}l)%πK޺N3҈rCHhvu\oF ʁ NBɹ +AOܾ Bu$}9 쫗3EL0U zd -Eߎaa=ĕ59Mv+Jr5*GPj\j"23 {f󪿋:rk=}#jV$ɷo+Z1Ȓ%\UA_ʝ]NB˯Ϸ>G@ 7VƿVCxt!fVB<Fyʭ ǷYv_8W]7"d XN.rPQ]#e!&I4~q /6"'XqG#_kNN ӁmSp962g Kgu5$y %}wa/IwJbeը6^#+,=>_Őa_gF)9 iS -g&Bͼ-'I?ga&~*<j[jғ]-E&G h;K(-dJoрCR@:u|޷Pn=wK?l|h2sN(6+{,_eEhLyzmHLHmSVe]7&IvƔc{7>-:eNw9$oGj5}S|JI|WS'Ј?xE7 3\g)9=y z Ej i"7|5lfkod 6utNlpMy03-uޓ,f#>KEd2czv^;;^!~ |Hv!V1RIP)(!^#uMA._ }ASҘ}0&cV#:x(Z(?kf4)W|ɗH@ q}+wMG| .zlt PT0񬇏z(_ؙMFW ߿};`}q |I'9 %/96bXD;ں_I"QF±(pKi6m173wݺS&; CIkD޴wnrİu'9Ώ[m"w99EMz]`/r>'MsN(i`AT₵2YDW; ~*!\=ˠ0]Jč "I/.q>rkJ:.|mP2؂p8kz--Wo 1Xt%\7hëHe(f\~I 5wh*ټؽ<;!"<'[˓HےGWC4Hmڀt:4PJM[}pW"^m>di7}bGyC"V -=ul$'q \P(M%oce\m$F? &HaTt] 0]){qEOc?N@GTPsJԹ:KJ!0g`.Ŏp ŝ+ S)v!$"ȑBB ]?1fI׀@`5R2GcY<($$gIMex1**b.i6YtbR8&pA+qg!cv+kq8* iŚ쫏; pK_1q{cǙD%:Wbv@!R@|sH0 DhTb%{2>m㯤1:[V J]&g q-!Y`E/&u'$mM._Ξ*$^Yk˝d5hgalmG{OxpR^xou^ fCʛnL.^NRln :EruD% = V^GmP1e=m{xWz9bX84׿|^qy='EyX"2;S=8n։ 2s6PLRXa2~6[R#*wX@p퍁 4?N=q=TWcR*YV FQ8I&C)]{F,њ 8I*fx`ԙt~m%(UN=i_h=2`tMwɱuwꗛ۞l=l֧<ދ4[D^.}~V@@m[5a>\ڙX{ȐX-gGr9pq2}eN| tݙy]Gɥ[FWsOEr7~:✻k\r}/r]`I^9HrtE+L5|= Adh4L nJisqCJ-2t .<7QYE\УƜ[dat2Pە z; 3\^m*uroY1}*yF2(Oqr(K"$ſ|OPwѷ IL7=~]VZnо(ig_kǖ5,_l|Bt=<uT~:0BB / Dt9y%ɴ% FLv҉z){&xezm٫8*)zRܢ+ƒzrPcc{s*dxvh@^ز{}(uSIV+h#BY 8,OMO1,8 Y:$/X#NBcQMeD-y1%u̴㊚R{?nʄ\"OF# w(EK>sjM{28{'\7nQ3CzؠD>*mxrX?wFɩtS0 -DE3ʴ>S5G5[jތ*I>+Σqrkœv6a(v: :A"f-HtfBF+PN$f~罫&MG{9Ҥ5MfdƠj裨Soq|,Rމ8e6֧A!羚V?8<4=h{A X&7?=+r6727U3>Sg~7~E:UP+ W_Brp!PyHs-@Ŏ̤wVCfh^ T6xwh+yLD,ߞ!k%\7$@GwR\ץ2cxK遹yN b5RϦygۙP'!;q;t~)Xu~BL'^&]紸.^{Sj$BV}USFbkDfi79Tb37x hL t(뫻!°CC<ٵI,.Ke/&MYt7td)YGٮ CJȋo:~ ,mt4eR0 sYmCV×c"A3+]FHӱmmfQ+_ߵ~dW%~τB4F([g+JMv?M&`Vaq5[nx.XU? 4?ԧu퐽^|D'^'' :$ѝUI,e_.$<~i d9s1i>cǽ{8*Ztt]7A(H#> ZMes>2ۃA\b1gw.?AGh1^R)+.͑ RJ9"lxЅ(ņd^ FqZz6N uڭ Mu<ҕNq4NZNjif ޲%)=2 `ZؙACc@K6Oc99aTR'cc% ;ʣZiKM`8(̐9<}QtgWі.xZYWə| \ܓ~Cf07  F;G3^%ąe=gmGaZiE'VQ=qܦƧ]}rv~I+]o۞;1wߘɎ~,7eoIlHz> ij={' osQ;-6<:@>윹.)ѭ.#(An͵/QS1r(C~!}+vBT?IST"Q<:3C4 9cxk oSV|#So l)/0Msx!*\iĎcd?x/VKfM 3}k ]x~2U?- OVA5͔6AzND[MPI2U:QHj?^2dzN h"6Emijĉr\IܾJ2A>c*ILH˥B0$QFbYYk^f?%YMU7YD&DBB9fEΆqv/X9zpe_&=I Bj5oZ(#8 u ӔnUO%KeJÛvdZ#L½8EKg`.E5B uWNkxJď?SES 笔zAAƸ9IQqi.\퇮 f'.:V@G7F Sɓ@PJhӷ÷'C6P8^ˡW@ +$$kN7Ϭ;InjU7Fuz"% U~Z;s>U'"fC[sk EbxvCվN(s̞^nzf!ӷΐ}V(j/kE=SNeNR;RDf#Pݹz:/F&)bӞ03_/jxYsW]'cY&pS_ivt-iR;^.ؠgY[|Nr0r/dqB,<rL># z%6S.X+s2JʛT^L 8?ή){Z/GJ%g8 7dJp(XI_z0Dߍz::( q5wic4C\X>KI"Hi/[̴Zu1"|Uܙ]A碴)9/^67j-rzz(j̦ o X6'͓/E*T;{ I&LkKm`/tRr,w#;g&.Rit,dB-0%^̪cWٹ3w%73)gIcFMvrSIZSpH;6Ym,򲕰a<+?aҜrђq7S9?p+⸘q?Zr x(:_ࣸ8JS<-9NaSM _/ sG!Suy#0!I5R5?cxT"J$z3 yFC+Y\ěPT ٹQkbLQ.lNhT:`2tӗ4 xkͰ)P'.Bmd"%{)_t<} Smtß(O, sBUزzTƖc)^ !{Y{R O ;'#dv"q>-TjPPqLRęiC36ceG#%|vDC>7*jF5LE4C_'=/q)W`؝EbJ+Rp\H%L9}ўwH_&dRcj iڸe5ڻlSo12\++TX;W?}Ӆo u? >o hffgSM\6OHDW[랮[m{@0G`ntx?,l}whW97؄xjK0w7\] 0hor3TvuهfF/6nQ1k^ qw'T78R~:<AKVָ42)vFԊ{E=`(Cd|[g3R َ |룥jiGoL &pw"XܰK&E]0%͵g{Q(CJy`TC$"0uA]?zo1}"zskn\jGޱ:?L0y o72JtOZ~a\t3?O$)EQb# .Ce;T(@~6B.W;-ӿ5m<-Tl `d܇0;qr)u{Į RcefQr !w?hЫDrJ-"ѩ5|gʌC|G)pk5QG |ny5ܓ0M h" n*:zͼH@w'TiS]"f>W|_2s6 @T 'xDj sk^ߤw$HX\v¬V?L4BE\P).8e 856-FI{wYEqn)+֗mZٿ)~hiLSC #14)k-J=psEL;,%d>(1ZToI&Y>LW|>_u!$q# Fp3)C.L) ֹG]pH2;SVUDӏ{`yAN5tK? l_="~#Uag켷" y?ЕWNv -L (_ۂ V|/L6WRFnY~Xfd.#.WrE&*=8fI( Ӫ'f2Ƹ71b^#:}laTuG5\b5`k O G>,H|Q-.Nآ. 8cIٛ٬[`X36]xPYr\|PۓrIfhtۅ쬑[uʀ1TR:1 7&LmFBUmYMe&>EBnT+zu 6S71a=-UP 8;go倲 %)Znt~x *œ'ɍӓ֏V~5{6`|Ez#mu1Ҹi5DWքȶr"ʙ]WT!1LT7T+I~VBh ,Ru.{;p9C`ӡܢSf")"^ ^kJ-M[Q!1xA#]͂vSgaoax a.цnȚD= :G59"e|\ ~lAX*ǝD>᬴feFRKQom8]bA%+$T`^Ҕn|{fD'C4EײE}sr3*252|,RyQVX[yL"G)W8#g9VV㶀8x[60]w`|T l8va9iqH|X" J\GD|FjQ l> Zo hv)ʢ永yZ WReptBɎK(%zoh@DMa!Jf~e vZ~a>:Ah6ZNat,s$7Vza+,"-yi)Re:fSqpi?J1?p]djjپ}DrDAl#y, gGBmaBMtՂ(OݘF$ȳ\}4@C+=icjxJ$A7gO౔Ko[jKSb)bNqWX\~: Xj. 12_Vb X}|"ְ?@+S0B ; ˥Q{%zvQܨa6lboJZ_$^HK yqt3/lДD]Gk h+OA}'uƳ,s~Uc(SDٔI50BR{ЕƜ.u *0W0/JQ2G:V}'4hL·] ى1gNZڲ*k=4b B@G8Ζj V{ oY}c:e v~u`iS~]܊-֑Rb`ر/ .;<[ň͍vO\cvsv4 .<;Gׇ^}15샻4)n;0W88lZ-eU<=aeŢ*,{f E'* (;673 ogw]71Yv\ @P0]B¡Y81~[ŁaCU]1aWq?g$%,<_D2%Յ:[ƼrPf$|)ө˔t@?ihs$۱9|3sZR~d9Z8#axpEaDoF]јﻝS,!/ =Q}Fnl^ږ6Wk2ZE}M/Z]g7 Zm^ ~>t$:%Ə#"^e ;=Q%Nh > d91^Yĭ+uZeAV{+_|Ϥ[SthWiᲂ{{D[b^72!.VAS)11sܨgڣ.rq/m`?YQi.Hk Ѕbۍ,BLs5 ɥBj_Al[yjZr!Pb;tա`qBũg;R*3Ҍ='L7>rla:gJ `)9ѩE$黵[,ElAhJAn,ͮ/@z-Wepv|odMW$k;Na 2!cvɵb\(y7Y^@=0qQQx!>ڃwK I4mK|m PǕ82BX:!ץP@ى.(K/"J `7*>)9%cսd/uZt˄e\ז|uJx,I9bV)r0fRZJ z9,OHc)<t*\9j(e}]L2/g1l@ghkߤkq< ۶T}d#BXCkZ@ + tL% -$[;RIdqrzއ>j+E!dUY~kЗkunXoBn}Ck;?@cZ̸qk, Zs`Y Nܮ}ac 6W(~^~ sK/8⯿yFW[laKHK^};r JX8u94%O,>ج㶶C~-ZHˏFCyIy$U&^)o`e9 A  ~oz0)i6Ь832B{%7TkCsޝ kOv`3; /ӿvOBmH j!;F9"e7@(sjd)9))'{  Dwfo ]G"ɭ rҝ<ťmlFWԦ(E꺋IW#Pwe{M az=[~?OBŌ%rOW|=ojuNm1(r;QG>lZb"F̬Jsh U x/t)3i@*[ iT0 s|V 9'?r5 X%Cn0dV Fu\&?q̏ޛy[8N{+ rnjHld.dz>\|.}ޖV*O+#\MH>)7W+"06\,7jtx5k KOB/l8ŏKmE陉,1j8ox#glk(]s{s$Sgw>>:li5k6MTz&פ Si)ɾZJZH;]GHÁQm!0Pgn5P=ӄTsP|U&@/ T jV2V)}~Of.o QS||jυF͛* 86²8",hM}tIw)pn}ϽGɀdTE@p"I5N 8b窤2T8iMp7"k{ B 3[@L*b+Y0noK&#vQcejG_cwTG ` eÖ(ޮ1?5讝w>~K爘 HҒӗ+>xQp.4碎~} 8<l>KWE) TiXF舟^6rU$guveKi!#qF gSd_.w?  R'-OgwSEWy1/EK_!#XHρr j"˨i)`d2}G %EX0`ۚúT._4~ٌG($3rdާ@3?mF'AlFg)mbmہ1[bVܺ}XBw̿H㲡R |Pʥ[ *ƠjtDXAjߛ qvp's)"K*1f/-{VOly;YDYa}v'H_>nlv  TPܱ==izwG=T'JMg"D-=d6KH{clxo(!V +91jQ}g^=\; G\bRǵ4vѵ/,۷&ޤNkp@XEF]r#L$k@;5Iq|L:O-"Tʦ @bmHdWX[W{@˹MaԹFNSQk1È=!2Z xOAQ#&!5~L"҉PvռcWMv^*|P x`, ww*Ld< tw5h+Og}S&uc(ֺ@T vոL>+B-\",61,7`T D+.kɾ.9!G"f?ŎG> %?]T ٕ'BJecw,c{َZl<ۇ]_l۝8Qq=rlkh\Оs)jm昰aG"π`4_{OHzx Swgf#ѽ)mJVݱHuK{tFt<; =@XD}C1Ň {KJGlU2J|_vģ\~am1^yjˢ'oua^Jx9E [ӱPCê/C όXGo1&`\N&u"0}8}q@P%>[҉^Wj(R ;<( ɐVg5/TkOD@Gd{ƾGgtvVP(TǤ$ Űtula~ɑ|12VKb$2ԫAdweQ.vS7Pk>5>~Ȑxah;^D*ӗsXjJa‘Y'ҔuD$1~F$քJ,D}g?q΄=}mnIę늚k_*N\z0 ۰AՄޔK]Iq=ً$} \2aPƉdC6֏rwDmnq79NTU#В\ww|tZR+JK7*W-Дshuj9%=RqXYOn$xdGK-ZC#rPJ)RT ׏iI_ʚBFu{#I;#Q≷wyB3R5lP~J '1\^-ֻ*sP{ޘH8рmO„?{Ra;'y}pګ2A:Qkq">iyй: SǶ`w),HGdXћ)1 t6qZұMze6l4+00J륷m}/zKͽRnO #FVhLsIs[ѫ,Aqvx3aUŎגȠvéPsE͇ט]E zWTAF0oYv j͕HG=?wAh2F*to ldyU]Ao(ӗ/?!DXʉmF>#627.+x7n <`X1UD @`l/Y`!u9¶$t@Hu檢J}L.PC!ye^5\k0,Rѵ*-scZ vX"Mϟyw@ O ߍR﹆?o{<@2,0˹xtTMŤ\ H `0&E V1/-+!Δo>8 6'Ձ:LMX~JUc?ʌCGJ9FEU6@*13NNZfDzeN2v pOEF_ w@msPێ떳<a*꒦]!l}a)%JXI E:2S@ᐘg)7//M_F乎Cҁ#boޗDHVMPK|lYl=T Aven.iconset/icon_256x256@2x.pngUT kKglKgux ̼ST>K#ҠtR4Hww- R" Kt/t/3ߟcffs?su_9n 3g [ zza.ܧn_5@ }͗_UL M@nnn,l M9 @4 Y)/jӧЎФbAxWoƱb_aafUW " gj^!o<& ?w07<3n173VvS>kY㡈hX!7^AX`VCظWuc˪\ e]$guX lII s̏2/L.{"{E/ZYJQ0d x9NKD=G9a6U;aF)uF 7Hd*eΓ >mԳ%$;(G6WoW]N(_C0f2U+?11{a# #4Ea$$早c>Y*< 2M,1}@A"(Fa\ _FtFP=: y!`o)f8KAC1t9?A }𹿋־,JiyUɍ=i27ػNV-,C ʍ CG!E@־ _DW ޥFP4vO^Kg%E6OA(:,_0_*!? ’:ec4}h1'^| Y3qQR m]4gl7=Lls74p,9vKC#u1%@(]r`8o%DU .U}ϵVOj3ڹmv `ĮRXk1r9|ʖm`D1RO2!8]x^CƈpjXKvߴxYR s'IuJ/͓^&v M{m@-b| [{ 7M!טv.5/?B-Z QOm׷w< #,vAJwFS6b:si)MBiq 4Axr%-V|zQdxVW:%|DnP @PѺ%|A:vNJD6?gypz_*!GCW+y<]~q#)WCsOBHjnj=YJOT3pRݨhYWlc!P%`.3-\2*|$rKSzJdD/Kѝ)DqH υE[Sr>]#'+TCh; QRdNn8@*ܿ48\.sτ$S?**AORD`-~:B*( 4lAS_oLT 5 \Hy08dk,qQ.ģ8J9~m~nCsJ EϏs7˟7(\򴊎3st*ѦWR? 5Aq#9t댫'a;%x8a,gG{/`M<6_X vsitڃ  g,B>6R1=sw= y}`(j@?mcZ3V^[N6k5S[m} %V|ɋ߷Dl rǮ5`h*zSakeOIYUU-84_Ӝr3eOb,ŞiW[gT(GSZcF8!,d@[B@ͱO91tqT#➑*O7OK!@a=PG%5荺Vms8*qWy=g^*"먪d6h'e{М +ɤ\)8T֪e\veFfZ̋ gzkY`$]Yݡ5toB5}zSt0Nl[iW#h5oܺc'LʎoFM|L᧕P~5~]|"@1C`HvOt L4ŚXȢrpcܜPUow2u3XVO,EUhٓUʯUߜw6I\8;;tZlx{_tS)׾#| .-~0ɇ™!NJ[1C ]Z&I [C ,\E{qBA>rpX]=GJӍ[YgLb$8e&NۍJuxE9>D755ia$W,Uf۬_@54k2}}E5I ZĭpXiZ'2bK6?_2hL1In`^8/6=x]IZ_F}FYHRƼ g]lurRyi?32ʳ)ɭ.W,nSɔsVJfNJ},t5S>^y"^nF!8җGG9m tx81b(W̊6lY1Sʈ 0/QVx[ Bt_T; e#.#Z{)'LlBO|W5ϋ|ٸZ`H6X͎.՘ Ҩ+du!}}͊t)AB)cVߕ&^z,E;6nϞ0SDu\Ɩijh"])l .gJ$n>DvZ@GFe1^l_VQvb ͮFJϼ u:nKeqۑe=0ЭL c6JsEg7'νJ#jZ3Z22VmF`Cs>M:X"4$ rXx~!C7޻Lks=\Yk"xzw:<22-l ~z#8+p`4Wi=g&Xku[;Ԣ:Xusfbf7Miv͈3L?ΙcP4fzIlVr p?fye\טPPi%+6׭-YȢW-Ts[݅jzҲ13>wF< s#=}CMA%p9y.{28GlP#uߢ` [ա'mVg-Wp" B8<ے3ӣjrc+T$}$"g!3"\ƭf}=EF1…x=^0盷-#bQ8Q̐h ̞a N0-5HIUЈTS3 78_z#JIEl[Wy/tHo0a U)zYqzֽPgQe|Aj=oԇ3q"".VNI\`W,&8># 1I9l: p1DbE>9H˶QhRH芋e>m>[ОC $t] ~|\d|$зsw`55\t;*m&?i))_1H  +Zhop'G+w̻toPm16]]{q_z@qt<qRk gN[Gc ]mjAWy,ڮj- o~*帔%8ww<d\6?ypu) 2~4Opµ}kKʎzrrj1 ji(#;Ad=x LkO׌trFf̛l:$O6aDzxIAaUkGx%ڌ3Ry},SXo/^c[8Zy~, U1OM?~@0 jgBd8%3.1;G::*-#mʿ`2CY&-kN60 DþZ K6"杫9#/%N1 _zJTh2wxU?zuqy֐A8,LII5!7sz:9 aa${pxǢ('>]QBY}6%#}jwF}gvbt1 &7P?NKO!Mۛnݼ-hsRh^I8vw0Ivذ~է-$Tl(M|gyh~T';NE)w.ɳ#KTsܲBQJk^9$ فG;}{gokHoX60iͥ1b7j/$NT P7;>dwWQ\1 G:PS/wX瑔XOw{ bO&8y^Y`}^ݾcB&񡲏>%pFg, WT0 _UoYNbovЩE 2 b#Z;_7z?z|Uz4 @B\z 1_"x Ѡv1AIVi<0~T/5deeGE!XLv7cr@ݿ46GiZuJv f?S=χA3ru7 %`W# L­Cb-L~2Y*ZL7v/D;o鸉0fFJx/4udh*DZ9W〨Ȋg&cb=[' >IcTC<˲`Oxn5tss)_yƃܦ5?\g LSwo"tZ0l6_3pXkQ9E|uPo|q89:=X f28pSbr[|b ߼8ݽ!w^l4̘:7Nr+l?ClBI,_Qrƙ RV SڿX~~qqzOX9^mi}}=c#4W^|IwE`Ǒm$RC1{QcN?pd W\_i_/[[bT\鐜N6-/1;e[:!7юO3qIp+F1)bB o<Qxc,p_k1L첖&_]thd#=]އ͊时ky@$_ PnmՕW}+ ^ ;u7_jlj:3T`'IIWӲzp;Q27㈹$UMꎪe/lnLzh`!izxw;|~k9^Y 8CJ>!ebNou.Qk${/*{`. -7?&}X"+]]Ip*uȐk>V; lHJ&:չ`BY+E} /ڇHő-~;JtaBw~?DrcGvLmb/Z^px0;%@*[ٟo`1?߉Xx_#䵥@,U}D@YTMUՏL1!# dJ72ڒ1^ SQ**OD P4g+ cjLyBxE~#'h ?638_ߓ>._N'-NxVoAby3I6x:H]D K˅$`iX\_߅HRmnmJ%u9LDq УnrkIlg^U.bds8L;_Zi2d(aA˛!P,ۑդ)`S2C{P|BYs:M\HU?ۘ[c{SVbë5_Nj[ӊ"̤F֘yujZ->k6ox voI b3}}avIaksmQTx#=+c{w/iJXZҩ]Vgvo eKYr/ NS0I,]ᄌT^|iuWJSVg'0 <_k%CQllga/W+W/+&ּV6<Љ.mA`wQ_\fsiCQyyUEr 7 D)3uP\,`[ַTv`0.psxX^yWÇ"k>Ѭ]t~Y%{_0<@àkPWхLȥ}Ml{hGRh|UZ??P1*KD~rjȏƈP<q1L ߗ+(K5k76v}{D$Iu:.[zUɘЕkf&,b= Α\c;e$41 SH7SN>+6B%QkW~+mGYTB% Ydo9d ()D9=(c  ~ns|PSz)c_tF|uQ|:gAN'Xp²㛉7cPbQav7gV" p=xͦphPpa:EеV3N- ,uRx^qEs~b )￳^Pl{ssupťtf1rv2O fhX]w8\4qK2z9i b$ip2'!k[bTRnx# x Ze=1J榱pd gM;R4>B"m 37W/u% gǫ@EY{pmS@rsyQExӑmh[È*;gRyW72&prk)>mIBѰJr;N;:9yl%倡/sOY:IisbK&$SL =/5SMo,-d0ENU bZ$YJ Lݪw`0@I%& 0f0 z[h7_V/`X6OG*.$gvGk__<C /; m٦~Y"&us͇ǫy^0&sxesGE훝,3MpޠcZVlmĈ^y) [u]5Ihf :s7qŻ;hS1TI}"o'{h֫Kkp0(@IrH "<~Ė2 ^8J~"Gq? ydϤ9N?: R80GW[r-<5gǓC_fڕ*P飦*Js_zU߂gۭ=>E#xWP Br%P?PKwؼ(ƹ[Gч*`onnq1E!++_^iMaPHE$C5J;97oZ\Zn;ŝ]dMnO1ss{s+*OB/xpurI _r)m>A<5F/[/9?~-Fª5sv  Tzρ{L 5؃#dgq:P8 * 3ڼ{\?KxSpܸs{aѠ@lΎcCֆFļD_ : 4 `*N'RbSWOnP{ʕhʞvM! 5ze&S#|"xoD#5^\ٷcU G_sņz&uqUp_hBk˭f1dv4(ѩ]]]Pǒvd82esM̃)c`!`W mm>-O;*!xr~5bz$c3} H.Y+xD@GxDHWԟ/6btEc~x_b~6A+Tzl-нi@sfkIwiG3q|zTsPb~UE+F %\g9&\1+t;}= n[ 91$ĩb\??|숿888x3t;?EBTr;TJ$H̓dz> 4 a|T}i"0ƉSJr#0 ]p]H^:ZT$jݧB(zu#C \f2: S3vBUI̙fw^kCꂕ;}h9f&G@\t{Ĺ񧳳bZ1( @m( 1TGc-{uεO* M9߽cfn͌0=n5TP G3tZ|J16nwʚ)ְ[j,U ЬWJY̫~.O@54]-8 7;qMLH8$&Z0%t*oa-FdJ닞Z B H ~&)fkuzF&_~}hp=OH %vd)s,${klDm^ NQ̇VQS_V^Tdwb T@ 1>hg מdDIM^OCdkኊL|VEs!$f/F;ŞQyx~ZYW ˃ݧG jDj1d999B|5iCzJ! _B:pu^q&*1e["E+! q[ua~ß/ek۴ECaMFF p+]@c?wSW!man%Պ|tp0M S@Jgδ^hOk'a2}~-x*CЭxB{h2)(Qc7Kʆ+p *oLE[\t۟r>ZlYil[V{ C&őf6Q縐ʝPa@|lҐ2+Xu WE,EE@bDRQ;E:j}v+Bd<|'ٺ[,)>FNP3Ilvt*9+#+#F2-l2=OKg~?ޢppO -m[\pl:ҳFyVܹ5;eHw*]fNBPU-F[apX'KĵJ>ô뷧C3g%ZuoC:s|tkήDhjM7Abc+1BHMM.X@L{!9*[J7RE7G)OVrW.";^ZugCl߿߁)!_Qtٴx#W`eӥz11-DiY2FTˇ/_ =^o|)Q Kmqwdqtttbw&PqGQe3cw)Q @\]H\[-U)kYhJY]F9ƒM|7ޮ_h;@rD<@8MIX3?f>;zpʦ2BPl"WEU5'mﳓ'ISKp]KGHe *f{ɂ oqItsgggzSyL L˻Be jĨ2)ѺC͠LDLNb9KrR<Zﳯ(!v]EcMիzw\i5fuBAG*+VxOcO &\F [>clq XɘZ+{?~O$F@Ͻ DD2RLz| ΎzӉ SS AHC%Ç#$8ÙN/g G{Wڮ\f<3Á A{ܴ_60PGTM Wj4;><@济_-+5Ի:<mux."8-*+2x/kLᶤTT?$MtR'!2 ߞ:gŭx! $-gZ)LB9lw|VE>{^ϧ٢SB ׇpxV(T`*a[`旅;^dSWw[x@UQ_3we\lh=QE0ZQt Ъ[gikW_bujA O@}hpwG}5]%H䴝,e*vHA¹X cuP)7;^o,͎xTI\.ݲ%t%þ`z˿kK¾(C)I_NU+DYnrt£Bvpp@nn4U[M{}m[ f@`9;>27I!59\f( Ԯ[Q9lyT>:忇4g9Yfdk絹uC79\8t=z?a{(x[ܲ]Ҷyܪ᭓ {;b&oYno(@_0 ^% L(ᡀix"كpދ{tٓhK .fTiK|jqsM_]iqy4H]?}*tm EW1oRilҋi1n  QX@a?kKRw Qz`ȼk@-%yGy`R{T,K2RK"_$.*pD8оOyĦgVcZ8[ϲ[Q0*y+>.S,7,ld4.G-oAૼ<m/~Q[v @S UYzZsݎ(U(%Iq7f6(oCq*mvvU1:cS鹐i<ϸWJ8؞b8STS~w<}.)1Nq"kFvi<}ҾU.pq=GODw:An&,%qkH!|#FEXDՂYMNځN I-XrU.Wӈ#TMfBE2pކo! ңۣu}\攐5&y;Zy%t|?0e1^{6;P5):Io,UG\kzl@xےn]@зl=Ef׆9jyQUU E9/~~oif8ßEX Ve4Nл(ubht ~6CW>~ܑ0^lh&^n'uMޠPH6أmC^}w#vULa&pwhw<,J'1# o/v(﫫 k.]c+ǀ3c)2.%,wm \3-J 6.?z)Jv]' lp73ڔmj߆;O_p.lfųLֲFŁޣDSBբeͼݢ-@b r2kM:?_2=P_R:4Xڇ&. 9~Bz4@#pXΟ'Flڙ8O꥛\T!}i(a_kFί*Z`S-G04T@\CauXM>fPûZI@j.{F^}IrA'@׺6EQD @10bSC_\; +|-&#ғ(}q$n',*1O[leXг!?lv3>bJ8^ffykrqBY=~RWӳUc5#`"Bz#_g[Vmzuj̐hr׌<Mi*~^Ȁɾl6$VmM_tF3p^S p|˵49^yՆ|kH=IRSV~sMa>0w?>ӺR Sݸ3e{{8ۖ ՍR@ 쌦]2Y|笃h+Ɋ5T7(U,wI.נɥXSۑ"(ᢪqYw0 ;864y-C_LB:*[#pw =RsE˲yvHڅ Y] m3m|ynbc)xkfżMtu*Eh}:c,v_z.?dp4aq о}۩)Jt!6tjw/gls a"g3s̢D/v ֧@}̴|h6[U/|?OoBOγX[(EM& i9d0T8tE2Ъ㕀g.XVʥ;713?@Hk0y[BX_f?&t1+/"a)#^$SK {>k-^sw4A8fcJQCi)9yMOԎk-.rּ7͢c3ltI}]l_KzbԀ%oyz@TX?3\f5c 10QkPDoZkgC t>8 k}`tk@y_87>!NC>Յ=` T$ f1Hzlq]AcBytYݼpu"3w6եMA>P{O~I22o)x7RgfKsӚ{W*A vo3$'ƘaW] 8b:;~x/&ڟ_ T.\+&\jv֞P)=}cT].bh[DVEF%@ U̷ C_H|+&bƧa);28b`:tu!q>ٟ:8EG|du x4a#ֻ3~mE.0>.?#We %޻_Vm@mkY $( 4bMT%6Y۹$Qnۃ'7>VU.b?+RczXCs?Ri8O WF02Af7,35ۭ|r, $u$Iu4 I2I#vbJ}3{@4 3Uq -+/,LZiž-ɒ:=vEה= `}~j, 7)0dSAnh}?ŐlØ?ؙ]%YyFZG^iZBK;G8 ɺCDP,^YL GRb)suDO mye)o?hQ<4ƨ.yYMGZYwuķCQ: *g&6:NNJRkz|X?8A/̌Ms}_N+:;Shr^ddo ]#vףxX)Nd Y{EU>_)4Ws>I{?hg˻au%oϞ*] Ia.4{3&؂#,fW#9&ʿ改&䮪pgK4bkE;EI#7^?|0[g(1&:Nsוm%r|n. 1'٢>Fv213")/U qI{%߀ tóvzCéAꡛL74qٯ_=i`쾦iR)%dq^=cheVeƲX$]E.idj*M#=?ZuNP< ohBM?4PfŘ ghi_ǡdF: -M Ƴ\Y"}%7;:J6s9Oݳ[G\N s?*|tB+ҰjzK"+*?3J{Ep:ĆDU(𒴔 T/Uu98M-,H޶ OoٌZX|QGZGRĶӶ_Sbߗ5Ѣ'D~K3<d;VSt?P`;؁lKgJ f-\y:zwZ1z -m.L?ް"rx.e=;+ ^Ȃ޼Daz~w*UCO0dbOCĈ5r#yZr>屩@źᕵύ:# :;;d&?Yh⻜v>Ldȑ=ټJޝ,'>gQհt\_ezE }G75'(}{i*vm٥vy-g:{V= t0!"Omtp'(k<|nl\~׿$Sj 8B?Ǧ::dG\.86-do\/f%n!t Ys_⅀?BFց&cu`0Űihk!aOѬV+~.p|)%1_ŴW21˿i}xOW- zUEՈڨxIHۏixwXG1kaC|(c?܎G[єQ^@!Щ0*-萲*۶/=Oe'| ,CIՑ e2 y+9k G*mr#6NwXϋ2lr_)s /S4}X/q((q]n? H ؒA3LO@X[y5Ϊͯ^͆'V}Yj~8 VL/آqE2lڀ ^jDQYU2LKj6J_7̳ w դN'?#,BEЖp0n Jm!B _$'grY֡ G%$QK'ߍmdkB%o6h'l@f.r|}Jc҇l ̛-5cE^B U6H6.3JGw7ǍyOqh!so 29}cws-$dq{!G442HrtՓ5E H-?/sh$%S oy7|| N7&za q"|8)jf}ijZkP;`-sW!>w 6 Trd []™Z:t1t.H'{F5ֱY냚o|;sF1 ̗{yX$F}H~Hz癙 Gd(JrF1uSԵ~FPAqq.Q[?Mp#;]_;Y#5%^~wGv>ֿw|v+TžMNfdOmD.TCr 7>ɾnݨh<^ CGɦPl$}R-S,͛L_qpI/n$N/|M .bkCASEJwiH&5=愵"ۢ¿뵑u Ͷ2'B\-9)=7:kyVMPа> vѰ.W4?s];fJ\)9E=ze~* ,;eS}Mjd=KU_RTn+^_Ƶ9ΦK~9Lf@񄬦钼ٻQ!zLG8Qk8Rk:׸)ς[V#FjV]u~%bk/f@~U娙1mMUHfyAq$"fC\ڂ9uEPn-IWy9>N;'çYy#f-F⻑1s< {Ż7~"9Vؗ$Dv]P~E_A6A߁yRmX64RFyѱ ]&N0S}+w3WrgABR寧F}|u6m]mߍA$PYƂ7bvMAD|.F]8-(<7NA01\=T2 ^In*r[v@A6YsC;~NDtw" @2+F\!sUFz;c֫2m`7;Nb/Fn$hpQw_+܁bk Dmgj-IbZHc6=唿swIo7?xwl7yEY3~TmGŪHw=-H_{ p %3%azW"Ѥ nR6~BdqX2-ࣂ +UBINGN;{{j/IAltpR[ A\29fx `rZWf%%$\Y{=uPxƍU6F^ޕ~ehav x3g9脮 w̪/mo|;vf79'7Y,S1 ;n68 9YA)itȿ+ƫ_gG l.@,7[ؠ ?KYЁisKǡ`Qd} M;=U[[|w2EU/ԎXP hE-:3^k20MQˣ xFK5At ?2~ # r?he0P󟗏Sҽn]8c O;5O5%Utώ'ٮ[luv(Xҡ)‹^߉ۋ":P@|mǪ+NÖ٬$ ĝr8o|8*>K&yW6]a~~+ _OS6 v>YqS&8&Zu jt54nZh 5QkX,bc("vJ9֗蝻Z ɨ6[{cD[$8ʪ9OY i6߀ͩl/_`Eoﮊ.$dcyg/t!2wPTl~|7;% . S*A}X58By/V#zE4{ D)s+rxWo'k!'=oY+l΃F5ěGtq\v C|y{tj o:T}y\ͩNNn^m7׍]J v2%i1}+0nּ^񋭔ވc_D\$0Fv1[ȕ&IO4dN%I׍f~ آmJVwQu5,vA-TawJ~$92pcs1|? (uCչӽ)Vﻰ^uW/Z߿Y6@$!vRrrPX5;=/952o(V\rҤju]f]^mw]iZ>eB +~-;!j72O kɺWMi>G=O:ȖX{}HP(-rp~ K 2j6FٲbTlw g|9›w\< ,A;<5 R6(u VYb. *KfS/0nu;µGZ{آ6 /('U1p m"~tIس##(5[ߑm~⊑V5?c)]_)QuxN&:Ts, 2uȆΠ֪])xt#EßHhV+w .t.T;\[AA+X; Tѓ+K[ļ5/|R"ylFdWoڲz+0q_\kDD7=WJL}./)#rˤxOwtBo/]``wGVy7e=D`;XK(<^CEvTw@KCad%L߽^û~{ɧlx{v~nndXVJM&6E]a?kPpj OY{ոe-PS۵Lù߆/Ic"{)jƮOU2"5V`|%?x!4SXb 5UJ0GrHi^!uᝮa6BBr׍lO .u[ O ~$Tc oEƤg[{ezRc Q/<-HV3_TԾ9ZdD 8V~VxJ^tg|$ N̰V⍦t'4T's?;EA(*j)u a%k[IL(›n>tosx)cM >z^#VQAblRH'ڽ4\-c[tt>wnL-:C,( &oMy. =Cj,Ÿ!\/Te>7~z5Io h_#-JZX"w64@F;ޗjk`az`N)9sl?kſ}ޮpYipJ;, k4!SjŬЙhRd,u2l:롰tӔt+4TR! ヤ?xhJx]NU`w$nƟΘ$:%LZhKoRGG"P%$61.G|3g淚?i|lDGפxSr *bU1Gf^~3S^l1Y1ku(Q h< 5MYeW{g&Ԟ!n'C+(C?TW9wun,ɾQkSOݷiV gsj ̫3_w'YM5 R,HIgJlC /Zޒ&APJ9p( B>wU[h,[Ȯm-b:O t+oDcmA88{6I}$Lf8ê/C3~n>7v>.|/F cQhW1 "/_9:VX錾 %mZ B xk?PiR\hHᗵʝ{[&9yN;Z:ߞ붼ȼaA-maM"_{`V$/[2/EJmIߛg=2@b<|n@; 'uID;bTQ% #!1o,/o4?q):S#S@{p.`ؔLIԦjιRxr 4 AmtAr]0KwN24Oy\}*E]n*̦A1ᝇ8j,|  Ϻ}k^gc+Rzr!OAUQy)Z0#~9`HCB;%b-)gϾ4}/#s4Oiア{p0+Rb~aa嘊UP Wp4'Բ[W-DI@ 2^bBf𳄰cc91IowM+t?6\lqoڎ.dPI1S ~6&hf7QA ~GDŽbJS-#b`=_Ǻa(?F%B:;mv5x齼pQ.P=f ?Oe6N-sfc4 QRY8;?y>4YiܓevQa\f ֩w6eEVhhYJTCXJ ^1B|m[v5=75}Z;V4z\X~ףHlIJUq+2o1U^^QqcH[<t ;ݤ 3n^҃Z#l|J 63(SAbDut3ia5#գod`ȴhwwl0ǥK<ۈgCt ICNBi"Glj6!sT{1>Gh( bJ|qB<ңJ_b&"U߆P̨D oBxwna.5a>l< ҝ/bFwF]9jСP n+]܄^#CL=Tuݖ6jh"̔.n3Aw;T+cĕ-MKs܇8r>i(e}t؟g"{CJ[u?~෽MЯsɰEZڻu&Zytf3x[u;):X?vm,(7ՖYSrGb"x(ZGwc1@%.ilI,u]1;'~";[ MS01Y肟d 3ө~fP^Fj eߞ?/料.-;;N{_}aE/W8P˙l] tc-"ͳfU3Dzwa4:N9!%:3 mUS2V;uTœj."η(II~=OZKnD}B3uM!Oq ,qC;*Ns ?Dr.sIQX~&_*Fn%tDN" NUJG=V Mun?͘מ$^lƙxք8i݌(2rrٳcǐYW0>ػIK!mf>7= 'VW(|86tng`ݙ-s>DջM l $5+'oRi û!NBn)<tR69F@mղFEw}Rʑ\Kk Dxg'bYҗnjݧ<.e!_.j\.td~M#EC9'ӯߠ(ZC Z%ؖ .ޝnOtxݐǥ쉌JcmHy!½:bP5HL6O I毲T2?m.iZ䳠rhWčK4W;kю!`%E~ڱl,Dqn'L1>Gf-b7)1lu;)!-ݐ&̞fbҙ5O\wGlV/^,tM)u\<*+ Щ^Ή"4u-]_BU$! Vy1w+BITȷ~'E1 m= 8<\¼1jeֆq%X ߌR{.0U,!C r,! Vyج $ݘO$ 1| ZBxeah ¾^5\koww|jp~نvukI1Yw@j'f <{'Pa_ */$(<ٌ[DD5xvO|>P# m}p~+N.rPqT;=!;x' OZK\wD,3hO1 Cl{,i;+L aB}GxBmPƒA"ؽT؀3?tk_!T/{Gz{\ʥvtg a}ɖ6o>D}{P^WC CH=M#˦+hSA@ūR/~|PAu.(JcqLKX{Y=NE.Hgru}AFg0p9, KYbc%|huU("gpHÜQƐ2~%PZ`>B!"O$UW6d5ۅ%T!d4>AZ$t*RGCLX;m;V%2*|r3DuY58yI_JOL VQW\?N!+ ,v?A +k*EʘKm#Gư?9elv p7teq%&{GCb8 ~M l鳀jL"_5:BɖaP"}*\iG,Vfoj'a {[Ka_Hc`;}AFÉ_gVιG7`f(ͷ! iJhOˉ͇s8{Ί#tOVL]Yw~)qBq ˲,[-8(Gғ76}0F 2X/4@o'C7R:dO n|B1H" 2; 3X$YDⅥ] 됛 ˬP_mrJckroou(1"Q )@DA&4"+\۩cS!1^OuH7`;ꗼmH:! 3 ̉̓J;KT?\î$"OL@f=_ FBYԣ HI3P~Xo=4^tc w? !?}|}3EHDS0}Z#Ph,ZeF5ohgϟl6L\\L!=2hQRV?R½?¼awAU7ݐ>^ֶ7OǪ^Sfͫȷlz#]0L&6C=h:|J^d  ŚׯlgwT*gbJY c]&&;||57. >))49vĒ !m$OU܊t"&LF1B*ݓ s+k.R= |d,PlA}"$iQ̊tt_g'LdܱvV5scìbX-~ZOG{A0' o9OPñ_AW>=,^8O|7:_kXofb HQ-W͜[nN)Y'BeX5>@( %(,!7? ƜsNFioW?"r6o̾SowyMAvx7O٤6<\Kژ$ k9SÖxAX_괪}N' bDD[ VDE2C+9gm >J松~gIAygf:%c~F4\HfH*h1m8Q,X?i\++=H7<|펉U-BlL)=Ft)\|Bǥ`tW} (2G:?OD2[W^<]~c(EP l fIg͗6$Pvhh;/9iYS r-h3A ꖢgyZG nȑfDýc*!>:'7/Q"?iA.!C.ߎ֙aR_f%g׷"hΐOޮ#(_ED RƺA\!gؐ[  _:@D+HͦDa\1.Ԧ4rD[ J Q]3ʌih*ZW?̘ ٲ F,%Knj`lgNJ8gt$Y&IԠB.jki,7p?z=_佽g Zҫƃ%1ԥzрfnJK=]0^[@Â.UQ~JD2Cmu^lbo[c2SO7bf@\QVЩm[ 1!_-^]BSk>WgՂӺ0j^ԍ}YR Lf\!x4oټJߦ#bƕ㛗3Te̳f49_RY%x4S%r:>͠"|Ac׾jR0#32rx]Q/䏏#g<筍n4;Qۢn=sjXYZwZVcw \p*6C~N K-b) Bnt=&ՎIp)֚Q-pPymLbzNV ,GX=Ko_b5>ܵe fηyS-0bgHWn]BϔfxX@tE'aN'Wb0noֺ>~5 %bx3~D(<&<[uZB^q) ZAK^՝!.'SsE]hXOD|~ɹDSaY/(ǍX{SC%h k;D2Klx}XfXv *P5/&QkVOfhd+` |JDmfP:^d?;a-8^<͍=ǨWw53NO^MS3ߍV-,s ޕDLsv4 ULJ\.eb H!ql)XEuAHt|\s%JFnrT ^_xX%/9h]=mYO&owDz$Y~ސ%vp/C5rV>Dc6QR F#h n {%pxm+)Agr;!<:%%QѼno7XgՔ,zSW;8NJ&MBpZ0N1εlA?O|3 ؈! `*Ra`j_Nޑzo)rP靎"}B&T4`ƪ9 jz|QݖxNd!WjtY"ՏeJpK7x VOE=EC\Yŕ ༄oqi2%~ `~NZםF[fJd{N߃yOUzxyCVg 'iiσvJ R2oRJXdZtjsŌ?@Pl(pq1a9^0_oլuVN?P{RS4u +1V1jg")RN NF g[m+)33Bi =.j0I* mMh-tI +KY#)hfXwl`uRV|wo;\ހJ?dŃv  ُ&{Z$̾:]+G zu7 ^/ e a8Βovdf \:a ޭ^.w+Djghf`9հ-ۧDak1sy &~Qtlb)YU7jdR~t^FZW-+ѕNࢾ*EQ 7wg6N /R;YoXNcmDeV*n56@o!, G7QLBx 47ډ7v7$puvAE4L?jD\У_Ӓ#gF"|~q+n \~jЪtl 4_LގL>K!"kLٯ b8\>,m}'@v(Vbk5D? `&ꅳ$S632oKl"poGtK1Y_PT>sG'.3cl=|T|O"n7ܬIL&xz\;m;"4Ռ@A[, M#?"IIoL0 4ſƧf]`XTA^<bSNuRuu^^{Wg&F7"T+7ڵpb=@0q9@R`C  EHMƘX?;! x> O z@:%?aa pHYs *tEXtSoftwarewww.inkscape.org<)IDATxw|TU' JD +B( ( X]tp]]+ꪸς@] 6" 6tPCMHx23ޙIL2y΋pӞcD*u[T1q*8Q9b݀ Ƙ j=iz:1&8h dg=X~DdmT[T1Ƙ&@H,vsiĈ=cj;1jf4ED*1pVvUYYд)~:vԫ'iim^٣ivX֭5k`w;0Hu>֭GZԽ~=,\gk? J|e90x[Dr DIU&@鬳ѣ+I ܂ԯ&Kң>&&J6V (,(@NEDj =8Mdƌ7/dڷyE$cz`<8F]w1;p.ŋaJؼrr`~ה իCи1dd&E 8d}1|Ox p|bĜ端 drڶEVVܹ?\pP:]j:4d 䣏CK/ Yn&P'5ʁgKd 2t(箘[C4)KJj!7߬ 楋Ӧ!!\:^`x ԁނ.xqLգydddаaCj׮Mbb"իWg߾}yfrrrXbk֬(ly:#G0y]I3PxWѪoq0HRR5##C,&MM6W߿_fΜ)#Gmۊ1&d=_r%Ү]6 Ts5v&^4r]JҊ?i,xn9sHQQg˿/iܸqP5j /~AF@\U$P>kkD{]c)))2bپ}{u?~~Apȁcd$55 1'b$ H*lBVpWz7!??_F%ɶt~h.D5 @BbNL 8I1OڵBcгT:BvN5V=1cL+djn"؉oȑQcΝٶm|)&5/Fmmg^˖'M q뭷JbbҬlNI 0@~Zj>,_} f %bk5B.Un#;;;484j$o5i"ұQV` AD*;Sxsjn`o:O8!-[Rɓ9r$U99ՠ_|jԈJ=۷oc[<h ‰zLdc6 j X/rٲeAZjСC%??;1yd=鑍Ctʿǔc=aBκuJ^^^سgk6mڴYfE\fi4h=# bR \:wFl]&LEEE6%M͚5ÇGT޽[jժ7#M7)dpR߾V-bӈ#Fhٲ̘1s^LMUw2}1?CHq8|V}i3^>sW%==]233>sNY}v`z.e^$~0p.9֫$J22{ K-n{$_ٰ{ni۶`|⽿&ح 30^WR?ǚ4{}C"~iHB>|Xz]a_{6o*U:AuN1m~_1F|… e׮]2L6MׯoǾ}H4΁ӏGn(3~eǽ^H%33S̙SfBz֭[o8ҹc1v튌en:ҷ"'<`={s疑c۶mCIjj8G)fB22ҭ?j :evVt]+Cڴ =N]v2vXٹsgI#Gdʔ)2`ILL qcEE굮A ?x6Ɯ LB'1`_8Z Ç?V:t/}deeQn]Wl2Ν˷~ٱcGaH 2[0u=޽V-{;w_D&fcL/4Ύ?Zj**yy=8餓hܸ1'|2u!1Q{a˖-l޼uQPB(dF?4[LU^).7"(4*Iys>ZPXqN/Ff[dhXkȁTKC((1XtqI8"h|3=嗄xMw_7̙1ԩ .w+֬nsg0"GX0GVx{EG+ҠM{jիuغrsEQbxj>N9lΆ;Ժ|.]M|(iyFGэڵKСb;|X7/hϯS5rWξ}p(DLgWd9aZ~rWy"ҥpyovOu~`3W6<,Y\Ҿ}R7N_yժ5׸}Ӳep p;@~Qnh>]P2rsuwM/^=4ڶuWNA| LKv1=ΠSN? :uIߴI }j*DseKYwܡG`^ `-;%"#Dl pа٤IWK131Q7zzkoh^ O/ =nʾIܽ[ݻe U(۷ÕW½N lV&}C1-\ "!%er 1FwKJϿF֠*X0cnžߦJܕ6`0BDȁpF3(-M}إQˆzd??5((Pϥɇ5T<|=VIعƎKȨޏ꽁gSaѢ@ݧOJfG6lPwO=U5x5k/k 裠xkDd2XnZWhrSqq8=}}vv:%>ձgիu8v*+{/ڵUҩ{YC0~Vp wpjJ[naEtڼ9|Ay XڵSqh|YbeVe둴B32hx*Gaf8^u?0n^;pa /!AŹ]:%K7m,D E+>LGۍVۧnO`3og#msgV*W\NZZ6lcCC>0f0!4[rt5KQB~Dc\Ƙ3PkK?UKϷ͚^ҥPΝym2dk`O+*Ӧi^2AD*N :~ 2ނ5&c "D { `Ϟ+]8<11A߬4uthNZ-:y#~~~_}e#~!:Cɂ&cds]aLeddK/Q)YCrWwe0_BK:c\eM~z*{pkoҥA}Edp p'J֡G9_@dJi:zu]GFX|9,4AAg QFEȹsuCo,UHޜv n9Vln.DcJ⼧ySE`,zMLHMf8:N,OKR+ca_iR>Loy/|~E7s "< ߶-"?VX~y)"_G\1|֤W#!wQi= D"a"aҚb;[4:G2 2Հ!hQ?ˢf"2%-Cj*qF7((/#>"RB1h_)t<5M`0"e di!t5?5UտXq萞ŭĪSn͛C>cED> V}SPOKS`W 1Wc"'ȵٿ_od@5oׯWQ+G !xv#8lOu8~2b3Dl5("GUƼ~%s ^anLrH/^˳ DvqV4G50f!<1=0A0/Pc9FxU &ueثEdoZVv2j|طD B1f5< \ADѠتvAnsµkjNN,{Xo\j,I4>`)ƌW〦O+u6G$^gU[[p~v_7WYT j'cS]1nEd܉.=5ay cR ]R |* bGUkZ9neOb~!#"" 5)D%;[O31ƵռB2 @%pc G< uFwDlJb "0;0‘b5j&*i+K/كSB;v(C9<]D8cϔrId/j>v!I|9,&"پ}Av˗;nv4!xWi!;wo0&H?8`z$W2);5p׀"cq/nR> OzY,1ƕ3L?(cW9g5C½S(AtLD`j K;K;|i@/eL==9lzQE!u;*իPˀωYc"-#L v|' q5ަ)@X"௖ ( +h%ŚLuaR1`eǺAF8OLKkh ÁCaKͱhk"X7q /h_;Lt&ZX7* 3d ļo1LjdSS$A9YmL3j׀?SS/qѩЧ LW S_e[{p-` BEZ`L,RDV\/+[\LŘ-+"Pk,bez/@pd>tcLmVЈ=Q P&8=6: b$0ٱ.%]hvUn!PȅchL jļ],68pjn &xwcަJ ,VNv#0~1oW%J% ˜ѓt; *@ UДcĦp7FT!0O3B/SE3q o \< XXL/6(3H \TDs%tv"O `%TTc%"8v9J1kPMGE?_m:Ap7O {S(1Dsgx:puCϦ, JU\Gǐg>`R(S( PWw:Gcxz"omg54th]H DLF}~@} u'ePaTf; v /Dw!uQ"?Gc07c29|юVSu^ u=oݎ!u1[J4*0&;U8 QE\ʉ*8;IENDB`PK{lYKAJB Aven.iconset/icon_128x128@2x.pngUT jKglKgux |eP]Bp 6X@p $5nupw'hpwg;[uSU=-gNuuWY TRT!/T`ȈГc)b/ w6>A/8Kk;ٙ:ppsscr2a,\Jgekl qf$V㌠`aQA"-[7Q$tya$(>}Wߤ2E<5{E>mRq~p HSy%7?f -509wڟ A9Pczk%k}z 7h_|u u7Fő5+<,!+ yun)9 ~:VVq2 +ֺyݷr'$;2:Knl/܈uN8Ǔ"u !˵h\Fk?^+(긷gd1W$sY S3 n6[^.d94b^ t%NL`??S SV05-HkX+eo4dt n5Hd42q`a#uC`0l E D{+tjb߃@4J -VUflȉ{<); Cۃ6N8\}m% 9wuؔL@]: S'apr~{qHbjhEHy$5+/.ZYPpA4͈k|vNrebV#k"Id c/Ȗℬܱ[-h?E0W#[f%9*>C2KKp*F>zB\䳀p2 A~ZR^ QLuEP۳ցVĆ ,Ro/3*%3e)".K<+A+6o߳7ܰKz?1>yЯ\Y.~ͩ?JUuR l/3nyy.IiO4Ih*e:l9n>`P-vYnPYFQhu]$<>=1t"ԣJp7eKV%n}#o_Ag\+i{9[kᜋ؈Zhh{ꕹRH4r@BĈy{q[V>bP)v*C{s 0u_21]-]@u tA` "NrlX9;,Q'wl$)HSo:pKgh I瑊pzx2H5%=:heؙL3],Mh͊l4CA7+ji< 7I7GȦO+?R|sQ<:+—}DuC :C($n.B2K@qvx5#ITPZs)Op4l(kFBo XKb!Gy:Yrq[aےׇOb }BИZښF5׃wq#DkVa1ooo~9>Wҏ~qiS]Ef*|@wDZ#2e.~@.~P0S Fi#ݗO1V/UlQXK|wsCeZ)9~RTv8z9]& Cw1ZKb!d]*xJ#V,Bcxzx?IGVֳ`[lY-PL,P^}0bG(qt~MN3IuhIFBB|N8MᗰHb>$Lr[7e)'7ӜfmϗQŅGy1KRog'Ac_4[Zjml˓D{KAv7Zc;+W/%-m|HU;ܤ swVr-n"VپSLA w$=(PM?c ]T$nJ2(;miWJs rgVӊ֎7ojaG+<###dAi J99)0eTUҸ:"/X:xn7O'h}]Z-p|u0ɠk2v)8᣹AN{$sW,/ㅄ3ݸ,~a,ÛAǫ!*)QگǤe{{Q8ۉo5of"mCհw3/&Ynz/7B߇LB:gD^.-z+;QD-[T0<}ļ6880庍é@9WW^ wl D| С:Y,bQ2(!,XJSjrQq[ I~T zu:^w LL% {/1E,tM=:y|sJhy{wVd)Ը24jbA}idc("%2:q˻+Z{>F\sMLM zh5Tl9׋Lan5xԏuPk1᱁]^6͵o|1d#FPF|{M(+H 8ru1B?|Xo/?PQ$\2p@#bs>ՃmχV'(~9k&YHv)@@+zn>nߊeVrnFcZBVb.St⯅)>nNɬh/W#lY- KHQV u_7 W}ٞ&ud//)l^P<ZYxW7;|0'O:9|kw̕L3eߟd;Ybr r>[5g ^6!,лY>t($:ܰӔkfϽNj] !o&uR)l`˅ vbRٞ؅J]K闱 N+ Ţ"d8 Ll/_7D&҉hy zmF c&P0.ɴD`[~.tqI2)bP{3xN5X%Qd$axO"Tfey*JdTura8D4Yfԥg鿯Xw=̷ /g/^m,k;2h/0Cw%v{a^ŌuB/Nb__vؚlvdX 8~ @˹[Lq)ĄYUߎYv]K.װD%|./Kldo*TjY-UYԥ2oD0r,I|EL X\9ntJՊ)mk[0@CT5AxMPók5~b-0ȑi'_l'oP^mV51?neyϫs}g{{4VL7gѮO4XCuw0%` P{Rofkz9G{_kdTa ("P9PPOMb@}# ~.{pY\yJ@LS./JODbRH|-Wp4٤H_-UO~ (z;\|[Yy|$\%DwNC ~y-{\ˉf!kSr3}o/EGf{jF3SXZ:yD-٨^z4 Ro ]P~s%XpY^[7N%` vT! )EQ‚~O*̏μnTG6}&OX6^,NDs!q-cWj ?rO g7~׬~;c61eoSJ|m.'kDl٢P؇Wè")9&+X~XTם [U7by=ecͣi*7<(X RlDM[(^=ruz=5j:չwhaơfLsz{n"E#ϟ]} \ϵ5eNdej+NUaRQHpTgx||8n.b-Q F^u vXb-gKUKy7Z͏BwߨFO Xakp~+enY"^yF?^ogdӦޅM - }3oYh>/!|/:ʵ^@TKP>Juɴ]Xg(psMD0*6c{c9QPuTpƦ )xrM,V%zbWʬ;[837ܲ߇glz2>a-,,`<$ 䶘fft0WJ]0T՘B[  ϵ㞝͉^qʎJZ4Y͠bu7K"4a;qz$^]>}@#6 )&,kVΗkS-R$vu=oyP ejz# }u ƚ5.(S(a?}m8=KSt zE0.^(Fa"deXtZTB!bk@ yJ ? KjQ1s d(6\fgY`׶*R e*;Yl1$;x65Ͽ7 Dhؕ/)xmO\F~Ti3x_ts1e)Drv_O mx(ƥ9PiV7ݩoOK7 š޷(׎֚I76\.5G#l!9ְX2{.X[dDJd-4h/S:H ,g ?g4|#eA5&+PoN/zF~Ā̶K$az/6 S!0p;-yIN>OfZKmsaKPךsi6h-x|;L}O"c>&Of qh(ḻXy<݂7@ZOܸ%\ZQ˫^4 oêEN!n6*IH 8դ&ݍKe\}M6gt4X'!p6'h7 -末O G<427 *U.N{1!䏗R xVEێPkc?;^~Xs`7:%,#hX`"Zj%Y&:235&EH`׹Ǫ }dIxm QeIpDMxݥ~u_,g> ~Cu~\|ɿ*jd" ?LPF 7 mvc6ڵzd|KB/km~r<Ǟ97f")9*,%yy`ɲ\éHO8dxQTI5-w͵/ۧ rL cS2CH ֺg7lvծ*^r ;u֙ Nڄ &Sh0ϮJGۻDĤU}bn9zk\:N*r7KOa!EW5qpD3>59bP]maJWF+;/8}|D^"76.7‡p`_V_ԏa,S;5ign,=[˷cqE^ĚۭsK]7Bx@Ot r;swbou]Y3uRx&6!vQ[H\65?*s"sh$n|t?AE;dD~u.OtQ*h# gT96/%(kܪ٘y[ӕYHD6ޮԺhF$+5/)"OI7NyHeoyy^??(SgzK: hc_@ZL<C-;D*ºٸ^[W;f}Jz/+<0-@>EߧLN1>.'܃^FawE3bȭ <;M!iR^Y&|W?%arWk|<5Z8H;cR85:;CHݑ I,sTuv˕ݵ΋2h}(EylsuYj(@8ljk)dL^MG3&0 ɣ zG`kgo5яb:kKzOqpZ|\QygI9oy0(%A?L]1;Ca=i4 ^ݡ \2 Ţ=$-EDPljcJioVn˴˕wo9jO{i`+V.0$LcS2VNĴJ2_L!x Qw[qE]JtJBvV/Rj.eàe%?\Qv5&BPեY6u)Ч7MQÛixbo53 TGrGU=)c>\ؑpriЯ y[r< {I)GwTX;&$-/I9 ]-s+ /Zoj ^::gtmg Ŋonnʠz}Y(t{nTE#f_KajZ(K4BpkM&1\p鶰*4wwG ~`/I c5?k.yopVI$q*aZwTC\9 ͋I.Ko| 0\oCSY" (0E[4l60ޞtR⛼yHh'2c>9cIO8./a251y5H<ԙYJn#GζW\Q bpjL蒆M*72- kGbm $*!kPn+Rm 'ɛ\`iu+S0/4l5_|a)cndİ-bK?G ^W/ni-e' , y̕O#KX1Z/8k&7mN>lN}OǓ84QQ6-?|'2 :\:藼pKL,#\k7ViiJ-aǧ^E)N@ roO0KUAXwwh˵F2JU:\%ǶyISI/X3LߣCƤϲ8:2d!oV9b"qޯ2& eG3kϜ?J+X|bF@s^ZkR59@SPtG'V? ^%eBF|^Mȧ]؛LRi ~MfUQ~Y!ml[0WqnM17A6S AL8?F]ͭFIsu H2PD ^˿ R:yӵƲcCG_> OV*ܯcyd6XͲSÆGyN 54PҪf\>fBU-]r$>m#$Py0_1oR†`6j>*rL2eyD%Móc܎PA`/+%Oo/9tnPyϊoMvǙ;^1'hIWTa{w__c(HUN_;u{kӪ4nxd-UkiT2^٫؆ŲqE H@%rA-^+r F[iBE|<;z6zeYGoRK$1qHlz[Щ:Cu,XH'NI?Oמ({H =]/= >8*>^IW{3k/XrK+O.lzX]Rq ]?~tg6wc'!?MzqwqJBv8Sp/9ȕs4߿|r Mb>^jĊ!g8V{ `?[|ԿREY9-GybD 4!Zv׉@B" Z1Pk/LCoyYభIh4zKV7ŷ6Bt _122-F Ll^?Auq[aw$r[@DacE"g]#f]7[?UF{c|ݠ9$ gw'[Pr!!B("a*$Y?Ъ`="i5x8'J\(_&/U+x~Jt^-ڡA02/_ \Z'6Ip ):o7bcҼ`#öC/ϪsR'A\CZ=g8V /H0s% *-,B_:/q6݌se9迵7uIz%5 ?l}\QO$O)m,H==а6ӺMDѼDpJ=uHy.ӑ+;wp\Gۛ>Fu{=du4!.r+qjgW#Y}>JAjJss)츽{s5Y6R]Ԣh*OiDwGb2k 3xs %g~,ϧDɹ.6y4ȱG42Zzץd% 2G_cAGnviƥvl2;ODi%X N*/a ]"޳E3&RW囻@hSWu2 # S ^f!&G'3s3[i*g]@qde:!WsSF5N%̷9Y@aX_OPܙGu&l "CG:uk̒7ѼҞdcE,7iҚ$ǂ⾛kJSh LK43n\"sp`LT70 t`woN7LB"`h斎zy\_3E]DD{R8Bv`Ɛ(5oMd8 7/+\#qIer-{{ORu^քX{Br-hC9ŽL#5m1XMN~WGisą7na?AqÖm ;GQk_gLՏz I8ɟ3n>X]sʬJ튪X~i5~ng+T?yWAԩZ}ŸvG8 <'# ?̡,{`'XkE 2')4  ],Q%+ 96o3%₃*: ?%}9ͻus0l q\_o'ĠoA Gxwus#=NwJRcہe` fܾЃVv@|V]2)*{+ƌmʁ3c1DXݼGKp 'ҚzmY^wJCo1[L5jjxy`]4#񠱢[3 Gs/d5>"W:z 21e9I=\Tc՟x4HVKf0m>{\6nx^6z-fs-(HZ5$f0RwJ [8|8TO&pev9i JpNv#%m%hb| gOy`.5@SBC(ECFz\qoLbp!O2thKomvz ȪH4X RX{t}'N{fNB~n's8IRD#2%Cr)i_^̏/#9L= E2ד{^ VID8>} *]s eߕBzE9M>8cl7s ͯ re<oD>| G*Q{-9c/!.aH wyqCYCK vbwD&EZ жZk>q 6lPw)c6.ր"{{( aޤ\OI~2}}n((P@8wf+ PY ɓH/Fˎ!|@-"ta؋ SR^LPs/'qĸpѐ.?Cʳ͕Cpe&)UEe釐r0.cϣQΡ)H 8~xϖ w2f2TtPK pXXc̩ >s!#(c`>ah#?J{QQ uc~@wp7 jI)/|ѝ _j&AQĴB"W}ڟzy?5_-c`v+UD"_Ӳr͖1I:6CCșӅ4qR!zw)2|g4VuҺK*wwHBV"w4wBv7 67@Z/ns%OEQ݈9m\7zWOUheж3*s Wt(h Kh0}%.[m yLrJ|3켴{-9a1<PR= %,Z&$pmn.cq-{;Avops+y O9.kO^+J(PK |lY AAven.iconset/UTlKgux PK{lYKAJBGAven.iconset/icon_256x256.pngUTjKgux PK|lYl=TBAven.iconset/icon_512x512.pngUTkKgux PK {lY_%0 Aven.iconset/icon_16x16@2x.pngUTiKgux PK |lY9Aven.iconset/icon_32x32@2x.pngUTkKgux PK zlY5Aven.iconset/icon_16x16.pngUThKgux PK|lY1C  Aven.iconset/icon_512x512@2x.pngUTlKgux PK|lYl=T ;Aven.iconset/icon_256x256@2x.pngUTkKgux PK {lY_%0 Aven.iconset/icon_32x32.pngUTiKgux PK {lY.4UVAven.iconset/icon_128x128.pngUTjKgux PK{lYKAJB Aven.iconset/icon_128x128@2x.pngUTjKgux PK 8survex-1.4.17/lib/icons/pres_fff.xpm0000644000175000017500000000066714567212227013043 /* XPM */ static char *pres_fff_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", " XXX XXX XXXXXX", " XX XX XXXXX", " . X . X . XXXX", " .. .. .. XXX", " ... ... ... XX", " .... ... ... X", " ..... ... ... ", " .... ... ... X", " ... ... ... XX", " .. .. .. XXX", " . X . X . XXXX", " XX XX XXXXX", " XXX XXX XXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/3d.iconset.zip0000664000175000017500000066603114722727560013231 PK lY 3d.iconset/UT pKgpKgux PK}lY'E'G3d.iconset/icon_256x256.pngUT nKgnKgux u|PA,n5-5 !@ '8@pwn{[lBMt'Dkɣ 剄ۀ/Ȯ @$nZ$~/{oswkۛ՚] P2>9of,K!nIXɯׇ5ʡ,(ԉM!(2L0UxLLʒX1cZ:՜tT?-],q;d:%@\V^iXØ}JW52>qs4C;hyXs[&psB $ߋ1YaiPcE3#B@Z/le;, z0M+H}7;$B=.5hT2{Ry.+a1%d;1`ӕޮQ\=}z6yhž>2LW07kX0k4 Ӓ?2G@nqvU0R.7? *)))ihh@h837+vktIO=:^ bgg <fYʍ6Q`bf>'kp$1O ;*ZV*X!}J kᱱåec+}3\uHo' oi>DN,ǯN 8g˃/d4! :!JAQKuP( K s_w%!=XFmhnoo9ףd) uIHԹ?)7ڗƢuu6h3 {BMj7㓓C718fs0E` /s@}27{I|8y{S!duأeÃsG}'ati9)Z˿քϟ?!أ|?n^?v>0"ccc/c7<<L$}6Nz .2RI_ГW"4gЌLQYԾ5\'wACKhy‚NVyTJ&zVn)+ 7.ho;`&k*ݱ%G(Y6HZ$xyG>aZ檑5M0fmj9;9Hy.*ZSOOykRAwOOጽyrXD&S5Y:SJn}ClL_yr@~9,+[A@(WSq]VZ: ˬ -"}t.Z1.r/{bRkppp\k"YO9Qã?b)C#&h_ @UzM`E}SUyʐ?[ӪwlSNWE :wb7\Gj?W=z /4 r7)aP9)[8"6$Y̸:Kʔ]sgNbGb9K㽷ꔛ؊tgkc78- JŌM HT`n}AϹD,Ȓocc 332oNsz<Ѽ_"Ozi'>d5r_XwDhL'\u=JSWi5a (P.$8D@Ifk8pXB11TpK?+D C'QD t01؀z.ުl~Q'!S1R&UgqZw5uǦ)g) 1e&HߦMܺ*F~ eӰ8Q "i[SH$K{m= ,;`9ok.d)*Ҭ;iiikښ7 C&r Hgh/rz6 /`Ba^=,ƒ_b<| {CPQ닟m9 okiik`l9VQ Odp}\o`<%a7X$9LLAe_KiʷBY%0߾T _)I__iS\B~<{]쓑(G74cprS*T5_2Εpi>gl t$|$9zo:ïEDvMհKtTV=RoJZ.:*\P3+Mi(邭^hgAAAg=JæͿŨi /-6ar5Z;I'an$TshPksׁɍ_k&yGnUYYPdTa ?c4Jc[թ}߂Gr2 Gd͛p:M,;oG1X R1Zv,4,  nž g* A^^_ք,y+#J@ŌRsm0h5~av0pS)CcD (=E.n/Ćc'IP[N}=i3avƆV$:isB!HxMk[zT]u+ 9)+0' +E&sK">=<@WP ĒS+v?O,7nr\ʙ@c PX)ȑNZg`@iycS/ LB hQi8dK'RgkqNU'&gmb ϝ8 k,]/8Ow ,tk#Dޛ =^DA)w:cO3 KϯD Hgڼݤ81vwN0_ЪcrZ"C/G7l+,1 Y_ifz`pه-DxC **u{m㟢 zPZCt_pJ=CЈX$(kd`:\ |pqFX$Hڞ|G: ̈81ͬH$.TUvޓ=ϏӇ ,ͷ!"ގ~f7:>epBr2ptAE%~xT_s`K9 5$OE|~퉥L\0izphmv oM+uD"@Ow! ϟ].pܵx'.(& ^θ nRnwXKS֘ys/!9==\hm,W8Df ]4ѭ O4YCiߓyr@/x1{4bv _^e!@ZٹxHh,#$|Py9sK?O /%;Qkv}ɂE$iaע)F,w>Qv2ձ_r@nkk~5tIA/$li)/p|"dQOѠw @,8&$,QKma!țtq ߲`HpLMMAm**h^M:8kL~Nz?\ 5c_|XPDZG` 6 dZʺe6GJSЫ3Vd8a]k6)P-0-Q-a@6%'亍⺇z]WN<)?)ihPE0)Ӆ6\Z{n[G0y2|%8O4E#\\.a Ӂ\<%}C<|H3F$E$&@B:JVVVTt$]8 2z9وx?FGHkcCչP[ׂ$$VhƉaN|]^ΔH||2XabSUIά̶:n 10;6)(齭cNGy=S]Yo%p@-ׇ{0?e?@:;e5T^ gDE&>*2+&Qj։by̗sīm2Lҟ- tK,!H=EH; S-_ma`Im'՛At]@+Ii^AII#1a.']fn8nٮhA !`xAx@@Ǫ'1a066w^ B2L"T89՘CЩA{CrlR9G8Ina*{Y\,S/o:<@XxfHD1JcG+gK>XGUtF=Qudtxt x'2"Dߐ}׺o-\A AH:8oc㬧?la+HAϯA5_{܎vQ!涵x;ohּpĽ 6i| b R jY+@!(27g~OGGO+~STMΗN`M3m`jwǑct~LItmѡmݤ-MIa&`̄ Ҏ'? V ?E*C'=ݾ~倶&W{ kr$y^||v>Iϗf7k^'cfBŷANp>t`Q%eF؛A]cF5=p4xڸcW-G!O@SZRndr7yS,J̀3ShDa4㸂e__"z%?Cٍ2R[h18 KE6- o+|[r9TQ($A^rYt ,FQ .p)@ {H&7L=on¢!ꡑ4'OWnFK 4Iݩ{TfZoTr,6<tXBɅŬf]zSHԽAw:BԠz5ڴ8ȉCބaaPˉB%dݹ>ؐ;()%Rm?r0&{՚A{9fJkc]5a45T6<'\uKM|{Ɋq###b*:HR6 *I,?3D2Q?fV?D BF[/T~[e=pK;O2z􇮏 ҤFѱ2ݠR}#ME7j'Ks Ih>|l:qP Q~H4蘜&dwmE8\ &KPެa5S!lNi|x~T س]SGWjo0ףhb*q3wݦJEn'R>N HAn:Lr@3mLO$&-33 ퟆ<2j [Dׂ@==јiܫ#zgJ.AG9X?}ʥ 2]m|6iccImܤ{QCj"^F_0XWn wyk Nٮ* E=?F.bx$]UЇat5 0L푠HB5DP,{^' 罽z͒:I{a77%3" n"5 b/)YGt-rD Ѥ~G"&?gQ ؄AԒ$iǣ|VG?ߧ7lrfc &'M{Мg"A_Gq~;m4eesX,L{}C)"9P%p-,t䁂X>4I%XEM{ j5:NscscC gUD0W9Bepk5m z/YѩO`X;Xh`Ϻv>矆9*SIj@/C4ի$Q&0>I`G]^{@1`Q1\P>11q5MXSnQȂ#Zmw\ s&=MA, s ^(1#<ƒ/ +u*BD̎[ܗ"u X|"ʭç/)8<|/t^=]Kn@lה~3M4_)|%& J6f&ֵt$ brϳ]͖p{D|(JRP`;~Qg=| x^?VFo{ϩE-+O:ˁ~A.ɠoA''8bE4|'lLLI?.b t>yDI֦}S-r arT^RBak.FG1xT/ p{\Pl-CyT Q:W:+i _{ 㱱W/goϜP.#xo(Iil5JX7Іy}WK.hm 7;Ub5ػVuFjXXj.`=^vtR_^qq"mjNf *z9}V|qJʤe]=!{^|1UJGٕ%G8raAAL!O\Nsа05iZLtuxI23k&FĦa"+tkFj貼*6PQ hal$gh}ND{?(oO Y .g ă N#?^݅yO"'׫݇#z@}$;'jkJG{{-|P#HT(gY9 (SU G%@I T?gr\!-&E#X1؍ yJO@"~m ؗ+0i Rs?IxYEENʚ󻙋>훕g 4dKŽwkWI_I7[.:zoV8?YlsxpUw_sihߛ2t&5\3)Lt?.̺ppY(}4^"#Fo$e@'\?n)h7zm' 6,ά QKkf=aÄ2gnOwzm̷ߜ`ҋi}uTRDhт=2=Y߿X}}}|N@Z,^c2 BKnȸW)$}֩!G^s)1eKPv60NjN6#ҠJt@R#)#GCCQ,<|aA ++;84+ F?#=;!LûTD z@΂ڱ[  xkGvWQekF|334gtjy"5Otϧ$0ln{1OWT 'Cw,/ng KϛqvS=?7׫fK|Z}Ksӕhd m'Z)=`7i-V|`ݬD: ׇ&'B[ '߀WYBMgk`4*B,'Dt?HU hN,B[p_Ml~+*!yL~ [ɰ6h^EPv܃q!SqrZ)"xi |j X^]OᬓO40^yk7S.gt=orXn|}"[^ #GIKYtlQb)1]y[_|;ŝ<ԭѫC+"F1rY f wS%^9'<#M=Yk4bWb);Pj7L␯$.T ˟M[cJ"}Ol KY!q |} ŇB6L4[H~@ rJ wߡb trS7Co)(@.ܙE 6!jݑ|VO%7!F?mx,k$XB`$|Ӄ +AD#@76dI֒'5xIK]}Pr!Gp*[i_L cQlS^0t~>Ǒ&eiO܀j,a6ù[r%XJyjR^FzH:p՞WP$r(2%稈 8;iZ7 R ٞ))r\~J3=l RSSx*/̙Q|<Qف#fboe?='R.FMXnDSL6;W$H;pB-K5igU"`aZ\|uXYp]^nۅn ԥUio@̀hddTaC)Z ~V3֐ll\yشڿ?S1lDd/H'<ο?'sMY=.QyS%o@i 3Hg9?1_{\O8EȰsRn1Ϲޓ1R?'ejtO!Ĕ6'&?yC @w ^pmFuF bgguGP#.G ^:HMmΊw']Qa7GFcx@X0q$ XX%ΓEʯkΗuXsT%O+>rskCco'%C 6W&% 3j#;vRj54IEQN7ˌ =bF'y@ԥó7h  4k%nƊk%Go*NGW!mUVb@QCnPtR69<@wreA]08g}i,=S@)5.v li.1u3l6;|Zh!!(b0+jSnH Q @6E'fD|v7 j_Sr/q,'V|FNd5/[[A 6e ֶ AJmBC85ar(QXwV#g!*|9iӠDv<91z<bܚSsҐ$mm×HmYeod+&+PG1"&m"m5f?8`;cb`4ګK#Q3r52|6bHb&kYR6,{O©cPPpn ;t:^|YNj3ײTp1]~<=^/e=/?&[ʈӉMNxm ک--u%u.! Bi =\D?.hm8vLWV9VVG"d[nɯ҃9 k=s&'" oZ|{7.EoCeُVRR2⓬2C. &7HM cZ&G{t*ŔXlA{Ɉr ZUr~5 JT z.%q?K9[Z:|@9"^6S7ߚi0%:c#1N?Zjr1UUTtkg]kLeT[eu崶WbُU'hmF25Xe`/qTT &Q+(+ƓRzjTC1jv`Z1 "nd;鴿eEkRPH:jݥ}wzF+M uj&; ڜcN .`Zj6,?Z&D/n_lFH3ѾGKs{Qj]sNǻ{8Aw{򛈃xKo[3k"P%H6OOƤH; ;cqx!.m yFuLDXM~7QP/@$,~ԝƮ,6[r|$j:҇AHk-<<\AQ jMLS|mNg7>w4[Ovx,%KbG4ظ# 2= '"84[Y # XőR z'~P $M`: /`K6dD'ZG@dܿ:I|q'e#XH,n}J?47ۖӣVQԫ iLj11 VIU>) D괝sOXku9eݾ5z8_Aԉꜭ2 9yןQJJ ,?k˗'b=Ն2b'YyhN]E`ŸͶapApMFqLsj`#Z\$=O?+NF֑p]RDY''Z:0*X%IIW: ׻1uBV&{vzl*I?y݃T4pB'gAӇ4fUw^;W>chqW+cHh^4mL`.gtW`УgC_LJxsC~vaq}7D`#33d개[Qʊ:uإGv9&ll~T|Zcvb159Nrh_ Ĕ*?}hMɉP_J\'.;^.,".}XXX`1h.kHptW' `t/;Lf  G5OH@0TSa~Km~Rm]o// /%% -7K"y/_Lpul8S˾.i_llnqta7oh4xO'rjky*IWw͟XOo& )[ޠM8Xw$:^aSpTB ]٢Qk%d% ߜ)ơL}s`9=!epQu9otdZy660Tz9%naNw`@y\+Œ;$:WY 1T@BSPW?i-]d-pZZ m=j77CO"RJoVC@ʲLNr Lz*yE7$} *dʣ 5nW[AA| GĊb?,[6m.fuEo4te7EwȺ1$k,K|`DDF2CH8]P?ϲ5tZJʹi JvZ I;|>|p,lcZ`v5(hEO>rcmT]-kwr&d:F-gqd޿8yl;Ƀ*E4J &hd6.g@N`x`xOs FwoRkK^YI݉}MEނXºKRLBu{Ht}8G? ;yt@d,V*A$[u&P\DDa.sĜ}*F8CL7fg`ѻHi Ht&࿻&\k%T6glWЫ>窊8!HQ MNz8/n"leɤ|;4XUa~Ϗ/%WmoЭ)0}O +RQ.lO679co"yF -CPU߹G }}}oBA[Ԍ&!4 /HLMh-/qY>KFgƯ^>NX"وl-N ׂ0\2W|'/7vX2Q؜A 3gO{>L(#MZ|z`AVO黱pTb!uo/J "ʬO;) 覚e%WC_*?!(5Z":W:<ޅmv}Rin^V5frO8^qN4w*|¾[Q. v@9efh%R.NbD>-s+P\NȢffR#!m>=l$H[E,Xx\GkHr_@ H\,N}|7V[j vۋdJd[e܏ZBr/{D!U_ʖ_GFqwWh;\LͲw5S㸂C: %]1E wa_z{%wQfSiT:fI:]į(#q4Q%Oe30>划f /jIA҃1/̥׮ݸ<#U*!"x*K>] %cj}5R^}XNx>l߅qyR4#qba߿]LG'#Vjx+x7_{͞{K/) )P%G^Hk*qY%tn75 qL6oOG~ P(X'lF-Z;9N`8)w(:427l2[lTe*RЋyV}R7%rU;Dp0^br)qkMq!&\|YTcb4bp()a'eytZ(OaᏢֶ-[dQma%"2I/LW:C/OLZx$hdȒkWNҾщ\],?RWڂy(AgWfe =aFz*aJ#*[uaM\B5zbl*bOaߙ E%s $v:]쇇ќjE!w ހxD>W;){cpQ_:J HЫ#O;=/+׽^3$3jd @w.bF%?:<\굊[ݒrF,eȓ ݋^-fJ+?9)D>NI^?Etj@" oE@/i& d䓸 ^"*}FML~7xva)Wڲ֬- {*^TP[L`Jܤ1<.µuKLBDZ=,Y9Ȕ^'3L6@q:5 0/߯Q /j(}iw h =T*\+Wc8nMBmrxB8Nt3">θkBmDKL@8e5H.2]!x%|kL kiVP5rU$QċI kgК͉?#i_b2iawAKxW.!RDK0gO?*q# [cF\|y lٱ7>AZ9didO`Hsg^,);#OgP? RB}Dz Maz !U؉tn!@kz4乵a<81Z+r"z1Lx1Dž` a g>#B-_GqxLYPKlYv'73d.iconset/icon_512x512.pngUT oKgoKgux <T={{5BEIa`_ȈK{+$ dI&hibdqu53q`stJ=!Aު{{w߽/q Va\Qzc#aV@~N`Fa'5UCeo$G ɢ@Tjܜp#8>nT]8%41+:(Yzo&ӄz5C KR<+ce!g`xPPX9\8( = X[q-ʶM,1NFF5pYn)93B&=RN e Y'׺caY:3+O/F<6ij5En"PCQܮ9('VsʓI=&Tޜ JéԧkaT 4m^2# St H8ko++~_S|>j;Q$!!VRt3˵pww~o7Ʈ/,TTxu'CTwhh8pP9$9r8\hÓ(\u$P׻aBf"ݺ- L[HX]ْa*cOƧOt|adw ?В o8^fIӬPnUrƆj |PWW&F]=s(׻k9=~:an8_Z8de ( ]_,q0/3MkhhriR3"! I=\7&LJJU->'Y~ Eؗ0/ ٳpW~ÇR^o677ɼ6st*;qЭu0% x 3E(5lV),,L #\WPf6 5ЉtS(Nt>d(@]$&v Br@nBYLvȷΙ$fec)h$11?^&R[S\>Ҍ;cϟ^3ʂPQT&]TL/44Vf+de7$gx[ l Mø9@1t)bҵ^@)u1F,Ҋj[2#jȗזּX4<<@<GxͲ7AtOO'NWJ̸W4zHkjjr ,ѩF!cc zTAὢEzĦ*~MbL̬\D"S98T-MG󞂎 4l L؃ȝm..t= ?oqηxIf}>,v[ qmno' $t#Wԋn+"7.r(5/B:e;p) `Ȥ\{3åF&v$H,u.Ő u: /Dz1,/KdXDw1/BQ,yiAP9:$|@Ғm/8-S%yt܎t'|}Z9ˁKHi"jA]xdQ۲FEPSeo%WpRpPjdcFWYﹴ$(O^W@EM,#4j'Å~ &ťFF\)L&ezD:)rrI~N1͵^jU9D~Iۼ0Sss'! 'K t"xx8|HNd|?v,f} *㧾{QN|'/,|ҩs5c[F4agL,G gijr:XZn3+t<sgG<Ͻ@q@nsfbiߌe^RTwJ ~ yJ@wB44XXX|F1PQ,zŸD (4%z+)ubq+N:> jǗk4oX?$h]GhG`eV,t7Ų3jqՇu5c~oGQ2 @ ]+\Q_]{,VI ӗ|rwqujq(3"q:#h1|.W 8ZG@5)(vD߲4 ]]k#YVcP yXp # Fl*Ltۼezvi`-wHT p0 2Xé!L̓.J_۾et~.\F]a')2}^CU'пW璔sIOED6H,(^N>ȗ4OMMu^j@37;+ TWU귃Hh(&Gs*͇Z'5%K..R8qCն3#FdHu,riq3Ymv( )78uFN\UJsZrxP;@0Hz?IgZO[3/$ zWZ1?c<:H45ӻ0jb#~&r[Ia ÿ FDv6ߴ;|UZgXgFadܣ"dMt<􀡟"`nU(mK EÞ+ib-14yL\V$Ei5y)VЂ(Jr<)e!{GWcvgI$j WÐݟ7B+-)/nXR@0EE r)CfL"ʊ;Дߺkht\]SZ %dEpU4uZѧ}u 7.tvRqfPw`?U<~4DYL.P0h-3W5p$f$$ɑXX bɳ!+YI.eJt$'#vƁh ?jr hdy{8rW;Vjk[cP_uʃBJp9zv?i ܌^KOF*5|b9aD/yKEH-_^IJjp6GQ\Lb\SQOJuXꗀ@ϋa*qZ9:Cr@;CHrIL U@S`sOsK66f 1ڃKrH[riZ]k&V9ȰyA H J~GECf  _O%y ̘#:f͠X;{l0$ /UKO3tn[STFr@PGՠp;y\bټ.Fr~̚ 1qř\}<NsÒ_ '8±s6Ij jhGǻr{n>j.T.Ľ-Z86Ljgs05! vkh0roWshlmkdzޅVI ejV)l (ݹ;bbCDc2ȏ5P Rbaku3H {L]>z߬^X*5.>ޤ BLk6ݪ_Yr𿁂C%Dbvi>^繽,.\8k l2N56;;;,h<Ӷ+)eY(r꺃% 4y%א%kfeЀ&Ѓs,5+Csx4[%Dl;o!" hcՁ24iPV>6sS*>6zN2#].4 ~i@V|qmF; `_Y{h[?ڇk*jϗ hfZ޸%|(@qDUe܎ݝ۩7IaS,CQod4%.'+3#gy7Y5\k2q?MD=Y5La?ndVM¹E|3柽`YJ,{dQTQ|S@^I_3Yv}z9SB#ُ7} ̴ %Eּ I،VLY '«(,RXY<LJj35m>2 Qt~~@ r/\fyd JSșAB||-+zWp9N`4.JF%ŝl%ҤTTo%-9I#K٬%`pH֪ *0Yy[6 T_K߻XP ūL֋a@ź[ONED+'"T؋A)Pҭw{풃py0)0\$Q`do1tsԻsB,pscpzHD9̰y'5<2鄁Hl<ӿ0l=lOXwZO(D5QxN yyߋ)+ pa1zfقW M $GTU4%C09 g Űbm@@{xw&٠~V-KV1Ƙ PPKDG<y ˯*h\#\`nS@j[(4{188' RPtN1,G H?qCixЛ8WR'(IJz]oFni˟`τ6AoWۤA^iBu?PpbEJ:FGG{zo[S 'b՝ ֋ǾVu_SD& WME>`s 9$#J' 5cg@xn}}= YjZS}^$#) ДmS^`]ʆl?[z㠦[a\!- RMTxZPx+QZ!i5kϊGsuDT\6;4ztcFqu{KGn$1`J,o(us -%22WWWXȻ5 yʙZSJq U,xp8ﳡ3t"z>WĜrCQ\Y,8 ۈWv.柖/,!xWlܹ2/b4o=>rp0C^Yp:XXs':XH,S Iy9ޛ)v 8?W7Uψa4$-%rz_VypU/g<{|_5)bˍp8,bD"Rc=Gm$9X= h?B2cie<3-(ۄ2$xUS04TgG+DAE{Kza}؄S]fE@aP#ՌθگzvE++HXkOGbRjh'&Bɝ~&%%]M'7L͉ t4v EIոۦ+ 76KhmxnSt;4,,,~%>EEEQQh1@Na{}"Z+=Gbǽi-4D>1 #f>}irr2:b=;2bH߿A%Gyww`j+ScãԿ BÁ᱑aj75ʜ١},zX ?mh]bH ;2$ol+ K"S*((]F .qf'_FQ%X{y'<6!:/+<H!o'w] 29NRL=@3TO^+q{_¬(po=<yq~{]!su LzЭx,֔0= r 7+2ʢfb\}w43|AzD7KuYݨ#2ICsTڸPNn 7}ywݺEIqxzXYQF~Ԥone䅵8ٞe7t[EhV_] + tFǑx4m˗^HO@hϺ,x7Γ_Ƚo(ok1wC2KlT(eo[Mnuus[pP‰]$ߤrb%5T`{v|V`&tXwwE$Rf|lie& g G (qWwMf*ӅBߗ:'8ceb4vP3 p=HƂi;0vVIleG<Ƴd_brSoQrBVTb iCJ<^xEJ|þ?{x*m/ZqĐV`9I<崾4Rf>aAJE$9N* gL9*^Z9o %f~AP bD~.(o/ZTz YFB'd]d}P*fNNQHSH۷r؀io|gTcM@ ffaibu\ 鋧+ۈwc!1!H.5 !q?zBxenkK{5+40g#*+6(k;Ea% rh0v.’bpb'=Oc^{y"A"TܥoMWpE4XPS1K@WEQt]6Fޅ7M +y8-EËo58[GwBr8wB^8u p mvgr3IIF{J|kn $+,OJٽ2<|5vsX 1~xE`dR|-fyhH105H˖W [lv7c7wB5RH p}(-187SϯѾ ڍŻkkuŮxgh] Q#̕vS/qMxu>yJ́gcs]źVS*c65-wQ.I \T1F܈ 44NHB[H_^IDdty#Ί:7]% .WsQPǞ1hIcd睌OikVIzWfS Ot md#T-ϏҙwOd`yV,GC I9ϣ; xi`/GSNt6Σd(>u!oPn.yz3Y-%CLc]ރl9̘9SY#?lc}YͧJ\#6Omhv+Z06~D!_o#j-2;"O&V@ѽY>Zf(xP^!#4h tJT4xX#wg%C oWZt|:3{o'b\;LA43cސw3gPy d (K'5M*J:aewo鱥@k&8,]>X:ٯ _Q5/W~R'Hlyl>8>]ѱ-Ha 2ڋ,­΄¯ &}]}%wvmw֝Qcc"7<dᤞ6$8(G;Nj…̓n{8-&EG&(}ڱ;1D>[n!ƆdzML]64UP۰vRGN:?d7oadm'GS YdQ0"'OSnķcb}ޑ?ʻ?3c d$R⮞`?QHOgxi-muZAYda ot*>'0"8|n<=O09Kر(% 2d} PͳFg:;".jDL<p=gFЬir_%ߍMBË9cG-/e.(+ ]@'9;r9w D"kCBxɍ2XKcrVB:Y; /ARأWg7vk`#ޙm_3~,jJ9G}E9}Ețo8"4Id|A o틋#&/藽N>`bSy9|'Q2^]So(܇Y^b; ,2嶋P=~fSC6l삫e*v'u\Rۙc&]\ A)>Q=At1*4l^lk0=y:/gߴ C'CLv$˳dAf9D 螀~^$ՇbtB[p"D{5S? \U(LދL6O KvY7P$Jț&j0X Gzv;|_+y9p3Xsx_(oDm=esXg;&/S:3\xEw-qr̷ A3spM鄅TmDQs%g(OR)bxPd-}獮58Yr$~P6 hħaP&Qv.q n(^Z:©~LūP檷Wwq?~DsTIݍykKhl(8]"M ?ZG/ZK"Ҁ. |YX o$t!r]*Gn`WYruDXP2 sXG"r7IidvChhP!y˭-FJ:ʠ¡/kkҤ萾\(lZߨCS|Cixo+N>2^i&fJe04LµbNi=,ƶoėβN;ﰆ3mWlt]Zl]}ӿw:HRX22M)eT ̘N Wq]\\rxC~k̚2K;2G.ѿ~T8£sAg!ِ 9=)4;{@1yLY@~"Q"AQ5י/ġ`œoGM?2غ?\`|5t `ݍJ[PQbX"F.-=[2iw,l3p[UED.lOYA:!)p=̕T}Ry'Zl7Uɘ)mS ;(Qpv?~!ZOMGqNNM%+#ہJ\T2)Җ{Fϓ RrFt4z %lN+_5F n{y_@G~)Fd[1-J5_T8kyˁbqD_RQI:* MV΢|@M!Ge55-ړC_9@cx0QT~Ǟz*y𫫫g]=IU݀K$ViARyJv V8 .pXFpmNAƶtQ܇kڑ ~c,8~b/8}oX=tj1}e.90q>]=2qq~>K+~w}Dp|s{[EI'z̻^F;j?˽c[qoϯ%УwLpU@)Zi/\6 ~+ghhhzgIg(vC>8rIS\şը3r)i)lq;#=at o7@ނ&\by=@ =^p4[2(- bl77rNf edjՄR'P9Ǩ/&2ٙOl]00x)b17a:-=dUL<5PIC`wHi{{ܘX~d~/N A’QUU9+جBlr%3&H?^:PkyM~84rf 'yf#X7Z}cD|;]c njnn:G#wTijgL j' mvى'Q0{VrN;O$c B.ҭ{pSiYXImت/n%zר&{#[OC󎽂De1έmSo`yP0Ģw2|1FyPeb<)[ C(n?mX}_Ndq}AQi"عWu6goϙ,Ul>mns]n'(ƂIz~j=_MG_D,R;Wj | n6ЯΆ۾V{s͂_}C+0HtU:kB8Feo'V*hF cL+*!͌DI E)Bd䇣,rG ?qWηee>HAųy!b}vZ5JO+,rҌ pGFL׋d?1*>ECuB%_{9g-e׶ 0Up^x:3J$ty8x7ފ"^5Rhm6p]瀬z_@4ԴsնD-߾}l,i-D[7?W Hؖ#6_-ğ98:ڻ;y'3@\ivO:52s0.sn6ԘMƈKQ₤$&x҅=e0f G",zKN6ۗ,2^Mz$#sr<7qthBE(V!̉( 0 fνU6jCi|+-[>óH dx8bO7+ٕr[Nlꛓn79'g1Nq|^lP$jYg))4*B:͗?ǽ<2Fy=oASxyyS=VkaXa@žyoJλ0#cb dA9w N괞cg<v[gTh2܈`x2 g2G(UyZ~M>& 8dbѪuiMNO*pXy"eoo^~C5ՙL^bk=Af|O[_YWwĕU6_op# \ l"*vD4hso `fQKQ^ 2V3V?Ǡd~U{{,LhcU4)mxd'8@<. r0S00D \5Ծ۫]09ezQ|}0 AۦgXǓ (9ǿsx;ZF.A1^D&6҅ʫk<<&HEPBWsfJ¨G>6T:oȠS{.{3>rsBUU8_F?f ,X> YƂANj)<6 y]! Vgs |[WdC 5Cg݇AAQKX۹рPܵ~E"!&Yfz#T^D<ﵬqaK@)a'\?lǏ T;ƫ줚O{!n;.;!wf*kpѹ$2 搄ƒ?=޴tpC#FXzb=8g(/e+![SW߈g+RDHz01jÉ%ͥ洶~qr.UMt~jIr61 E @"y. $X=^\_6kcYXFF0ľ%'E$ /)$`-JШ"enZ~^0FP1`5b`Y%%Xʙk'Ʌ{4KVٍd`4*Ӽx:EB9˦ P}oVcOZ0jC $EoFfBM7f7>71;93 ``kc7Q3\V0?!ǁk6bůnq}JNQq*J_WŤ<ʿщ%rHkF]i8f1qxN6hO/ugzƉ7Q!™Yߜh nKz =r $ OdGZ9 -76H}9^tU`4|R1U aX>5G~FeYLrB$6Q TT'4"x3Ö42m݈Ö"S;ct3b8PY< z Zɩ)*ۇaIb5իoURΏ$LjRGYMu0e+"CAI{09,5D 'ܷKbsrFD$?ƓjjQ|-`VRg Qba;ΔV x^6E]3ؑvƚ}onJ͐~2]iH&pvHh;s vXHp6Fx(9A2b$9D`Ny!5)W@dDnϰkio2|SSjWSq3j1#[o- 7O:=Q/";Lq:qi1V;;m2Q3cĩu0}*Ș#<*N&Ly눅&mR A+p#lQq)ƨϮ r"I3|2.Mm8>*) E*l ~3yqR"@EA@n_I>o[ (=6LJWGMsy N]_J\=]ep fVS̖f˼@0A ah,JȂۼE@Jo?J u&: 4 R_nRsf"O,5^n򾽜PvJf,qA ҇Nj'gQf3փrggN={@M"rr.~3tѤ 9߀5@UPX`lD]-](*L̈́CVWpPg|zk3^VHKNdιngjN3cQC8E{-lퟶꀆيiriI:%kTtua:뇞n"璁IЌѨǃJfǏpmv)GM d8n_PB1:`4HVů1xq?'|vq4q+O-,bDL3X(g Gϖdmm7;Gɻҫ#dG3̐`š[^rT,77$3#/O]f) i^_Ӌ[cGo.ƿR4b a~ӻږ<1o^clGQA]l3=waKD}/uƹ.@@Jj(r5)i2u c]51 J &9KJ$i)@Bpo54A]M>P:`H׌{JS@Ñ=.8_\/QG6P*&1@ra] ,N!4y6o2ͪ\BTa dt*AC>m:*glVQuܿeVszV?xx ր=>"N[ONm#vo=j/"( ,t%cj+5v:SiY4{3̨glH"K6vC;)ҤI+t85Tx;yo9b +Z*F{f(.VrF7L 7 ZeJ\h `= 8Q/*oĘnMraUBVz}/V δ~ ?Ȭ {Ԍ{h2#7Rs *jq$q@Zq1&WP;5r!Y]48Z RSz{Rh~oU~bSZAiˮ}&Ty=Ca 'xlf] OLyyT[IQs!L9@kkL#_o #0C2m!d8UJݞ+a;JQ۵-v'l9H@ /oй$Ь =d7xi*a:t('Yfn/Y3@ۨj ,8UdR' #{yW '9 RV! B`Y@Q<)Y$&xl;v.4~"#ы\<`ѽ~B 2]jl\q47%1/jWH>H^ ዙ֊hUh|ɒ#yqE%9mP줞 e^AVcO)@=M!ٳ:,9RA~DskwYV╼}zfx]>V 46P`w 鄲"xg8Ы(nI-'  (Μ\iAq0wbQd .&5 }ITe/i}U]jŢrHͣ c5Ozk:ONw͘4@Y$|5Af$6y g}tu2IדS[Mr8H"y}_c۵vqmQ@*)as\߉yQ;YULRo.7i;#NC8ժ3o\jo߿ÝL # ~|pAU@imsKϱ\\n.DnxUb5;l\3tr'Qa'|?B wOCa,7z X<nc&1D $_$!k2NobHn8ejZļLDDtXW𡞆?918@٢ka?)u[jp_3d;pwXXpVY/S٠\Onl9U13f9ˇc3JP_[V安S =^lv5'^x9PTIYmgJۂ ga% +X"a;on3A'--ˍ'22}PVNlVZMk5yq֣/jXqYN4T`uk|CUmXmH%%&r2*nlozF#0G eM<8jf |F$oW%eLCvTZk'(Dy1B}V_ag.f;+B`Y}/BbP! |9 [6.|ou7z"Kka֭-bNS03)yc83JǻA\o{S,g #>3XG_yWKuȏ%7J쉉g}JAO!_z=rwe^^a0 RfQO8NE9not h@EgFҧaS=5UWeK;ؽ1}XRPFŁ6PrfU}t)&p_iik}9xM?`*C+溧L9%%H* DF~&͒axHc8rd6^{/s`@#!my:R+8Z-[BR[Et6#bʍG3B8,U_ 1y/5(\le0f]裶֎ wXѡ.i"π`(5*'Qxǟf_Ma!rwSzJ /.-t2DnTɫ! |;ݿXR>~BAﰍvtO# ^[L\ M q?,G>&d7lK-}E D@+=t-k68Ɏzq*#Vi;=|BpՕ--U,pjB@Par4m ހKxߟ3OϓڋNg뀝UZ‚'*l7lqm˼-lխÁΈWL&GLb1}2<Rw~0KFfK}B/T2s9\v=+ u?/q?ԝ[ .Q͖=?F a;`voYii[1H7mfw̤B] .ʿy.:# )%k~l62sg/>q|k_lЧ1}zu4 f(ar޶RC!oe7㤮$z0y'r$*o~  2G1pT藻8[A iU}ڍvL '_s@ۥ9s~)1j Q^`؄l@ $c i؝h:@^X[7~?UL QVLPW1.0ZM$~߿ @s%d oAS"J`‚߃̑>0! k\~qq"y{eK,KFy b1?C3i孒&ٲ +45 +{.HCzہ¸ k]_pZeaL4YfIxQ^t%zSW{ yv~~ߙWFn^q(eTTba{/ҋ+@^:úQ-4({=>dz^ x8V;<5{ZXIU?%aw8bԮbΉ&d'~/_{i@& $De'XrIW4J8^60Ȁ:f+J?u{&2 |^8 QIC֡+<%$ۛ'"c'^a+ut*1򩩩q I&hK4EpDӪj[ӛVISOݎHFMɍϥ׏'J,qnb<\2 sn{pź72I;%NNM$@f|٢ѱn QYuB$p4'=VEn-P P {Zڍ;ðzw2ɺBWIKv$`46J]+N6gQ_>gӧJ2_,_S+nj|F5fGˡnYS;"!a4a?8M[ni9<Z YqW(iWScDFI2V7PbY8<2g}vj#E MFX;En36C+(k  Y*|@H~)/ ô4m?Kh]qpNGHxӮpdAҖ&ﰆ`zo|`='%tׯj`=zC,nJmCuhi/?mg 3 i-1)EJ[)cES B(YZT 1gTl]ˌ|a >.60=2tZϱ~ pfn{i\XKGzGJxd}2h w~շWSuihɁʁǠMdt8ue*Ԃ0fzx:X3VSx@rdeOW^I,Ki3ZOOwBAyjP+%XJQ{ YuJ5 s? 3Knt6g\Җ(g/ hA,q#J.L*NI:W6W4T PP\1R _ 41䵍LKf|8vã}/ O%"*0G΁xEzQ6.IFVaюP9:Mml޷oK咓7Bւ6 ov#-BJ"pԞ >_!Ly|P㷡xst|g- $cIA(rb[8KP<3T(ӊEcXgb_z6)K@_a@QgsVz ׷F#9-=]a(P"عgos -=3D)ܲ_h OT?[>zPя#1 c5cՅ3ũ1"-K E˗ps>ho^ k8L-5J"Еhg;Xu7A )Ne .wbVՓXb!͒'b%o4hpCsş})+}eau "z݅w{k?֗#3m&׋j,E6a>&&uEeuknP,PwJ S JOdS✷`Jˑ]\φэGAwx}q5>Sՙ񿎑H;.Tg8pҪXJV%G^g.ͯ3#]mpAOZz*!db_]11af 0Nu nWs1*sgJ@Z,|\t//7 1>hYMT8-&sS[n/2á #F.-bbI,m[3ֳ3 ~;~:TL8aȉ|/LT;F6W&@{, 7RMHeU@x^%C]щnӃ˫?ᅱ-0oMzȦUm' 36٧2UGPPnJ% Hn2G2 E ~2X6P 2mmD4w+l]YvY)pӠXMMY鼴5Rv囨QFagtI:4)0hMmf.3ݽ6I8΍~(/K"8^(1h, #݇0(J^8,@])r.Jn**i1Z)rx"_t3G!0PO(@əDyp\>t[~7gfY#RyXH"PRfx(f>(#6=]/x׮nD!X90fԡ :I0 =^4-֟G768KwiV㾟epK|S5P42JpWAst~-H '|*(FU*.|oː`/KiJ߿je L$"ic]Uii=My"G{t,U79 tAT~>]*.niN9Յ&M('K&Ğd CS>^2HTqXӍYf<p4 sB5aR;^LhwV#Sv֝;B'URCQ# ^x(/*Seqր>x>F͙T򭴔 ,UQWck'j#ѓ}mFjI@Yg&|.g#$JmѺ: 6}LX9A+_?25Yem"1QW>H'f(`,ȵ]-yrՉeULq*^js0 "*lFlq)08+a-aE5@ h ѪJ Y3\\y#JAT>t0+7+G!y{D')S_)ǏƯ_>]ă~O>_尷'{`ȕkv>~Zj&M_/]m4g&Y[ntB/)¥Pr|2'Įn[{rKLt{\Ηҡnfs؈ ) fm/VUoLo>iQbv5_"\ZvL@}[ڍی^`]Xn&Q[꺤mVQJ-Se};aSqK-ۙ|U27$6 s 畐ǛlkU:+vJ&(ȭ"--z'OaFPX>F%xSn1`F,cL)ԯdL+ 5 *.wǵk( JK 7=eGDlA.qiMбt"Rr[?7hw9_8Z\]u/ֻ bծOWzȖ+`aiϹK\)W-tFEX0b L'媅o u‘kčۊ6t7.U·3-iDp3էGSD m9ɚsV҉:/Oc5ų7}EUXl~"&pؔ%J5u7"hF 91 nWO]\t˔ +W2ƟLLB1vĐ^ޘ/Dzc0uL?2I:gZ~|]|(X?C21H~&no}&-^ zLG"ᄔp@g՟\f ]*6#*1 @!VN4۝-44ZǝUfIS$ j`P.X(ug3F$u֙\p0&:WD}N&ȷ>}x`Ξ؃`-v^e>.I!z咇Vbb뒾Rzz@-)PnEYI\PrXJK]㡎 9U#$ +MUh_b meeB<)l9{uAg/'iX$Jf@!{PkоFabP{Kf_O b?hac; OUG9ci.L0vUt}etF}Y-)̑Tt~/}Vi$U>%'$6~!2וc1I6J]>_.=,ԉ?!Q'\)*Jt43P`3Q/IWSZ9[;& Fٿci!"RglT0W4MYL*tMƯw[;тd'/J{n4VveuŇm&CrmLJ1o& VnTt6}ŧv(lrRmj 'nV=8Hј4WF>: P$3Q -B_rU'5M;&\K2V&2` Ph3kdUyu'tw't-̴tT c['߭Qyn?m}#;h W[ZZ`۴V#5Z9&'ɁF=:.z&HJix-vğ<ݯ#&G|⋊ fZXi+OxP1_ɽ4AK ViQA*g|,mܨaLSXDFh~SCŎ-)BJ{ʢsX0&2]۹m\ jt٦hoiPo*4uwg`1|yFLY;(EΤ.-cFpҾ{oMveQF Cy{{'j}xqaKoY_S2XCwz£{< %ZK Yg:j3䔔,ь\@ Vۊ 7b ,q g[K ЈxHz?4g6eX7b R|ub$eF]]UDA9ۚTrvvݻw_aD(& 묛j`ZqBSVŶ+ƹ7d`Qcg4 ݬ7 M}͘dT@)@$@]?1E_J72q,dݰ.mlx`plFv^xt͡+O>UWޝ{3ʁ5׆/UDƧ.&ZL=dbĿ.-yB^-u$"vno/ag`@?n$b'$?{-BLɖx,1mnRЈF?"9fQ?z7*kl]B&";Zí֪!fzw~iVBaRF把z"Wqʐ< [ާgrfƾ '\%YvBwAw]6ƜO' ̞ҥ3f[ҮsѻM7p sxɭ^]^dTԄȽCQ ͪ;Wm =7vܰ6 Ƕ}ATdMhOc ѓ7d,WFhhBc>.3sqjL(;Ki(<,|`[I*ꯦU]tFC@x%Uu2d8uu(|UCHf2H#@?!(~>!1q<P hL็[6xӻzwGYJDoVaq^ aTKJ|L^T팈-+ٗq̄ c)!LI|$#F/<1lJ?VX !+n+\Fx(+m.; o zZG 59WHS=Q-FaَEX[t p K?Vw/Ӭx5ꅌz, 9ۛS(xxޟptk= }8']"{X,uxN1o%9oȈ މJt16~R޻Rd>Pa@\ khLVA߷Z+)(a !&fr?4[]}ke1ΎPD49{sQY@Seyx*کտΔ)Ѱ>Qk8I H}}뷓 H|[ÕVsǷI6\-AK&6f }iW%MRJ6F 2V1v` ԰&o.bj2pm/ (']O[WmhDa^ ׆OfsvmCdDD{<~Ē!!=QmYI3R<yxhW__{3,l^rgSC-?$,@0]~ZևƩ. E}#7cA)Ws4{HG^8l\(m"QU(J|Q;<H3 ^MwOۯ؆?]v͈r3<e gD*<_3>N"8y ~y52 P 3x"QcB_OG{pZn֎#. 7/qeoXSsrI4o5Q"78+?Ojm%Ⰼfb}뷔ݹi݉ [^-~tmΐO`&l&~Asioobș.jE$C[џ ;u8,2Q*r^v,C"6[l5ƻH˃K 1<1O/ s*,\q вշz%//JmABkF.ah  Y1PA @ Q!L~ã;׫Q߹b8)_.RZZʾc0!`JcGy_:A.fWW)-- #Dc_7s?&6 hȓ?,̴xGlr (!PuZQHi7ZnHP?<ocOVX?@"T2F҅r$Ud _v}ѹ^"ç`+" IBjhBSQB)C }p4"UK,rb{9gjgqJ+ݐHFkaS  b@I`I71 YM5jK5s<CM%ڡ2njA_jR=1;QE}x ]OuO{WƃtR RrT\lF"|%H53m6ʢ;mGJIV:BWC f l_ }(,@$+0}GPP @@wAb"Qt*sN!UKeoqB`%ЕZX A^: s@Ő694dى`T_qC~ЕWErͪOS팗IUV(xmh.tLTs@^P]c`H&>UV`??^ xa'&#RL3&Ax3=Wpyif3'ʢeTŷE)RΙgB*Zgu4c]|0h.V[_k9l*_[Leku2nDiV:>2dKҙtz 6X/g\.RJ ۡZ[A,Q4^YnoQe9ʻh|v{"M t/rFkT8g,$Te$ܫკ~i(h"`B`r<ۛڪF6۷p^Yuj1>Rp'p9@!8)f,-iQթDy=efS;nh+QFjU J9IfwPEePKwD,.c=ᓲfX6S j}OFD0ի8sf4>yWT}ݫ`;? ?(JG5K{݄Lk/}9{,@ai/l29)-(ZjuJ33ߋ#]1{(gZiUL=Բ͢総̙Ư{`?ٷ'wФ2$ȧ?ؙtA0fjyJ5nZM ]B!Q0tgc)Gveߺ%Ϻ޾8݊?gOIL6^2DHeVR™c<]i@pp)zZH. =Iŭ9րI!cUܖCYVs#=abFo}GGG٧)fT> ]ݷ n'vqhNдZ)"lRTenT$ 3|6߲Ru,XA~=J 2>~2#ѻ bHXNNox=\D1*-@A.hbW卙pg5ۊ3C,"LDLRSJ>VCJqj ;2AmaT7jy_ϣxAO%8/eO^rpCZJ#JrHGsrT2(g+ U긍Օ}BNJs Ia#z o~Ċ(L :>Ʃwzj;,Ge#l>|Qf{G_ۤ'@t!a" >ݬ1NbI#'25C>M?پ7LNm,xDtB("k=9:)F ՘@"酯؍d&"}Q4&t_ӯmAk |{3s۶M_[lBugd U֣'H?vٯN.E= u7i|7sd9&E:^j4"ߟLWw2 HEoʗ9u*D{Q &hhHj`/%(KVl`RS.zםQ1P?%HpӥH.3p*g9'Z>#i_odt=҃ҫHH){χtP@^ R Uz^7or9'7sgy&$S™윦]$P _{Pbw͈Oug{qR:NY &v:k3uz:[G) (Kϡ(RJJ[ٯ O~ ecj+NRYqi :K{@A(;k&!'G%67D0-0shL0} \r:`m8AX@RѥZ% ,,Pq{fje+tBS) SA)q3p.i7':dLG1^Ѡkvz^{C(.T'w7UTc)dW{AWsNqo{sC?EdY+]{9!ͳ"}-rZJv'I_h0e<2'ϓK)C˽'xUi}AYu+z6 Z[S|q7aSXΰݞpY~y]M#jT;۷5&7(Np*gHyolƸ }#ϰ@/[(ޠy`@ٰ]}De Jy_N)j!QNv$XSᮢo١I9-۰yk@&t!|OHB/ikwK2_45Aڬ#foqe'`p Wh0fZ uebBf:>~i)$Q?w@O?<8 ϼŦ<^i<^VG[(v ZSC1S޿(J Gw] /A@2$BG`w,|dd@E; ey_ve z3 0/!`3fhnU T\VީU աV\}qsG( cԃ˝:qUNrg7ګ&fψ;^mp^8iP\C95ߩA3^,`C*ڡ,QzCxq5٨TYGm BGτf?vM{{"twT&KYIU+am'E&Tݳ/\SL4.~'OL յdT8cjGMLLk8\?t,ovFETv@څ)Z;oT~ J.-ut4@EJYKW[zXr>oM*26R QbQBJFFl Z,sFC͢A[,C5ρKlu"qg-Vww${'Y܍%>UsI*j#sN/ r]S ҼdXʋ r:~R Wq"hDON+0}g^'3>Q:(2 s}/NՎOCu+)XPZZK @bl<!颼YNza,jEgg7!r( 3NҿnDw0ҲRCcr2Gfo"Y+`|".Gޯv I~h 0KrV4ئnn^ܢ*FBn@ -B|)&*^E<17lk]'qlh% y`ml8O31{^_j5i\RÜqcBAyE*lLu&x.EVZA> O)?ߩ\d:$ퟻ-¶"lh@sk vF֐w8~y)%29[6bbZTzy“:Y1^jbOC\rUϣY1\{-@"!ϲ#nZ a?i``Tb<7$^T'R2Wvđ3nv<x@%҅q>{&xq0Ձ=evg GB ~=0rY Rw:v߽0$?2ϟyyk@X'rd}>=U3eƎ.5cٷ dC:Wn) Q|^֋NfƁDQЂDeTe@YW^!&TtA5FP+JNT? !MH喖s}oFxf'] ŝB%ܿ cXΧWqЬY+uw+mT!{vvsDuGl#Ø,/?Al[н2ݦT3O~s{mq[u 4جW I1SնTKdԂK Qpiw~pujػ˲yjG{ڰ$Xt ضGHѶć,UI&I b-hnщԒeSGy|lV&?i~2|5NH$ޙN.,~PE0c~PsI*9椫\m RW[ ȷ& t] >MFxJqϾsaK q&/+ 5;a܆s ,wXVs[͈^ e7U„իwΰ>{W4Grv] 6O[: ׸_ܺ@cA~ߢvR/9mOکEr+e-M xm 1k׌ W#{GR˪'Q7!"޲tR]jh\R {$Nբ`(a| >+sX,abXD/"nn PE }WԈ)Ǟ=F"{j;OӴw9=)X"7d1~;TyH/,: _&Ͻ; r3m6~2g$L׊5{RBv#?̍`w~'H+(]^"m~ VjyKZ%wPGr>p*e&(y>hd+K18dzXv@) ASI $c?rKQu2}lͷQ( [U&بW2A?zmSO е8EdXF>?*+ݜ_e+&(h&vϬh RVtK!?QJRT^*byW,ڟ7r*rML蓘28,;م~ZK8^k&%_3;[`k 6D\Ŝ0L<$8X쫬 i2=½訥u5{`b&/)^Jf_Jvr\(lyj >8ik/aOKgPP|*Ri-&16ey8{e£y$aHB\H*&|8 (onQrLPZ"l<3W+ 6Su6ʖuC;Sd[=$8^ZqZ#/0!Xc;A:h.T~1^b&/Gz'T2\Z9vé7NGncwȮ T0s[.1loM եDVb U0DI3"!F)Cv: d5o1n`z/vƀn Ŋk \a$~c;=W[ GO^oI< ZPȴZlӟΟXWzlF.Ӣi7n7:A⿐G3rY!glƓ9f }6 xliƥbY-O6[ +,CD69i_iD5j"*0FlJIkOjYMm6Ǹg<%ʗFG #79lcVX95DƔK>ژ+aEݭivyCM얽\m4Z߂0$o;d~ Wtf1#@  5|+$!eWPCRfݡh2tSzU7PK }lYZyQ3d.iconset/icon_16x16@2x.pngUT mKgmKgux PNG  IHDR szz pHYs'tEXtSoftwarewww.inkscape.org<IDATXklSe=];v m^2$FcL!hₛKL. F?4K0 :f n%^֭]m{y^֕|8y?HBmEQ Cyhti9J|>wlHiAF#HD}1iB]ב$p8nm6ۖ<OnVOyAeTUjjBvvvސ b-#$Ih4bZj?ym)s',l˲H$#jlFUQ]ot:4M2A4 &|Bjg$YQ&pnj!pOtt&(V Jrp"TMCuz$It LOhnn`J7O>9odOx^Vjb;xݛb3f}g״fz{ -p{}}E#}}}((Ȳg%_xTիWŮ]OBľ}%C#hl\.@|];vD  {*Q߬۷? QXX Ѷ6?eel6k7PUH$2/)dYN&^zWl{ʕLL:,X`0Y$ N20006i,'%W]I(w_f;Ls?)|6gOϤU4uvFSPq rskhMcN[գ[_~ٳmBS˗gbr meeX ^=AE!1S͸%ba޼y]ׅpe%B77#ljicuu)iogܹ\\3`:B.ar9M#ZZJtL`F3!L'P_Wz{Qzz.^L&[,i<0S<#%%DJJ6Zy:\Z0>n$BT$I B֦B.PIENDB`PK lYV; 3d.iconset/icon_32x32@2x.pngUT oKgoKgux PNG  IHDR@@iq pHYsaaøtEXtSoftwarewww.inkscape.org< kIDATx{XTu_gΜ8#Ok%xKQ2WS)dVfʖm뚺owrI1Bk$xOq Xl5 5M 39atq}~~0||AUU¡Ct'`Ȳ,Ȳ,ʲ6A6Ƭ+vL EQe(ꩨxbӧ_1b-MPUEQp݁{A4\.\.vHpp`4>g0<(@mH(H*$Ih0ТE[w}7 |it:t:,t:1 Hd2OOHHݵkWInUW NI0 K0U @Q['x~@@tTWW#IRUG[,m}Whς녠CL&Ӳ7LM!Vt:]TuPW(F uh4 zl<@;l}Ah&,׎K(P-I43??A5ijT1UQkt:BDIf ]4v((--~fN! FV+K3F#NSoZ|Ktט\5Nl&((^Ohh(*֨,+(Ek(lX,322ڏ;ͻF@3Z "FV+,*\j **ݮڵ! "-p%N>z h4"(( j=*-2c 4fJj'.TЦ-TUɔp:U°a"(5~/d4RRX4c>ĉ̞ 'NbҤjf͒Q_u?q[0~iӦ=STT›(EQNr,ft%c0˰~=JpZt``wt)l#/f?ӽ{w@'Ih>[oM ݻDGCY$'IOWׯ} {HDii)_wJt…6Ǝѣ|1xbo&%kᶙ?O_7 >q|/PLFv xq+`Ѣ?y?BZ$%MaϞBx#B}Νv>rss}>t]T[9fΜ[ڙ6jZ4h$GNFQh"##Yku~h'9z'=e'Oߟ8`痿׵P{'7GE~~u=?f S1gϞ4I? ;;a'شɎ7VE)e7W{WzPU}:˗/g^eeeѳQ;PU%c6o瀕gΜ!)iaa'9pNXXLqѣGC&0tPXr%_~%^3m$V\;&ː!!&y l߾!CbIH8FVVh֯$)i f1w\W5kVMrE/^8yÍ^[mLvd~BZZ5= fn>$>>>}ӶDcuDD8XFB=õ6?~|6mO۶jU-((¿m u}͛Ux@(?0dtQg4F^~Eϔ)Z>|0 v鄉ûݐ)wMΝor"$Iп̟11pzn7$'kZrXQzcر#; B'3`j/jQ\ t4 W?u RR "))ki@ݖX= :IOmrظQ+VM7 3BJL>K6 <he8|~ֲ%9uJb3S•+p/ȑ 9s۷wGevmY↵)sX$}֌eepۈNvH׮sgt4ɁɓCm>@dP23wѪU+9D =valK/Gzzsv6P^< :=~Ed_ZS姞t-Va(cjWYc$Ie <{0}cƌcޯgv {pQ6lHuk;QQZ~2SSm6M0gk1wojر# &Lx榫&OB<}-Z_KaƌPESG xxMZb&a:eeQl۶z_6PL99821W^A{M~~!:ǎ),SY`p0{.fzYRY|*u*\mqGDP (V+>ڬ~2r$jnLC={+V!C*d{^T۶yǏJ7 X22Ӫ8s-]ܪ'bt/ӡC;Kff([Z)vmڵ_v0h,(ޯuή]HJΝF#m ڵ꫿ӽS,[f!URիͨjvw൛ˑo8_X8gVaȠMBի2o=+WSTԅ#GK ȪUk ix|*+2c^>}\댌djaٴ HLSfٲetԉb~u.͘A̙jx `X^N؋/"9…ŋ:u? =6yh=q"u|^'lIg!8n $=kZǎŴk\ggK1|=]uwu¹dg駄Ψ(]>11۷^Gw/UĨ?%ʸ8*UVb(*PTB,A jPkÇdfs~€:ky}2X8zѫ lSRP ˅ߧG@>`o5m} Ww;r PcW%IENDB`PK |lY@'3d.iconset/icon_16x16.pngUT lKglKgux PNG  IHDRa pHYs\rtEXtSoftwarewww.inkscape.org<IDAT8KTa9($X DvCH0/6n\$h碌 h! - @XJ 5 qg^umWM8/M)@\^5Ms4>>>NT|T*_,˺x뺲^gƞy= t0p˲t!Bp (|%G l-,Ef!STܼaw~،.?v\a{-I$vYeDɍklm#H)ӓ!kk88O+bEr﷭;X|!ÿ,/kךt2RJ >r7ss,-mXYbd^u)%]g97y'g;" .0==Փ;uDN$Ҽ^͇X2G'  !RJ!MR*q+JafS׎H)79Y,bizSAm(R$dVk)VD6q'< F!l5IENDB`PKlY zau3d.iconset/icon_512x512@2x.pngUT pKgpKgux D]XT[=3t7H# !#"H)R* H3" - ] 10g>D "wchs#JL2!i4܍̥7j[f[%d`az#Ռw7s$%% -yd 7ؒ_,¯G`_Vo Z]}C/э%̍ C̨-ݟP3dh$HW!$d伂s\4 b!bWߥpifJ_OߒSQkq'*%ؓ6[Jpk|x lcС%+lApWx^F<h{bd Q߃?C:T.@˂;`8+RYդ5\l-_ܷhA7=65ݰdDYA+jYQ7~7D`rё@^ Jt^G3%X Lӧ;L,Vhk[W"Y=>)\.'so8U:C  ƒ.2WxRXqaPCwXo רxgOR\iZW]UuG$)6xLqQVlnnRT-1 X_?3q*}F\3ܩp6v՟yi']|WQt[3HSA en50d4Fmթ Ӎ?dͶH&Ak*-CMq,3 R,S襵5ZP;kX/?6"WSR."N]uL@r@kx ˡi.cYr:HHTz{]=z~goL2sӼWcΑ_ҙ  0ݾ,y;\+D^;'Xǁi¥>7Ia&8pSe¹*[J:$gwo0NoL?ˆE߼/$[W!Bxؙ C{dISrAdJ%j6ɺलevȸ9A f==fƅq 7Q4}k. ,Xafd2 S_~ת`nl?+ڽ/ hu_]jq ~TrQ.:p X{:};mzmKr!I"HV]h)'p E$~{+NH\O 0 ـqr%rU;?ed~_:;oZXRr~DG==aÃ>vFet6>V>K8}4ǓGM贰D|B?u?ҷ2r3zBV sn72-\xm 7%R%^&k?= OШ-k1dm{|9~?R{a(l n { njITt!X:".ђMC^VJeOzEۼ I9èpok[0w%~\Z#uo(lX+Sn? ,U}XWnJ׶\QRNb+t_nQ{ҋc#&@C&!eJ;'J f5m7&qАXK9@-I|:\)3w]YehQ/X9mXJڢ^]imL<_hoX7(^9-^ /=wjۙ@SQ=gR҄ri>R9l8"j/ 4xSgTGKM"|+j|{l? +:†v朷umSmVFl^1fr\&| i?lf={XERNNXԤu/-{ W$C/ʨHWTGRmReIrC%fl ԁ W_K $țBm]$*tHDVwVPDV;F\aϼ-0`X"D #Rkd Ԥ 8ӱYڍd3N"$`I8)SFLVY{w-z~|iXwkUf͵E[0o5铡k0P:Db#XFtH8? ?݃ob~G6;Х첋ǘZ ֎\"&LF61̎~/,Y_R(?ŵ]'34-~b[R! P{p2 -=  ם1To"N١Esu-pP"#:b(Ldyusr$*"~OWÔg#?Qҕ8~/Rpt\/6;ISib")/C#UNzLKl֥xKA-*Vp ZNr:4}+Q}Rr?E1<;@Kw]#QЀ龼JldjIBR>>=GdE ǭvB⧾rG{#{zL❎'ccxPDXM= $0׋F3rmI~Pެ}4]=bTZk;jb0 K, +~pAqT )*Ak|/ EOܔiRT01V5q bOV2ĉWm0B>]kLt8sqMޜ-P{t\Ll b| ;*7Z;zj˚x`wVdqnIظs7cBzrTˠrt=;~? H+xo}u *۵(STLxaH t6:w"𩮘KU!g##\ v#X1ŔI,7<Q fy8o%ޅaE5FHlufh|D'rwUa~Ruٳ)4%QD ܐw^0^Ljiwdpyu -@ 4ϲfavI=`3m~Ahhk dEGc,u0\w^f +:.$7=¦\k4bQ\o >~o0U@UU6~ұ6FinNrI]RdoIMrO׼'ӨF©HfΖں#7ȰK]ջˣx_]4}Weןv2uU%đy{ȏ?F.UnBZɞAeN *M\3hઃOTR+ErI|C9Zqb)4Wl#*;-tVM)j˼>"ch;"$\j+͆0^Z&spr y9}ErCkŋ=ɗnlq؃U=Հ\͛旾ZG\\P#WNuвV'qDT|X[۳(&vJ:h'i~Hy=Y͉q;0һgHCđ; ߤuO ,[ts&GJ iHr8=Zwyo|۷od 'jZrdifח3 XZٌ!Y[.M2ɸM䕐_`/?;g|}ua2 \fZȻuu,-4i+ ko]~ZJl jtѲe(ȵtKCvrF3G|7JKd}LTmUydx}cIU\|ş d\ LMz Rq3\iR^)>I774,Ge4_KoCxը]/Z=MP*+X*pm[ڑwVQq T-^Q781f@FFym,8&ܶa`\8'ـq3s^C~=N> h;8f_E"vbSk*+EDώ.<=jkO(7 J">SC5"F2Z}*)F#P]]L Pp^\7?ҽe=/`C 1m g:T\z[)Xf\l;m»"nU TQS!Q?* 8[ x'zC H.q #/oĥc8ؽyC*K4wsv@ALèo0ȡ`ZJBd?*̫]7smSRR>&?+ݏ{mAC毣,q601.~1EDŽߎrl_){uSUi=f6C-t b JZLb^U9{I4t. iY ɉb#f*?{pw,fߟ HdHsYFǏ =r$8Χw&d?]KV+p0.el OMr=o3j+0~mhy|eMk.Jg)rM&o+ I'^z4@fJw$4ot]{ 82.e'}/Zbk[[K~.!DnO>Glw&Iciܾ&g'o7{P _,`>#5/Ϫ..K} 3) |x %l^@n>8{ =J\܏| j5 3 qȜ]LPjl]p=Ѥ=#ᆾDntVQ9S#A?#fȢ*͵PVJVY .&8U=Pn{=((3WfvvWQ,ߖmK|1P%NBM+ǝP>S {0DtvPO;=#4M1%6'|v$ktV|)ץdЃ>73{!c7Jnҁv!XJ{,NcM$C&)N*fd?\3!iDޱIe*Ϸ{Ҹ݃E5aa[MȞi{AH?76XzFD2zUۢT)Q ޗ(C oUF8}0뤈-jWAkam3,3ip^Bz%Lcx:Ǧ5G8 4\_ #F} r[_,ZtRQ«&&:R#~7G/k^T@c{іTr]E jq[gSAE&,U0{wq4h+b@i I@?nLNg|) Q,iAK?k{;3U6[GxhoUMMUs>ܨ4W`XWW_:0qtrYҤAK=.Cu\tr/vVil%P}E|qp~KpN3\RmqpJd'MGR՟qtV#D (]ldWuٶb4v%ǧ,qUO#&e͌1̷mBi `Hh& tc*]p> M/;pElҡ.;ȇ dWc] a"tdn%/\]_A,m[Unof&r?lh1Зlp5q8tY~(.PhMmoNKa.q>i8M(]:vMt()a[FBZruF='tW"ّi "a`LD3HĂjd÷bZAk5Չ -BAzak l{K${J~rso'ՇyU:̺줻깇Vszm+r;5*/d`i;K0Drqpx`)Pt??SQ)2wʋ3zN sGP^;gg!O 32"qG66a/hq%|ls|Ӽ H-Sү^<K# Ā+@k a7X<5`ysv3vUu{g#yjM.ƽ%/%-@NSco<}p|?Wn4e|.JS(<ͯXtIL"# z;_#Agicr*qokh/K_:g6Z#0̶$d;s %N hk]=SLqǬh E Pgs `Q96ZMKO$˥vV#4-&TR?]f7pwj(<3á!~M~P6ida)÷h[S̘6 OdNCuh`RKntxF9a^XyM_o, +IWKzvI,q2@3YW_ w8^נL4E/4|Q%DƢYgcUApfSWyW֛dL c_Kf7np$]1vVABի k:zRo:248>/;n!4!5/vWtFIY{\Mظ8=-{,fd<-O6ٶ5*">G}~\遙`mIoצ ~!CsxD/4Ԣ|{v9<';Iqݭ; L/[OE6.>| ~G<44cs膾ĕHAIGXu]\340%L:b1(^0rѽ[>j?tP/ЂTT]:G r&"#.<=%!Li<%C"͎ȦQƋ#a,{wUo0i[bFp!%"&토#3vx (6jW4|W*bsdFM8WZ6;r=% :'>WJm%Wz*i[YK>;t%{o${D&W"T"s(;LWw̪lnP4jEZ,)fZf!̶h >#Ibkg{5B^r?*M%p@N~Ƞ['q%W\l˧H]E\lPV5 ~w5@we!#.m/SFWWג- wUn믗U Q&&&Qieb!?QE`S {6w̪dbY.)3DXr6WF\C.GMWYT9{?$Ȏ81$]?$&)~0 @8KQՀߦ>ĔƆ`GmmU8И Lc_8鐎s' } x*h,J xwLBJq`Gf7Cj[[JH"ךj:( 4f[dh̝Ki>,@ܮwDS;(H;'"fS6'W<^EЈes ,ĕ$wԎݰ@Z@ *-$r(y;3&dL§fS@WQshZ;(sbpuc1ҳ:_6'83qDB=[-IVxG†% pg3WCJq$w a~jr/ k8_U;[5[ {w2_Q8MmBAc5hNZR-Y?^w<]m˴Yɫm~JW/XW,Э|?(fސY~+^u &(!5Ռ}>^{:ֆ08v]R!W /7x!preH1-7aY TUU>`zs g1WU;1fO{U3A5?Cȶ>!K $r )G܆ZyRܫ'aEBׯXRho֯(i{в p#m*!hopQZ}bb?d+vy*cڙ o_ԣ+&ZQ d`%Ze#l^1M0s|FqܦttPa[L\u +0b:a| vLW+4 V9ٺn06UIi삖&b[FwAa |C- 9Ǻy:p6,7C̐wM %9JWӀZx/idj-[Ą`oq~lz`.w`8[sC=vBؼ4|J-"no~` C?{Js&rEPT{B| S/F\z/ksD; TތY300QrTA9 wgYnl9]Uo0B%<=iEzϯhn+VkQ>.ɀmWR d 0pIpag@x#mKkl AziN6CfEcGlAuttd 3>=a|~0B wzv dYo驹ZYspBʱ+|<B]4Ҙm-;" ,ooE9(fTG[zW%,|'k5qGJ:Wƈ`>a&ia%Z(ض:wcRofpJo7*8ԢGzޣϞ]}gyfK'R:" g\--&#/n\[($l4/͹GPx{LS)¨!(ŋ9~Ƈ:{/͡ hTYbYΉNtd-mݻ@np--XTnd~LE OKȗvRZ3͑0~|x݇Υ>2a<7c^֩>Oׁ#ݢtN?&2L^q#Nہx|fIIB+LaAY0X )Bhu '/Εf_0ᰶwmTmu.`AR/oֱa^J#:gn~Ymd̹~Rj|(݌ߖW}ѝ4PE0 :5f=ktbBH;vf"Uڱ]6yU*`k6KBiwm/]epuWpɸ,jGUЁibL%f𢗩S>Ld,a(;*ח^V7}`B~km2vǤ['Gi@*J0m6'%cD3MNxd*WgLh/(^ڔR9TU]^k͞!m/(j6:4;9p+((I@P[Bcn卸{ytq()B#ZRA.ΔȰ_O0@v mV=skM`dOq{V}^}0@-di7AV O$[sw},$b߶?"B<2MNdC eK!c'_)5o† b䒦D~kNFtX=Ki&*Ǖj~VfSLL.ߦ[K`\?E:{&&SdtްO PRbZ֍3qD[V[6~ma!`8xɀt6&~)l>m[qE.?D,'dNq́mKFnu."d^oKXYOZKLcvtP$^Y!|۹GwCUEi[,$mm],S_, ךڰJƏ %'˙!M}ܽTê?l[ uKyj9by ;"y*^f$R  >U%%ڧr|vIIHl\r<>ߍъV"%oּh[%79,%,%vi6 czP8NA;AG0V{&tRFۚ@6*Dq4>yO^Ы{V}ɑȝqcӟ̔'U~P߫_x*)t^n<݃pth" dJq/s_ .g #8t t{M憀GQhjٟwvw?@.e:oC yrl>G&< 3-"qCtxkrJu ݳpS*##c/K\J5 mmmu EZi6uW h^v䋽]q\LKb"s|Z+R1b (mveK׆S Дfp9*4:\gh0[%n]5=]U۪`+XڻL'vv26 -Ӿr=r"4g^# D(~F|K:W`TL.tk5 Or˧RtgY s?FEaP ,Uc^*aμ(2O‰͢fBxE. R wT3_.¿w K2AGu䏑 oԉ{n{=9(lհ_هtSR3{_ԏlgHf9:9'bn:',LK ͐᝙^cifgH^fDZ,4LWBG*K͝}cMj~µAr<"=|Q(ߓ]{c;@̄yt+Gb$(*cݺDžAi|&#bĥN.]96*^qd˓YM9X8명/sIx**,KOgU$x;m.v#A+c_I01  VpwKkӐ1 Kǐ˿2MA*P*$hnEAƿA9Dٔ_`Sѯ =SV_.iՒ:SEzgW*T #γZS<fU(6}Ӆ<3¡tt!hbju2^к餃U,^K,)("1\%4@yq(9$O,!A#?N`a{Q wXY<]5,MגķWE ¶vJ%֑(q_:ZwU9$8I˛Ƙ0CoT?, Jien'AьgJ_Uz $"cQhř[e$Emw]F cZ6Lۏ(Ӊ7o$XSB4b ~#SԮ=DO3%qc?;0vu2HoUOE7"E+ ,(p5sjm$'BBJhr]YUuGeVXq0`6ɇG4&Q[ UuW~(1ڂ{7pô8AV-d+UP=pd,,O()Ҷ8ig5WXh.DC}whLpP1K|f3pgƠ.3œRSۄ'Cnm0e 1cSO>UR Rp-Wĸ~?^ȁJҤ1-,^U_˟Xq>ݣ8;%][әU/Gޣ{X,ZNRe_GIDK,?XN #K?gԞ ]c%э}+9ˆ%_f!*ݐ' Ӵ-5eSsB.a:KNB6_J @KI.MN޼TvIÝa37soڂҰ`|SWJtxD | "f_)Zh/@ )J Я78Yȩ6$8(B{O̞"7..6K$Ӂ[&'HCttkI vu"bAs|۴(&7e8H`f}%+j&A,~.I :;\B1Aet/ T+./j)G#Ƚ 덾EPKM? 1t@Xg'k%;T3ZÊA)>1V(k'z ݅))4\}4KMڑlb$H`P4 R3*~؅ğD+;Ơ"3T}ǐf}qhn1UW1]p]:!*Mmvmn89T5X5/=7q*JO /Ւ᳋ Ͷ5pČ,{z (֭%[2e1wsdž S({fاK[{T DǓؐ*: qK:;S[5ϝ.myN.Ӳ?OM_-HjVj qW|woS+L{V *Hm,f\);q?m/>;^W>d"0'Pboָ`3ySgH7ǏLD<ѯjm){͞Na|D_Ed)U$׳?рH;HpV{Vbmxo1|_F;OiUoFٽm{|/_6;zZ,]We ٤֨y, (DjccWҧrPJ׉[6gh425#Y%u T֮a@Bى|ýǣZʖC! 9ӯCUilR÷~rܳ2`;o ~T}bPcYw޿ASkD5*ǖoIFGǖ#xWIp'_`+}̃6>(:+^F 3]Eid@M*@uԼ-[ۓ^M{wpz OaV fS Y=!i>%Fmu+|#%߻⾤MI /{wI'[ ,o1%DJGEC T<78NeZjD1ўu'9dlЧ_7U#]eeKsޜq\YE ]Wl71VCwxlSϨ@j Cve9 w(}R!B\rI IԱ||ޝN9 |.Jʼn5lS*&3`?2桾;Lgsbd:!p|1_=o"s5PO>'Oǎ|ֲ$^U3plE?5ۢdQ{rdyE:cHm'zާȀxY|a^m2"ڤ9 5ˤ_B K-g]? {ZyU3<1_ʬvlEs^ # E% _߱7f}#9~=V0Vc\`{\`21gb/-rH( 4TYpoѦ)}EZzQϼRejeZԤ5>>fYiɯH%m| Eo7WrsNͥ,5?SZ({ l:F wSXdmJҝۡ\kߞF|sށs2飽oĉa3ulq|5[f 5.Vɷ͏H3c g؝u"hXj@lt֭nkdBDW~X/Zdu6prf~s|B;Q7fLJR:o'jQWqLⵑV)$_p*V1 k(~m$(9w@yͷG-LD$|CkNcE^ga[sf;[H O爺l3cIz?\l$FaS23RZ<<_xkKUw_Ci)KA枻f%xx*+.mt;s;VnwՀJ̃V=P Fr)wl7\;ڲOV׭{4fogۿvcD4VsD:(cOs3YE@^(ry [B+{vQ~ z9(nXV"i0DK+ȝ j[ *1iʹe;+I?{fT|YPFgo>% b:~CVS9ţhVxmuM{袳OFWH K3Odh_wdX*UqJevIlO_9 ZmfծӦ sD- ZRJj9׵f\Da, QШ.W?UStu sEnu">oʨ]mDNM1z̓*l}:V*VDƏxA7Ii 7.A~ga*ՓWÎUMgBd(nmӖ"~`BFAMOk;+1GZGp} 뜋rV=|}E7Y疀쭮w#YcQbY_N/.y98vS"ХP)~0Pi(Ueo&;2:ޚ/on,3V]6әW8+|Z={-'|`.T80O?fwԞ =W<0L4mxq׶FEesl{MtgBxODˆEJza`]ӛd|:i>RWR〚xAy./ 6,/ljsƒ̔WXMkq"%WJԋ _3&̏҄F/ .d?Di{ÍxÛt<N x{La##kZ5-Uq_q/,>S"S>4xݤ\:s&|zuB^%V jz/5;n./aم&jֻrUyT㾓SU}F;/wuk(Y;|ލn[[9ݓG=-{~G5d]ܗה|xQTb;lw 7)Nucy5z/,IGR$ڽ bJ{_qSGuѸlKKՠ>?vȢ?ƏmS-2:߳^([o%ûwy~Um4ǁ>rfd.\ν|=JoŘM/$,_<8;6IFP\<B/%0 Nhy}EC|('Jə5GP"9#3'Zt]G o^(,_>=x+ ڒS jR`0)k{~(l rGTKm+ɩntȇv(pڌ"C|hř02:u^N?1ng1uB丼7{gn.>`MtO97) |Y1%_z<1$~Vl}3]M 1 邛TI3on{-]y}K?) Ft ~$`&#W.@řr]nF,Q[Χ?R)ˣu4L W.Sf/ͥ (hmFi{کQDj^j߷h}򈣝"c4]Hszvn|G[?Y0axa%+Z~,Zj8*R$8="Z<*O%ČmE.~葦p{x3ŵE6է[dv7w!0c#D r^0*T2 ʽ1}Bc'ة`)therzTqBN=dX`bj4?j7bIs~[Sx#?N\~"dINS{9m=]XH;RkDzکL7֡%C=hG:$Sq?QUO9\Z㯴cއ9gL~=,w_!d-qSrY]`57e;oqݗvj5Cpqg<ˏhc}Caś:&ҦslKcdbwi5`XavkV|šq9a*gFMnUµ+䯊1G$:enU0i5B\P{ j^SIb R#"7[A C: <&Ek*+D}-#\?0'=F"' S?KFl/h 3FQ>?ec򰓁T9 Cw-3maEq\^ Q˼5y?w0¯y+a {@KkW>>*$qʆ:*٩n+UOǧŪ t)T>nia9]H 9 ^:e}PK4o뜿a\ \'=5Vųώ>贠P} ӉPS#ր6IuԌ+bI9nr4勌k94yl>'ryy { M3#Q8}B#mX Jp IY)@y0f;6mO 0y#ƌFS}GQ&_Ɛßs%L?lwsV5ILtx-MiG ; $クn;q]𑕚)2(Hu&%%oG'zIvLZGNP~ɷj :q[tzT>7b?l_Y@Xqiw =1[n#!A0%{\QuljoU[QFدϐǐ[(;UoehkV#ro\X=mAL . |*E66yg30ϼ ̶U%$P[[%ܘ \%[wz!ۣ L6C+z`JT~t ~8T,֑l2d>zp)a%WK%':C`l3 9(LO@W؀q5 *6P_sGԸdY;F$J:~TW\o1 E90?%/Qw;}ApCR*{ ќJueX<$-!pj04zRI䦃`_lg-}⾎`^*ẝw@Uhm&F{ϧnEG7a{[qFXwl'auzrX+P޴q7~U_oh۱cmZpRc;;٩%䪄'->Z~W+Rl[Ǵ uhnQQb[&&S7vyۯD67+VAMq)ڴ4NdT7C<3|E_ ^[T/ i|*=(lSd SQ팣huتCn:Y #4`X/OJ&; via:8,Uk~q9Gcrs+q*Pe90""īS@.a{hPOL&ؼqx!:Uʖ={wʟoKhZj=aY94e\9œEU,zٹa\~8n%4X _YY5Z5 {dUL oDDtl_y!TG6ӔutNZd4T&1t1w 坛sC_ݓXS.=T;p$S-Cbץ~Yְ;9읆ŮW{̨ʀciO5l M298ŧ&i ƪܶnZԚtj4?gPBIDJJbQnوIE%D+=k'_p.O`tLZHSIbAC!ߟ9gm7|ϛ;M2;2[5o|&"7#θ§%.@2xmh0o^LءLTOs&Y56Ķy[?0c-7nWEg<;AL$U0!vI}ᘛz27Tl{0-r2eÐ)K^q; YF7Jml`bj63 S[ZT[8p Dcm_5ٮlwC4ۇ6r3vVԍq:mn:M5@9t7(řL[\qdY 劕HnKݒg?GVnSpf!f))[|jNržz9 4^}F2wvLwJReee}e+177g*Y,::: CSƅۣl,!߁-:r"`%t0 A-L56v Yo[)_|pL@3ͦiP_r)aS^t/94WVh_>q[6(WĄ҇!TspQXfRtv0{=#Z SEn",fwJk}y-FȪpS%H{ |l75^_ui$;p ᇉ17?ߥO=,9-.v'"E77Al8&ox_r0/wf͓K p]tJSvb[C쮓!uʰ_ eisM&wZ`S n̾*g˿yhSH9̍ouN횠`4G!v]}cd9lC1Ğt&Tfgd?xK,K0^-5nXIwq$Xd8BL96F/= `K=#_8uEn7^@?ӿyiе;nv??e#T. 7sTZڇs zc̜>|zzj&"d&2-G_JuskZJN6nM]+&ms7#%lٜg k~jrDOGDT`jﯧ8Yء&BgMwA]@rk DIBM oP\ i}b̒f#M>RAMy͏>?v!t[-ů$FֆEHUg^80"JB P_CiA0/F^fEap>p%>"0>dž!`FF,` R~^9R3BƵ{w-MP_Z# Є~}DNDe5WބZ4 xȎ_a;.fǐ[ g$(GP&Tk=Zܾ}˽3ƭ."r uǔ5SB-Ƌeԓ}wnTФJ[$;::ެ7MaŠ q*?lܻ/a?F,q+GKC~ L *2бu}Pa-5*!|(~Cbdz`"24(dRⓢ-Ԋ+Mfܻ*Fqyao=Zν8 rdpCDYA*mF*$xkp{WyzspT]mlB4p823&޲kyZm҃?^&y/-.?A+5k^7$5\ -82np;u_d&xpM?V7h!m;@-5 =Uy|c  d>fֹ#v|Ϥ7? gܺ{P-v n⢽ Bu$[rC<0ߺp 1b @42f)5GsLGPrv=ƒ*vf<6[ *n8N:]J1?t]yUljQ$u#:xhEIq+gaLm{9h$;H6`ͅ:!4y,c"B=e0&FO䯲NɣʥvXQM=q|?2Ve+j;tQ- 0ݞ4u.K7'T߿Wb)#Sgi&h("c *ʅWV _RCon|7%w0hYLXw’$BN gt\)m vks0Qp2݆Q?)TUtuԑ;y:|rg-cҩF\.Kpq+xU^nak t%-//'=r"j|" \sl7fhzI'P$f[=gg\Em*F(Xsxg9uvGgt$0x}q3 }\l`tMqBln&~<*`$~V f XxT@}cn 23{gmQ+bW'w7'|“o:Sԗ 0?ϫOPgmbN}Q&`yG<>dUf}LJ*$'7>xBLKQ'g q[L@ xӆ xDW'eT ޏ/&$ҲTIM(28WUq ?tXY./ 4"d,r'?+orTuHڌW)b߼:T`֠qs):5lۢ7J6P}?=kU0R3/}^ŧ-}' <0~wSQ@NzNe JS(R`p2LopV9xEpMfzrtQN)H H9H}ѫR}KC*_챯 }c"VݽG5Vf BH|Ӻ(1XVo `YJ0 M#T # cwg,"6~飫-PջoM6q"@l( 2baz"ǻLMwJn<I KPrJ,Ol)t%$#:ʼnP&pbΰ5+ ]ДXĶ(d l7D|WgD;dKG"RJjhkX@x /8 a1Jn )e}} bFq9-Sz,)}F:Sf\9 3+GΞ=|b" /h 0LAJj7Ȫ vK}bD 0#-Q60<SDw;q !3C!HZ =~nU,"M ֳ=*ED/]{^l1[' =?=Hs7Zg?ϫi_md|K97]P4H@ۮUN_XOiVqFOPEeqCPð MLaud p8Q0'Dh=waKHh_l-QCi4)TŽ1c8Z/-mGM3͟ñg~u1vh3vTJcj2́°5?[T^1 c+~j"9>:W.D\-k^ڹ."i'y@?qOEytT}>|c!ib>:uYL[L|% l1}(@9$yӚhnCj<_z,E$˻܇}}D{Cc bg{~d'٣חtҪ|=6/C6RRRbwB:n.XFtrA9/>wp<XtbH1` " P(g%EbOq^]KZRS?B +7j@.#[GH +F"&DQPH`uTOS3j}_ U?cx3KպɧSl;)(T/dET~z2V H vs;sdRTJU##TV5!cq4 g_H ::k nлmM5Pzpލdgw)br?c8%G~$NEJѻ+H9$ }͖ ȯ##BSQ+Vc=ؒP v\3i|Gk&~t4|E͎}ŽxU ""')':tI x@scks&hDl+c,+4 }oRXyiµ6ߊڭ ʈ{c^ɡ, 5=5~SFI2.<&g 6'΅S褽oG:;3<<@nvh+X4i&+{]N,K2~x^ f} >jH6M׻"8w-Ln| bx4al-s^}5nKJ_M"plx)(c q,?=2XFg=Hl=|_~)yB|ztm{)kw 8 Oyۇ"juoB;4E-#seJ?kwrZP!X!(l1%zҷbX2@߬j5Fa3l3|<2|z3?A|C{Q6j9 }XG.) 33jmFpoa['ջ?S h'0lRH:~:-t&=Ďz>ArqUUx@-{ IA!\ u hh~ԻI)K86V_,IlF*IIѢM&J*kQO8]~r|eV>yh&F[)6%tO};Z_w ze5Þji_@\\M<L20E"FV^qp"S6)~ŗ?$,:z`}h@ɓ|/Үڷipnů%:ӬXFw;>j~qyK(% kj1qqᚒe;ӆ⠻>[7HTXgU[%Nls,yv/wsp/Ͼx؍6Td+wfCI%>T u[b|TW %QQY-חBj/1 9q֟vlU_9a( _:<zPtuT])%[k䘯O-Sva+&Re ?t =KVPw]#V!C%L w)f?KlL"C]I_F%*3el'l N2A앋y /!Hr׿>_F\y~{C9}U&8P }7Nd=%W3*^vҵ j8c#))Za2lr#` R"͆Sg鮔yjkGM H H( )-"twH* )H(" )ݍtw.=wo9c5ל~js󝨸,*X[hۑO~w" a|sTN?4ݷ"Wր leCi~ /.8:@T~<)Ķl.yu1N9ƔV)Ѽo51t8wвtt %{ѢZ% tC)E,'P镉@3rO"{/ 9 \҃/X0Sm[)(566zPegDf3lSk!WwpLtł줠]]HvA1-YR6 ,!\aa@Zoj Vm]a m4 /8~pޣcN>'òH?f  B{4ZP.ZmlX ^K{ĀDy_R[FB40-4@N#B o1P4hcyʙjVj36ZX 4N)ݷnXY"h/#qLdT)wQL&u%0@i`ϭX lv\m鸮jk{{;;FLm@PbV7R(daiƍѲ?s9)QjV~8q=3ZSӮN՘2#CY4GRZzzi;)@pIrmK0jw\7 `I_HQI9 گ'zO'#>į^I//J VJw8P5yT|c.Qs@3yW >.q_zZ&+̽?U }3{:3߸ܾ]9_*s>l CG1qbӃ{a_EL=QI4}+^lo+'VURɶ1  Ew?1T0ƩpeSۆ(<W+:q O*d Ǹd[Õ q|3B.[#hw>~<<܋::vs䄮s{nvd指3 @ӌ_C(?<0ѩJ x{FӉ j^ff:K:=-Q3xP~(۵'$|UkFEQŹIBeoYmn匂" &FIb Ҍؿ!^fĨ"W)ԍSf/y:sY7Zb1ie}fSC8$yHHy6[/K%EO1^/g!xrZ?|?bs!KPcshw ѽvHG&&9l ~L7Irub\XRPovZB,=F&#*B* WEpgP㭑܄k'{ns=M(H6S;?%nJ ^@Q|Da S# :( G*˴'%86*a)10KG (_.mDKLru:?v:ED ;^5!`A,?,=O~ULnXf< 1=֭"iWBl4OWW@TP*((8HܘM' tU )Z/  (_J0* TjU;|^k,nbPuqYM $a;]~sE΃r) E'T"  [XJ1,o8Bä iw,'[آU z\dRS'<ӥxcꙸiEedނ JoB3pm5<(r![\@~_XO5Yj P{m3['VJۙI,K\I_}ӣC3jjj~ }w@;X!Nӧ>H%wwpGP=x4탸=JMQtrazJ5y~NH F% pPw 1Yod a4ftG]| ϟ?YN׾WLp^jM9m>8M:>Pz`˵CmWcdEF>XOWW:"^0.iG~Z);l.>ߜ=" jp^c 8z1-;tU.wX°` XU|]wxP?'SSxVrS8#B9d8O~=F@cĸ4;j-xQ37IHE%"6@Pr?߂Okҋn~e?Ze=gJ#Ǹ"WZς_fw}6UMn$)h^թd'bpNMGGK2|LFQg4S _k2&55NfXƸ7: TVr}c33IWPH',F1qiJCת<;8Ѿ3UFb^C'Zs$_8S1h}5Ő$/ ڱ,[ 1IAjHm~#n]й,Lh@^4ގH3nPFK[vH?gNݕ0VOE 3t$9O!*!IݪsbhU ^ a!L&{{"bl)irK"r7Y42Ah%3P!6#W\_S(dr{S3cbQ>36gq(*F11G @{ ;U7ZITp !4EUy"q?^ߥ|rs+ HSÃ6 Z_o% }{x[Z[–2TKtGxݛuŖ<z%6ysyg3XKQ]4!P2|FH/#^p' Tݙ$wR_Җ{2L c"{wa 09MA\Cf؛7զ4-*b4bb@>Bj=Db]bFa)oʊY.`\H'9Z*YheSeְH /T5n {>15m8X g>+kN4APACr5\E-FpI$Bϓ,@!3T ([|Vo<_~I?nqF1zce*?7YY `!M:2 1V)\kht~7TU'TCOOr|級D}56腔S߫$sZ%j\5]Nx}xqvDŽ.L.=t ot51^/7xLf&=8h[SΑY{}*JS &@2Lo%5vY"Ѻ; *= 9^b8#5$ HyE}nMrҶYQlNws;l |$<(7}tOAufFSM)(cxu?uQȞK6}lE׹+st"O>gH[{Wk|44V%EpYNk=dSx%ַ6z?NqX^*⌽"7X!q_%Jeij':֯[c31/*1$Z8z%,_7}2iLܟNG^@pZ['&1o4Ka.Pl2ajc4=>&J3YcFFGNMasa1|XgO0Ӡ:1cqacmo" |߷x+[|-Y< -}M8MA0vU:vگOqPұft&̐KKK/S퇪Mvsa"\FgPBռWoĈf{BqBd)ty B5%w|w}2": O&@Ƭs7ރ循xG#=[#Gq77ܭe&/Qs~ks2<ޙDJJ8?@v8.P)z{Vn1~T;J pn0@+@I:9d:{wWU))LjyEnӽc H.fmTSQC񢯟pA 1U/xr}EUXDӑtK/D9>GRlb` _V.@׾yc 稻_=w 7bi~xh4va`ѫ6I!4>P{xIWI[&mW4i\IG ؤIha`M^-,4)p<[>K>\B< lE_5HoC]Wf+(c XYzGayWMyl۫q"4r`2r_O=v .rrv>ܫۿ"~eu8XVIG_wo,򿜀_lz{R$PD?62Ie?j؁u&f]qq2O Y*@ܛvF$q^"=X&M=#{ԛ]:f$rVySʌc3[z:)28fcK AVqEO``ƿ W8ۛ D0b=vOv18K0銚=2+.\cYɟ$9^ Ixr5ci<'mq@Wt ߁ss-͙w__x .jMρr_xBhޢ3DX<IFK)o{Lje)Q.)73-l4@  ߫zKg7XݺSs4dC%PEܳ;m)RRTTRwɻv}'P>!r&nED-ɖ'7UI^j~S4J"$X t(չdMļOUؚϪBǵjV1KS%޹مժPps#'Jk? ?[Z  K^;~d 2#wc 2[!|E^5&eeM??e$,Zg3t""sN8Pe"bEX6>&zA\rs'A/PMEׯ_=.Bq1tT;) Wo; uޏE>4uXjjjUrl Awf4Ƌmk ,D➮Dt*b;ˎ)u̼5զ :a6:,;bZ,FEBOCr`Rv~j 6_gzpyt bPZ c25Z/LȤ E)Ӷ>v ƃ Br6b1DdY9j>૴VnX9s>/hod =!KcF_`Enllo.4U4uQU̾̎9^wTKUXǀL&/a/s__,9 O=L"{^bՎDf+E '(IO-?a.s2]}鞒^C`RE# '8mKߜ*|9S)Jq9v>]%&WѥsG'ѼbT'j4~V'J!JTݽ'Ɯ)Ey<]I\,IyQҪ+'c@p9R"فZmō}OW+ w$n'@AZ '"3`L֌NN'Թ!L:X_307-4,V$~7Aɼq%&t ޾{􏑣pRe2`VDA?35.bccSc.ab뇣9q6^4Z$F# +mY&EbaĪx~?Z x8wmoPsd:o)EA0) ŪbQŝm橑2hRz)ϼ[㴆Y+JBE‚MU9LXț709o??biog|RK$ŪK^U}n=$MW?75\VPI{p6,+NP@piXf{L"BSibEKD?&m䊳^қfD:]Hq};4[b:ZBȥM8X?$ڥXP}="mL !Iw>2LPgye6c.,VU#'^|W~vNVV!00"j߽ j?M"{C|[[ .3@O| ⺁1QV*{WNlmU;]!K>w>F.'gPsfpܟPGu]>r^"l~q~o$yj, f=,=G7H1͕čf:RGfÚsbt1`邮c_X?7%GQa^Bb.W.>\ 7R0L~yo~~Pw뾸:,o6 IT򿏔h)]njJj]Oe+fN;"{KMFL.ןNN?I_(3Nvg5q9>ZVÜk0U`okAN j彖Ʀ}ga1Ĩsde[e]lc%5(tK{?ޘ׹5sŘ}N@ֈ)7g=|n`叩.Ө)~xH R3Eq9_'WA F'A[9ѢQQwe``#joŀ;1w"'G]R6F?vRWq\/mʘs%nSKNyyXgXI c ص*^WpIZ+Vs_$c!uux✦)ՓRDJXξ|fN5jn0K-T}w*ϕD("]jTidwk#cE͍SeôQbbz[%VBQt ?QC *%ݚ=X6Tco7β5M3!|q,2,݁<-uNjipY{G'qH.ݘOp{2D_Do tpYbℤZv[S+Q#XǦ rAYr4i3{>~ 2qRB:_4unK+i?6a6 ~/zǮvڸ'i^aƲ8J,/NL`C m.0zc`=h a :!Yl3EG,#g% 150It!(ܵ{c@̟)Wf>HI)>7SGѢ`0ZZP&A FBMWg'}~":)T{g$O{H,٨?~O,ڕwz rk+ȡ:si!C/ZWH}H{5]N>Zqί92Ov@z( @Cighg8|O)v?j(f?:>߼K tts]<qQio~@=d/ N mGNEDr.E Lw4DFFV/>4i 20m46Z@'aCI#.O'Jn.{NT``~|EL a'y匂\RLGxfhXt+ &ףL^xN32  YΣFX|ry8U8+"TJc"cE|z<9?$AVmÆ&A5w,--QJ9By'tw$хˍ`@O,џ ;t>F rHkT>'̝07A˚ⳟeeEkЅi}atw4 .{ק߈C,PJK9=uY#FrW"U3P|m 6WUa ܫ ~ll,ԫn3_ H@hVg PdOvwqu}c)XmGmGk5׳|Ϋ^zMawZh(1Sa^,zI?IAc$J˧~dXpd%]1hM~4:fVbR3N#x^I, fPUܲ\ Ģzl+ֱz M`/4Yx1^%9Z#$ns" c0?<4f">zK{D 1Vlͪ) yOJu'tq6c0v4DU?C">ƶ "-$7FDm=f^w0#+"]~~`/ʲBh^s+o3ni[%ےK(vDE3#EڥDػn!_u2/'wr%F9oр#g" A~7W#?ԻK ϢI@)$sM9OS\!GF,AC 43 ?'[ ?8@MLOvL;+┐T& Wz9#_ObmGԿ5wmsmr:`uqdy^3DDIx?PE%Q?PKi&x^~{!oLMϛ颾W ^Ϝf OMr"Ew`?鄡O{#,>{uvcjTI TfX@MMX1e.2p;^L,ҺFVZG'\p]ӀD]Ohh@ڙ,]uHmkIqw 0_ V/kk"8l}?g mYd ޤP*wz:unn*DLַ}oSR4hJk.ȼ7hqF__2A1 uomY1)"r Dbg/qE"2z˸=l[S&n-~JHR-F-FڻG@ygZU O>pH@Z .mm?Jܑ3 "2~Ĥ0B$pek$tY)5^*p"ǝNNNPUIџ}֕ꄆ]x~o/{*x+`(MBTgu-ԧg,RV fv?؉$"4a^NC[(|BA e7(^-AYSp&ߙt/,y( $P ovtU|~ BDPCvg ZOTXGq1$sdSWʁ̑2055/_:Tbd'7(2w>GR*1hN s+=B"&hzjywº wsKdJބ Ȫd ]]q?.'#QTۨۚ*cs3h2H\|pYwQ{׻I =IhXNَ6 ?L?nZ7Yv$H&\꛺wߓ$gxi[D"hiտM`5mhek(&JG'$3E(Sbׯ@Wuzt;SJx+셦/RcrKy``U&쳮>p6,/R P^z*hN74`E}k:i|3(ܛdݓ]y=]".uӺ3Uf@o]6io{eW.>Ň5D6Q|Բ0IXu*.~},1ҿŠa#m$ILei*U*Ǒ"34 A n.Eցm ^xY?taA#+@+ZL%5gh#*-z+g|d'?/`] o]%4t8>yjZI ucX?i' }*Ј^m ?<@- 3L$߈Ld:8SOl1:ۛa%i]aY.:{8G q^a3k3)CYn3|^Yglw&L 3*J>6NJG1~'  epBo͛15Ëh=] {3B)wxJqC=CBzip#0u8eѥ$.ӇLȧx4e+$OP֧8W!g#j?q 5ԌO >+Q~v/Rml ep *Jnȳ@n>=@16{8}v- u7Y4U+Ct ^j҅9Oqn['TRsi6qhLԢ.:||稛F_!;.;+RITV.ZMN-b6`hhT~~1"-T" ]p~_JK0b0}.ʛSF&mBg7unςѣ(jJ`em_hPE]LИm{tRQOo~W:$kt.x10I{\Zd)]xxxYvNᎫ%mN~a17//As';\COLY%o4pi.8 9YW? YLMoSJ=ͶySxF"c8>Hґd{5 5އTj`zj?K'v*mhrow`Af E,>g:IM R-BRIzN4s=Fۛ7`١ zѣ%`+g({zq^%%pJ֛] 3w/$f>Ы OdV I1ℇUs0GTlI lإZVs`s?GCǫԩٹuMH^|>kvG4v9Yc@mk3GJ/FQ5ges~xz7<2A<@?c_ۀڋm,y 05auT/_Q42L>J%5oֵ%qӎI{4~kSeЌ|8[UA: A=jjy1SaHI&z~sYϠ%3U '4 D> \C+J`KFiZ5 nǴ4`ԀXCܔ2V(d?!j? d= qg6^!Xk1Ÿ^;W1\kRf+gwt\.OlHEVncE"= _SWhf| ' =NFmXJe1|ߘfCV[hLv5+kPnŶ!B˃6[JYS~߹LBO I٤r3| onX3D[^Bhf7 RSFlJP=pyv1~-v~賟Z9Q(i 4Ϲ h5L 7 //Isbs*pz˒&t!&՛͡ϯ TsdRRٽ9ezpK}c/ &7?Gxsm<\n<֮5tJW xXM`5*-Rdyw[DRkXGB"7;jT:w{K::)&Sꅭm$[DlҙZp{~ Nq/Cek d0?KJ@GdH/5?\W*ĝ({hK|I>JZZZڗv(,m39Ul*vpںVlor\ P@w ּy@H[HK]É&xHQz[7tԢ}95[y}@8rr,rFL3'҅-zp(ώ?o?֦]&PTyӼTٝ3?^b|wa*V^z !e0+j.J[ݞD6KCސ"~ VSGM._=+S; V7/f?wWPe~Voʳ픸+&`)0h5yLWz^,e6MU͑QNm/qDw@^?M{KɤM4JvvvtȣJk-0CSb匓rw&)d.~4VݴW,pnApIBeG=ItB7M oo3+A1DAƋ^0eia:1圜(xmnNJ}<=bD44Hlz?2|Xu_|_Mw,E>߻äOOӝv೻9_ _M 籂` eGXDDJ'*S+)Yc@'?W<=f*m)oړd^D^e^6?ovli ^i׻D̡eCބ l>>3UU 6Fr=7Zejv5hBP0 6WM& <ƑFS"c>LNN?h`w?lq*qm%a L!ySO~D>늖ܟ?2XgBѯX ƅ/^ Y,Fۚv0l(O9XOuI2ea}xaӣYTH:N!+\9 Ζ;8,f+&uX7rQp'´~Y|dyʡb2iEraU櫾SS#/#cLع{py$N;0`dQwg,uwоK9?c&W&,iU'U6!Ug(1$N'VտI vQAl4âxqsIs |$S\6dzՋS;\8= gQ>5C%i&bੵ>C%a7 V=-vǍt\x} C-(`<&_ӈPN)"`e{u%{u$[[y- h"81%`Lx$zs}tGyK8,U')I2IƊY]u'؊Eh iVeֻuƃsϧnR}}3eD흭ԂqE)[G߹=˭I22(Ay l5_/av}Y]"C6( GǃQc ϊaa?k^@yd)dU9=:T:5u5 ԩ?á<[v`X M^ lijvS J RcrafJ;.T# 3 ś e\K2gb:JᵕqZA [ qauq $"}꧎2MJʘu*}s/nXzHi֗իOr{Q lڸ$| GoY/% g zP/XӋRRiyU7, OoUBՠ͋8 nKkWi|M]vզ2, 5Hg\%g ;AE;wjiUڐ3kV~6'v>WEULM%&mrgB;9+}tpBr¼'"&?yb p;oPC*\FY಩TTP2i)}4Y֚uyZW'b(L׳_9Djע7P-eO˗8'Kr bimu梪okar&[~ܞ)7l1RM792Y g 2 >`!fƩ,O͹Zڏc~:݃10K}a67¾ |2WwrE6OY Uu1sǍ~{lb4_ª(Pؾ0‚U@*OBu=Hz/ordkvukl^g_>_?Ǫe]s>(`/`fs~ȑ8@K۸'3e~d5N*0[:@RDY5pIu  #9$ o.mC0tdBLk|75)#? %o2^v9fvǃtwc(&PU<^ۚhnb㧴Tg(n ^srPnq?.LdcR㎓B'޴aRCuUSٹFQWk-ACnAvF-S7̭|r~Y1z%X/0B0v$O4y͹wؼD-~،\:󕁥j:qw;Ҷz%۳!z_w0&Qe |VOO>x ãdf"~b lr^CïwiE"@"D/c@7@u`S0d ew:8vG ^hbEK }uPjд7AJݛ֩£ >~> t&?v=!Hs,}cPhT1?wޠ4[2. 鞼 !\12yLSJj\R(7%v7 Tw5moo?4\1*Aېddq\{DmU[ /!AS򜎣z`/G;O 32J]~#.ͽ~jn BU {w?AN -L Obg%C-J< [\>YIª#E %L'K/w}4z&&‰.[kgwqZ^ך>__ o8IKqi ?P蔙+&F"#y +L@)^ik2s&S06}i廈0Wܞl*_@4R% 옎}SԆ7M@=lx،ތ#luc<3YEN4@ {GFЯs3 * o*ǰFwZO}$ιS_#aꈚ+zHW+ ^3\\ ϼuŲBkpZgC`pϗ[dpFVo,D0.[bGS 5:q^qO Wmsx5jۖl(;jWo)i;[ qǾ-Oya1GѧA%' P0%jٟz>_RYiKFF~]{aJ%#vճ2`4ތ_V]r3K\yoj6.L*RfP tӍz2T[jSDj8&Rگ’FysC!iRiWdf,O r̘vorj 'v!m_[B݄LGvRZPY)r5b:'2.d,]p2kܽ:-Gk>_hOIM`kk伛ض+5ɻj9,jeӛ\?]23bu&㾊dkIGV:>(B<3T bʦ^$$V:ꜵIkֽ sd~g887+Űg :fOV5D%%SJK;NdD*lo.&n2כ*^lԯcŽ엝^HWXM kjߘE>5=C 9>2ե@>FzHi px(2ͥYoQ$"ab)1abn^G\Ԍ,S#hu`TF\r{|A \wI׼iM,ӳx44g>h[/&_/!. \&#'|=E:6U?&z_a^%x\2zR^Deq\";5{JW4? 7;H_( 531(g: +@~W) P<Oy߆f~" ‡CU%5Y,.6oKiE><y 6zJQᄟ?Z~[忪6ldz27vu8~|$6 l?e~]%ސR ĮM;pG/-q+3Ip$̮!Ѻ1PQK D۷DDL busK4 j漳Wm=aze ߾ =$YwMxpK^kM 堿Ӡ9`Xai {.G*SFVm#Ih~K],7Qg~ʼu=i*w9<큹`/Sxf8fZ8+JchB)VZ?۟W!Wb7q*xBqϚ$=~HHqM1sj4hY.COHSS?[fcPaݶ)мxO]VOAR ɍis7.G7TPTg6- Rʦ%z̰ E߁RP G٧=51m#)L= A4$ی`%ab#KBN[5LJ'_~t/IuUp65zzz(2A#9Xi: ̌H~>|ܾ](ˁL &t{ w{GS90i3Jy_LѽK.սKZM{cu22Ď<|#I~C,,}Jaawc:x= nESO12ra`+s:.تwXS$ׄFȆ^M>K|MKP!kNhqS36,\<֤s z歀@YłVo6gxb͔́n$ lԚJzExgwhihTkq(m[h \\j{p!O T@ae*ϠvQ`UT`YYPDsX@\ϐt\L})>A Aoo7P0׳cbqMX?O*DIwY  Mx PM#0\.ČFŸ#Ss7UU t̗Dq:;ǴpI堭>55]^AZ.O]ElL`W5.Թ%{sU _#&c)7}U̿G<^TM$&atTuʗ'/<ɂ֫t%v 3X7gO;qzZn.ϊ}-Y=&]&K(5n-_RQq~HQKݛX+W%k2[ hQ%*4u{З7Yr="_!j.A ɻ9ZozNdN y.vwgZ4^h5^-#hWחN׾'8dyA-l?yb/{!y0#'m Tն킰0= ;S&b,;b8b]7z?)̬P Yj yud ܿm2m<SG/Z}ϓk?ţJ89Wt ߫i l?{<@DEE.BQœHwR'#!=6Nr/K,WL _;T<&R$PƤ┙qEYߌ'(eYx1h2w81q+F?nfj9lS^u Lt+nՄ])S#@ Ss?eh?w3M=xCvZQehԯjr]Sagu3HW6Z"͌xm>}߲X1sV\n XE"_i Je4A 1tAӈBnOWZ0ˁ0~NOv'޿Vvw] vorOh4wza4sTS8αODEg#բ:6]B%ۊ23'v4bÅ{\RȊƴ흭4<|)* <)*_#ݦ }h;&պ\ Πl()9WL_xx`@w(=$r|i-pӷ;D߫ãٸo u_cz< 2'u2}߶z~]ޛVnVߟ.ף[{)TXnʆꦎ?\F)'ƙ,YcbbB&\H#+^|܆6/Ȫ p/UaC...M6G=bgw*luzg$WLG>SyI˚($B7= [e*~ʵtciz N7x>Fs3r"n68-[ָvwVA?1xIVes|_O7;\hP2\6 Ƈxfϳ)s\XE/c3KTЕn]\Y~S P6:}o̜Zvg>P ))=Ũ4I M*^ӌO;hrz7z[tZkwzīԉ~͡@y0>=C89ߨH*g{9[N&jW,]Fμgg AwM\7ݑ5t:)R\H62H RE5%J VȟrF9^Yߺ`)&EbK0&։4(@xW $u&yo+t('{6A"35bJ`0 ЩP'tJ0bi]+ti0>ȰTم` ÝEt.Vr RmF~`s"*zϼE#ҡ=R+Å$,ZP+@HXC^iTX|!k[S_*"(?R ˸L\KeacD~tR?޲_#hJY5$eωqn-xnhcОAJ=t}XSHWp=!z&ztLLiZcxHQH#nmmث(X7ٽ%O\,ޞ.xp] 'wJ-c_ĭ^|}+'/mx&!%P\%ΙٟwD42=HXy4zw/}1?AK:WYhsֶ6ϥҰҶ|<`@d<*M>(ݙS 3zh^ofM{((C;A\ܘ*2<ׯ_CjP+s~DŁ$F.ok|NSuOOoJ`DOݝi):=}ZjI0cbl.zLlﺮ1缏r{AXwh5־-Qt8:Hn\x!BM%B5k8?tΟg6L6POy-jҦC=/*_pH7n(ym ˹L:L:kFPiꣽ]K15`bP颁w=g|_7 GGfbZ~_R`{bt`tx$f ' mm(읭!د_qqF %M6wnҵ1ݏ$|x( 쏾|#'o,U͑y}a,zKC]oXٻ3V55`ol]XyHi iBun3;rrvr 'yH , ^q6{}͍4Lw}>qjӸZ׶F%3kg8~\`WS`P>q\v)N}a!͒%!:}|ZZdXl$Kj+&{ Hz{Dt<4TU7|!-+?9k&T'poG.)ѳfq@B<VBE9ItdrR˗%0[h:Nj.GSiJAI Gg_c-&I4ҐǶ& ay3LQ^C>/gg.U Sªfi`6/g]{z^uۺߎ=en0b H߅\JlG%k`(kh](bEYYY02ga+#0)69r)aEǵsF}Oln):2w'{>eϫhjF'JH!>9+ K$M|cO`8݄mޏc=zaG¯S#9LWXgZak:=j Vnv.d, ť|(nJ*"r'9XĚM~5;nT~OX̾.9@Po\2|$שVቾŵVq77^iMpJVBz͕!Zt%2MKm|RZX0- ͳ+;<]M(/||} HH6MW,BCQi"drbt)q$o8$xX,}UvRTcccrdFhIWT˾55x,A_>-<Idp P,ަ`J+_/QsJkjWS(&vV$V zuu B2T"~9X'fju0 KKC QxSSs_鑚m-LwP[aَ,q<wZw+ <5xVRj:ja>𠺦y=lGM5}*%aꄠ ɮq{u/_Vԑ`ddR}|RsfV]*ϐ 59)LxGzb,^;j*>&}q]gKUXtM@7HfL0\\6+ =dMBsp(Uڡ˗m.-JG^j j ?m&);0Ac7\]_7GQ@T+B,UmQ:],j;g)t51No>XTNB@|>4(>~7& 0$)*!mu3<'?W`-lf:6V{O_qlU====jwv&B `Dt}'=@מѣ Qwhf3L Ji0rr1X; o|bbUhŠ?tٿABl9` EʾoγcE]fig쉺MyE{[k{۔ymaһ4_DH5= }NBi3U(æׂN{ڊxԂeh hjʩ`tm m"Ѱ*NDwBjԛ]׿f閍xՐԙtd+ViɨqNzQJSz -wX4 -BfH'k fόp{u]#ewfqٟsl'YPtIzk]ihpqs?_n94S4 .o DģQ/}0b35_vL,~y sys5x6@A:{{JVuE1Fa/V3禦}.|22Kj&FG{܏^E`cb2sP<-D1*ZzUQ&&̾&Mh鷱y:eeT><ﳝ۪Ǭv~5\4멍S]ߊ],\i+*(MW_3sq8Ϧ0Tik^]<ګ _3`BӃ(Gn&MM3_WW)조0Cd\{lrޯфo~X5p1&iv9Lwhх&1\@j=r`O^fh A땗#A<􈑑@?cӧTyZth*ͱ=>cQJ,'t}Lvb9P[6_ʦ/`'?w:-xs\lw8 |X}MN/׃J͹:F6TXؿ)Ckm n*(` }SMV9ҟN7 fkGk]( if*7̌&+'*.ii!L2ˑN 9?2]|d{^mQT_ַoXu;Q-.;e N&9(j:OLyʤCC*`v˜5#xtbaa9tQ[ ͔C;99V5],699!\4]3*₩mׁϔq =rBCCN43zē?¢P+I'b#=yRm^)6oKIVpw. Fif $Ѭ-v<0&! UJJRT|{ߖM{ 'Y>Cxi;`DD ݼF"kXGP3X<88͕E$]\/ >hx={ v,(B 7#Jnڦt,?{dpa5/ffq5}.-%`o/D^؏blݟ2P"0$ǣHdb xH `|ǧ.851ʜY2:AIOXW"ٯncT16Fo4֕k/]k;;Q'H&Jf )ރ>??e:G U)کܦ04 n=ӷ闿|1$%C\ބ.\ !b@wwI/>x%BΌm`x&;ta1^'ͤ{~f-뤝Brqg7Fx/XxEU$#3 ْgP'܂.Y'hMU >\2dXAʸ⯘Nn@BWdtFU[;|#\An:u%wMpإ1Zzi>++^LHF2<:w%G%Zv\qxD?A&I}C 4I1)DiUx1>g݅+=QA@'~ww{tz! VފþpQn~v)k?lW΁@Uz>'c0hftUtZIC/Fc3liX,=( a ˙ ߩ/ٔ)L}ׯ_e:W>!?;X=$a 3DWJK6?<⺏lq;pkњROxI# T.` ^[ SrJm&ёM~ӏ:/UTc677IJ4>šL{ϛf|}g"IHb`uS5OICBβ7pOD]^^+P (F0zY'}c苴Z* -Da߾vcfx$!dʵvgl/_WyJp9@RNsŽ%R#p`b0 G9;)/%ut!R㼱|qAi۷o***AAA~}߿`ޤ WbYE{buQUu߻Q@JZ@AB2RR@ZA:.iD%A7'Mncx$;|:O+O1;;$Myѷ =,c ~EE^W#r{`PyQ*;圴Բ-\:԰cMZ^YA`Sa6#"]DR|{҆쨱=Lieť9suT^G.jDף|N+Xk2XnOfr? ɈWԻp2u;pE2b'ǛPJ,1båa T|7o ^E$$o>dx t5cڰV~ypyIm#R; zcOD_?M̎{s; ;jEJn/Y۫>%BFlj_whPU5x7ISњwj՞_. FPaP ,Q##"i,XΚ Eb "yDrqv !qcsNB=>PqOͿ\sĶ@#C\Đڛ9a-̵RO,lw ϖVRx)_ESY.<ΎHؐڵAI:?CH1:HG7 'SoH>;ay7Ci]:4=.3;9:ERcVES )aKIfZïELBybn;ɬ5^&@l<4,% W }gAQ2K4e7)Jq@NDqM& =m{J]%APN+/OZ;EeKyzsm%z(!2A ON %Ųfc#4ax ek+q] %aU_)/NWt:߬`_ZzجJғ;0^npkiOo ‚X)\\ǝlƺ&ou:$A okjR]P&<%-^`gϽC #21I@1n F}Z^OC\x};!r" ۣ%}+vEN@AҺ'\d{ҰǏtjd)VUx2`2ϟ?ÐJ(1>ÈFrܸR|ry Hl'&ށY]9>Wy'C?a̤vss+]qYb|:NStAy92gJce~[4DvI.f5h36zqƋOs8e{? ch:#r9hޚhJ#eYu,YG*•&OQM#B1pJޏo'Ԙj"AuePu1E% vƥFUr_XJ=s$$A-G&̬qHT]EmG/ֺԽ襼>w< ٪g;G}l 3GT&"9nsp7ec@r)}.'~j N?L伴Zua P nƢZo^rW1+Txm^RSᷛΗ11XYq얺x;1}숤BBPҭ |Lfaj肠m,YAz<@fj/=xYn#$@٘ >mܜ p444< Ę$k‹ƇY3xi"бCOPPAPbGXIq:΍iҎ%%Y'sj$ct` Y5OtSϳ}")iv9ە{ؔ6JJ_!xڧxT^ڐBe$`[P9SCm~.b#Wv|5xE q4R$j3KD<'+բ7h*"_ T?,Ѡ~rsĚFGCqn 5dqGJ~ > xDߎ`$}\ώvƨ.+ÊlVl-;~J(H`. 0'rYY6zkJzJ~TRF91o)T2{4J7.DL,i3rf^_^^it`gyX,4ms;>X+}~BNsV,QY͛::*-'7?$A.v׺~|,v63 &Q*gEmm;1!9E`{.n_7}f/ey!%r+F|q_iy$C')Jj䶋Qbwwe0/ ~t^y*r'C >_*Rי?i}`|e\[Ktf |12d P8lmm3[_ 8[&s-yiUjՄL׆^yLqޞqYaB_V1<[@Zd!&-j?vNf|R<Ͷ 8 פBjV7d dp:]޽< t]-1#nr.44'K4D{: TJh[*%M)x(199a oIM oꯉ8(t뱋/{w\?G$4|:rR7 m ;(̬hyq4E +Ee׹mPvQ~dGA\\0=Vf^!8CS,9VU.WF^On2Wˬ&N4jk-t;txs?={V7hfu5Px5p`NbYWAٱJdժNIYϝz_BḅaΕw}9~Ocv/~65Dlsp`%|5l8W=݀$"?7*5Pf)7%*ȋ{-fCX)2Dߝ\\WuFӥ(2%IǁRwANBxK[*|VS!;u[> qy_fRҪz][&P M5,;{zbBvE@YﴡhIP/2lcv1cA"y鈎Tp|<WRUDWW@RˮXpcXhèdvvuM7_oȄ=y+hE랹B_;_^ P.s,hcHB}궈ݯv;/4r9%3oܸ+H+t(ֶmŞ>##\z9>k{Z|TD6,+̹} )Q΄Hhws"pi-fP .6x;Nֱ^SPZQkz B愄,_yhْuf$ o нp{1EW^}p-"c)稽 >e 2f<12sPwޜ,Ns+++KZ^ ¼!w^;I~~Е}BǖNץϭm54ŠW2v22?k~>W?edJPWgHbSIKG'ogh5'LCHH..&_G|.G?Ϲ6@uyϞ]oˢ ta v`#Ju-*d>p.RY|; :.4?g?u:ܞVPK-_iR9ǍV&'9.xpxy{7z\>H<~#B>9[tՇzr,M$,ޥBxti4d?GЙK M-5$(ͧerњ@ {Ӛ33cSq[OGwa#m0` G- ٌY]U8-rŬQ8v \}M.i`܏XH{iV:mO yD[wduyfT?my0!E =?d2Kڭʙ|On;̷YNT$xc\ ܻ1!|EsW1heD?Sڼr{ⴱvH>!:xxx_;,,1'oLG(g݂_m\!~Q'cԋ )HB &hQm,i+ )],Q9NyPe;M>R aYe^+3"#r=NR(Cmjh((4}RݟzQRykAlFuuiik;i K ڭ;ƭZ̧A8֧md^L߿xqj/)^KV-H2vRNsu8~gggDmǀMAMy/N"evEúRs{8/(9D$:Vze;2ηp&fL-KAn IZ 8hhЂq`FCM;BkO6 6$%bnG '{V ׹ߌzB'?-OW1]@004g鈤_qF^ ϧY? z00mokX]+tȲh% ;}fd*9#X/av\MġW,Of +X<$rꀗ~n$I[kRףhc]M zz֡yk ~M pWu"i-^FPut-YjKq|ĒXl!JJfFdS"Qv}#|!`R: 1GH%!@6LkiDElnNQ鵟ccIO!ހٿ|90O H}&LtZ^ˁ6:Uf8T+&G[d-Xlf|/}WTr~mӴj"xb2>'bgHe9p ѣ41s2hE95]S pxP{?;`#] ̸`22=pO L&M,0ItXkx`QbOP$M^b=zͪVe9:*+~_jچWS#[u! ٤(f,?755ijtyq*`g55v^X^+P5Tqh<(>AliX_YWle3vkmgZQ7@ :XRaBjZQŅ͟F#V-+t/6`lem`縉~\M]Fx0C \O*zJ>S mruzDp)> k] ܬI[qidJg~Vb}=;" 8Ö{vϔg K+_Mi'wMn8@y:yl;7L% Qa}ăfN~n7R5:Y:=?w+ݴĬ,p<5Y58i^Ȕz{^obYZʆ5#@9^@ LA~jzDC`x@H2F˰HqxISO?PPC68a|}#ØaI`a/ńRzFDÉ5)%#Wj^˅HKл_RlO_#jfZo\'|}}RVн4(a{jz&q߫1'<-N.! a&\y|}Y$#& S}+,6*+,JprBy""r`r.7PDRVmh\KԙCaŖQNVTFcy^-3HWa=4eRW s5_VqB6FZu=*O mWuC/X `_x)U s'Qi\$::ޚLHAxz4JOa@UKW,w4lgLUHW;1dSc8͜M&9#8Ũ@CNLK304hs$d&p%𹶶\6˖xCQԓP7g{`9|[;w~fvvv^~E{,,yC?Ms8[?̐{Bvص3HMr3)#sJ_m#i:,mmmEuwo =?ojKW[w>=ܧ➙`r f;zOR?ALB 5**Eڑ11Yt"VGZpb9:d93|ja_Տ"PUG$XfƢ~=ķl8gGUQ!2@q:|OV8ۯ(&xq|v>L_UYNF,OF- wvU?Ikj]uZW '~ט>9&`ʂ"d}y[uAU`!M+0խ:D?yPj 8#Ӟ -?$:$z fQٝ]{~Ī=\uX^vļ[1a6HKҚ^{ʪB!%% C`_ڜoDaIҽ=NHK]n!j??\F恌_*בb;u޻)X !ap1QͶh{jor6fz~=~HĄ>Y¯BbRRnZ~⃟bbcNϏ^<5A6ެhu`壙KmK y"ciGHi eh<䈗 싣]8ǰ#LޙkH{@*} o<  ȏK%Vhh=qc-Xvt_U\(i>---i,NzsF 2Q_2O Au=(Vv}! o fL5pC.qyj67{. dég{uܪ㭲֧q+ f7' _Ү;VÛdV>=Ƃޓprڶ:lhnz\v>ʃk2nIꢣl4xoxt?}4g0Vɖw3:nXr"΍ʎص4s226N>>?:,߽q|ʿ޽!1*p><%Do+O~_ۓ:Bɤj OQqtYX>e+b_ cE1_۲PIbn}2E8;TqS#!E”sg>X'Tm+Ҫoۍ%MnmX7|i!|?$z&,2Gxv<%Paz-&8#qRouamB]G9Ꭾ*ϝ}HULٞ=퇷uE监 |e>o˸~rA=!? =#4B' wiqq>%uO>ZojOsd!+2ٕ4s{8l۽n X ZV$q!@pZZ>ÄP!㚸}<H2ֱhjaK* _Ṡ(sַt{fbpA&^!'}>V+@_w%2Zrk?Z,;Kz}[#B21Oɦ}ަK̓۫P^oon~9I"Aںd^@^Jx"u)O&o5Tkf|Z_X=Vn@zDB:8muаNw{lMZ#nDϫezo1Tqu}Г[wy'5~LRxPY_lOeáv{h ?=;2C qu5r܎pyH8j1zBKO[. 77Ztqp8O.p~/{#Y7u<ٲ=0q NJ(Zt!V4pXjAqXsjǖ]tZOgm+J7b߂8 '-d[Ҳ~a3.rm]s/|o^Hni\OQ!\1bNfAdyE~Ӎ<Y75yS'cm{T8@~w!/82VI؍ {}$CP^D$ M{Ž0## 0gPsJ_I*mhhxJUof?î$,+=?7 #܅%l."v [Y{v-rGTܭŵ1P끁/9?,TZxznbP:n%-߿ !ƉJ'{]mTX,oXHLD?l 7.d1>'/gQ;gra.ߴMo8K`hmRjî3`wlHE&'ݯ#&-@ @4L ,ABzsN}/4^eovaC76tYʈo_she@b'|>*9B yГ +AY FY YP{ss2~}6YN8THT[}tJ}`U6 !e8#B'ٳqċ,}C75*Vs bsBIjtjj߆ kS7p+ IP5 KczuA IӀ/޾oE攪Ş=m+}mF,@ٞ{>YWo%u#-ꂹ*jӡ=ǩr. &`0nIE`M嫂1zJ-7 ܤ!Ro;+yӴZ.+}3TE^QLq^ I'5< n#uM[;e `iGE cVi:sE'u+ϟ\@9Dd<gO9 yloa}tkH3s1lY׏ b8×p,Awe탩*kBu%0w UML:J7kjv_$;;QƇrP\ӯ_G* :6LBw\zaz8m4ڀCi:"-I7gf(Pf7G\b2Sxdq͕6a@_[|MbrZU$߮O+MϜv D)iŲ)Z?ٙq~q w(4NzҎ؎dDp!#[T9c DǓj#,`Baפf[︿Mg✖6O1[\$46I׼֥ *A†p8@p_yPL55949+ȣ*[ ޅ8QQ\K8UՑ/AY[rʙ)'̳3qAgG"pfi>@Wz`{]R/Fu :R4溜o\LUI!ݣp62LFӡCښڋ"gX[-bɤeR+ 򒡇 :::Z]LzT㹃cxY%rدm4jTV?i}+U! \KeR_uUbƵs!α< BA^|ӒqyӁ֍Sw(>*4#XuhBZ6"w\ `)#4}[˕lCH@_p2kR3B;<^vNY9^V\Κ?)W֟LZԢ@,DEnЃA@re7;'ݍ i퉀{^wZL o2Yy;J%7N}f{З@F"h1 e/A`6[ w=ՔR$ޖeY3% ]]Ӓރov,}I24O9P<[WEq9Qq+&["07 4՘ZTW$w@·XIfd j7Ht}խ|x mw;BwM}ŧ 4KM49Ѥ? 1;Bzxxݶh*% <*n BfjE!c1N[]%$A6~%sOI;~1u:W{pa6D {˰ ߓ]L==+*u x ڌһXjT;ke 6!H{E NFgI33)s\Q0ytkvHYn{.=p @!2M0Ml#ߕo oAw&Xs*N5M\I~tUUlmGCbIoObnsqzzP;un4|QMR 9}apel?  XbvДZq6E'LzzvKxZhCU֛jdلP +$eA$/Obezd` d惝['z缡^ǹG7.Kn@# H.YVtlNpMꗓ;-zArP0z98s{{#7jkw)*pGib(#dm?ʿ6'%ݟ&6'e:fمZ0K4[BӘ ?D{SUVg <(hxbssp+2үv;2v 슩m,{x,Z, OdeҪ=xʿhIA"_EۛvK[>mV `v*#&J OE.Hl, y|uMK;)u1JH [e_>T)2 {^|9UoҰmî/Ǎd ,βy(9TA\fEaE8@tnVjRe>Me59v,7] Q$*:5|c}|Lp(,TBbYeMiZEq.5\ڡA$ QڧrMZ逶 :baQjeyѨ;(4I$sn)FMfrj0GrwR;yp-= bS8hh;9_>¼sH[%"yQȟV|UZ@4_M feəzUynFJ\0 ͚ZL:]XMv]{gQ2Cho Ż>2B]A]7!/_Ã0$_Obo8_؂p4UE +]JIrl,bc9[)(iTƵ9Lvۣڌܑ2OBM@({2RQu1ǯp`% ) "uemm QB nkw!PK}p;)Cd'-y&JƆ Lvq7\sϗC(-mpIC[ސ j8%A~HZ|SCbav8"0n; n|]\3]G xŖ YcMh!8C}0Xx!5wm E\ؔ3h7qLr"Ise|A=ZKQx:Di6qzEouuw IT/k_B{fҲ:BrDd(@C̏kg?N scP| ca'^%a?NTRjaGǺoOm' D@%}x[+XC|DXMOjlUW5d羢R7\[mKKܫ>CsTtxIJN8;}-Ɍs&f.n5 -V2J_G#/;$j f$o9B,}v=}{W:GgYJ䝈? GB Р4nLN!m4KNI!\]FY9`jx3=:689kJJ@O*xyR@%}2ɹ%omהϭ0_ ٟ+VMW?'=nZoY LK,?½:mȢ؛h"[UUlt_ Ҿ겐44I{ib~h"Vv€8-Q!7weZMai塉\`ޯ6:* uŗ:&}S&3I #lZD5qm,[UھQ2# `~{x-$@# ;^/"~@Rҵa&p9ZџʭUWLL S9ƽP8p7zSF) ˿MHܚʉ _Xh 4iia5PHD@4D?n܅B'2XNI_fO 97(Bm h-XSov;LBl)}0 +~s?ʣ3Zϲ0һG I Npn}^MG7o D\^acރ(Zd:ux^n߼!!?g)+fm!E!K9O5\?u$+@å7N #>s٢#[?U\gzV6-_0OlN^ z?Kt5+D7E a@#T λM(㾁Mp)R ` Mݻs#M]0BDwy~WMI޸;5t|̃4 ]]|м{F"+r0Hu.\?zݼ1"}|:ޢH㧉Ai4D byO]<(9lH#;WZ7 0sqQq.xV Ju !BwiO4\J(So@əu9>5<X=C;@υ=B\_tNIGFS'<#>^Oz70\TQ]4/3"T4Y-mNr:bPGѯE)HQ_ {)Tv=:r~/MM"lOU0*r ?˸΃K^&bKaq(Mw;**z}ϧYfvȰ}]'fz0 4wpF?K=|_b|EE fJ+2g}2Qzj}=w_CсjCw9D)FP{ 䚟58`"wΓ.8 3 ϟP3ɣ0[=Сr ~6K`,yUq)9n93/YJ"g-@+ `4 ǾeCd5g.eČ{W,GWJ_|{p7Z=*Oxw] =MUJZ_9z4/x^y>N/*Z|ZUoV' "8rw:Yn[pLuxH*x &SXlQ}B |G\Uθ/EYHqIRHg+.aO\cph$-&nCJRQqQ XW':2݇Iׇ/ 7Afs>Wp} 1ZY͠y5uyՃ{pqƹ/͛iGhU򬸣5Ҟ< \$T_>=,')>U.M*0 a#o[Ή 6A H1[L5qA!V*~8q'L!PPzpr!^(;>p>cdis̎N oe~&]Y7ƕFߓ^"CW \arAcmw%GiV\#`ķр8' :晔rg2P޸W/=!s!N-P6YJ:xX+ 7@cnH3,zζw;ɳQq'e b\/Ǒ Sez}^^R5˸K\u qELc;@b KwߦAhvuO=_L)mcǛp\H*sivL$nƃ\e#9m*? O:ԓk )s࿿/zPKlYv'73d.iconset/icon_256x256@2x.pngUT oKgpKgux <T={{5BEIa`_ȈK{+$ dI&hibdqu53q`stJ=!Aު{{w߽/q Va\Qzc#aV@~N`Fa'5UCeo$G ɢ@Tjܜp#8>nT]8%41+:(Yzo&ӄz5C KR<+ce!g`xPPX9\8( = X[q-ʶM,1NFF5pYn)93B&=RN e Y'׺caY:3+O/F<6ij5En"PCQܮ9('VsʓI=&Tޜ JéԧkaT 4m^2# St H8ko++~_S|>j;Q$!!VRt3˵pww~o7Ʈ/,TTxu'CTwhh8pP9$9r8\hÓ(\u$P׻aBf"ݺ- L[HX]ْa*cOƧOt|adw ?В o8^fIӬPnUrƆj |PWW&F]=s(׻k9=~:an8_Z8de ( ]_,q0/3MkhhriR3"! I=\7&LJJU->'Y~ Eؗ0/ ٳpW~ÇR^o677ɼ6st*;qЭu0% x 3E(5lV),,L #\WPf6 5ЉtS(Nt>d(@]$&v Br@nBYLvȷΙ$fec)h$11?^&R[S\>Ҍ;cϟ^3ʂPQT&]TL/44Vf+de7$gx[ l Mø9@1t)bҵ^@)u1F,Ҋj[2#jȗזּX4<<@<GxͲ7AtOO'NWJ̸W4zHkjjr ,ѩF!cc zTAὢEzĦ*~MbL̬\D"S98T-MG󞂎 4l L؃ȝm..t= ?oqηxIf}>,v[ qmno' $t#Wԋn+"7.r(5/B:e;p) `Ȥ\{3åF&v$H,u.Ő u: /Dz1,/KdXDw1/BQ,yiAP9:$|@Ғm/8-S%yt܎t'|}Z9ˁKHi"jA]xdQ۲FEPSeo%WpRpPjdcFWYﹴ$(O^W@EM,#4j'Å~ &ťFF\)L&ezD:)rrI~N1͵^jU9D~Iۼ0Sss'! 'K t"xx8|HNd|?v,f} *㧾{QN|'/,|ҩs5c[F4agL,G gijr:XZn3+t<sgG<Ͻ@q@nsfbiߌe^RTwJ ~ yJ@wB44XXX|F1PQ,zŸD (4%z+)ubq+N:> jǗk4oX?$h]GhG`eV,t7Ų3jqՇu5c~oGQ2 @ ]+\Q_]{,VI ӗ|rwqujq(3"q:#h1|.W 8ZG@5)(vD߲4 ]]k#YVcP yXp # Fl*Ltۼezvi`-wHT p0 2Xé!L̓.J_۾et~.\F]a')2}^CU'пW璔sIOED6H,(^N>ȗ4OMMu^j@37;+ TWU귃Hh(&Gs*͇Z'5%K..R8qCն3#FdHu,riq3Ymv( )78uFN\UJsZrxP;@0Hz?IgZO[3/$ zWZ1?c<:H45ӻ0jb#~&r[Ia ÿ FDv6ߴ;|UZgXgFadܣ"dMt<􀡟"`nU(mK EÞ+ib-14yL\V$Ei5y)VЂ(Jr<)e!{GWcvgI$j WÐݟ7B+-)/nXR@0EE r)CfL"ʊ;Дߺkht\]SZ %dEpU4uZѧ}u 7.tvRqfPw`?U<~4DYL.P0h-3W5p$f$$ɑXX bɳ!+YI.eJt$'#vƁh ?jr hdy{8rW;Vjk[cP_uʃBJp9zv?i ܌^KOF*5|b9aD/yKEH-_^IJjp6GQ\Lb\SQOJuXꗀ@ϋa*qZ9:Cr@;CHrIL U@S`sOsK66f 1ڃKrH[riZ]k&V9ȰyA H J~GECf  _O%y ̘#:f͠X;{l0$ /UKO3tn[STFr@PGՠp;y\bټ.Fr~̚ 1qř\}<NsÒ_ '8±s6Ij jhGǻr{n>j.T.Ľ-Z86Ljgs05! vkh0roWshlmkdzޅVI ejV)l (ݹ;bbCDc2ȏ5P Rbaku3H {L]>z߬^X*5.>ޤ BLk6ݪ_Yr𿁂C%Dbvi>^繽,.\8k l2N56;;;,h<Ӷ+)eY(r꺃% 4y%א%kfeЀ&Ѓs,5+Csx4[%Dl;o!" hcՁ24iPV>6sS*>6zN2#].4 ~i@V|qmF; `_Y{h[?ڇk*jϗ hfZ޸%|(@qDUe܎ݝ۩7IaS,CQod4%.'+3#gy7Y5\k2q?MD=Y5La?ndVM¹E|3柽`YJ,{dQTQ|S@^I_3Yv}z9SB#ُ7} ̴ %Eּ I،VLY '«(,RXY<LJj35m>2 Qt~~@ r/\fyd JSșAB||-+zWp9N`4.JF%ŝl%ҤTTo%-9I#K٬%`pH֪ *0Yy[6 T_K߻XP ūL֋a@ź[ONED+'"T؋A)Pҭw{풃py0)0\$Q`do1tsԻsB,pscpzHD9̰y'5<2鄁Hl<ӿ0l=lOXwZO(D5QxN yyߋ)+ pa1zfقW M $GTU4%C09 g Űbm@@{xw&٠~V-KV1Ƙ PPKDG<y ˯*h\#\`nS@j[(4{188' RPtN1,G H?qCixЛ8WR'(IJz]oFni˟`τ6AoWۤA^iBu?PpbEJ:FGG{zo[S 'b՝ ֋ǾVu_SD& WME>`s 9$#J' 5cg@xn}}= YjZS}^$#) ДmS^`]ʆl?[z㠦[a\!- RMTxZPx+QZ!i5kϊGsuDT\6;4ztcFqu{KGn$1`J,o(us -%22WWWXȻ5 yʙZSJq U,xp8ﳡ3t"z>WĜrCQ\Y,8 ۈWv.柖/,!xWlܹ2/b4o=>rp0C^Yp:XXs':XH,S Iy9ޛ)v 8?W7Uψa4$-%rz_VypU/g<{|_5)bˍp8,bD"Rc=Gm$9X= h?B2cie<3-(ۄ2$xUS04TgG+DAE{Kza}؄S]fE@aP#ՌθگzvE++HXkOGbRjh'&Bɝ~&%%]M'7L͉ t4v EIոۦ+ 76KhmxnSt;4,,,~%>EEEQQh1@Na{}"Z+=Gbǽi-4D>1 #f>}irr2:b=;2bH߿A%Gyww`j+ScãԿ BÁ᱑aj75ʜ١},zX ?mh]bH ;2$ol+ K"S*((]F .qf'_FQ%X{y'<6!:/+<H!o'w] 29NRL=@3TO^+q{_¬(po=<yq~{]!su LzЭx,֔0= r 7+2ʢfb\}w43|AzD7KuYݨ#2ICsTڸPNn 7}ywݺEIqxzXYQF~Ԥone䅵8ٞe7t[EhV_] + tFǑx4m˗^HO@hϺ,x7Γ_Ƚo(ok1wC2KlT(eo[Mnuus[pP‰]$ߤrb%5T`{v|V`&tXwwE$Rf|lie& g G (qWwMf*ӅBߗ:'8ceb4vP3 p=HƂi;0vVIleG<Ƴd_brSoQrBVTb iCJ<^xEJ|þ?{x*m/ZqĐV`9I<崾4Rf>aAJE$9N* gL9*^Z9o %f~AP bD~.(o/ZTz YFB'd]d}P*fNNQHSH۷r؀io|gTcM@ ffaibu\ 鋧+ۈwc!1!H.5 !q?zBxenkK{5+40g#*+6(k;Ea% rh0v.’bpb'=Oc^{y"A"TܥoMWpE4XPS1K@WEQt]6Fޅ7M +y8-EËo58[GwBr8wB^8u p mvgr3IIF{J|kn $+,OJٽ2<|5vsX 1~xE`dR|-fyhH105H˖W [lv7c7wB5RH p}(-187SϯѾ ڍŻkkuŮxgh] Q#̕vS/qMxu>yJ́gcs]źVS*c65-wQ.I \T1F܈ 44NHB[H_^IDdty#Ί:7]% .WsQPǞ1hIcd睌OikVIzWfS Ot md#T-ϏҙwOd`yV,GC I9ϣ; xi`/GSNt6Σd(>u!oPn.yz3Y-%CLc]ރl9̘9SY#?lc}YͧJ\#6Omhv+Z06~D!_o#j-2;"O&V@ѽY>Zf(xP^!#4h tJT4xX#wg%C oWZt|:3{o'b\;LA43cސw3gPy d (K'5M*J:aewo鱥@k&8,]>X:ٯ _Q5/W~R'Hlyl>8>]ѱ-Ha 2ڋ,­΄¯ &}]}%wvmw֝Qcc"7<dᤞ6$8(G;Nj…̓n{8-&EG&(}ڱ;1D>[n!ƆdzML]64UP۰vRGN:?d7oadm'GS YdQ0"'OSnķcb}ޑ?ʻ?3c d$R⮞`?QHOgxi-muZAYda ot*>'0"8|n<=O09Kر(% 2d} PͳFg:;".jDL<p=gFЬir_%ߍMBË9cG-/e.(+ ]@'9;r9w D"kCBxɍ2XKcrVB:Y; /ARأWg7vk`#ޙm_3~,jJ9G}E9}Ețo8"4Id|A o틋#&/藽N>`bSy9|'Q2^]So(܇Y^b; ,2嶋P=~fSC6l삫e*v'u\Rۙc&]\ A)>Q=At1*4l^lk0=y:/gߴ C'CLv$˳dAf9D 螀~^$ՇbtB[p"D{5S? \U(LދL6O KvY7P$Jț&j0X Gzv;|_+y9p3Xsx_(oDm=esXg;&/S:3\xEw-qr̷ A3spM鄅TmDQs%g(OR)bxPd-}獮58Yr$~P6 hħaP&Qv.q n(^Z:©~LūP檷Wwq?~DsTIݍykKhl(8]"M ?ZG/ZK"Ҁ. |YX o$t!r]*Gn`WYruDXP2 sXG"r7IidvChhP!y˭-FJ:ʠ¡/kkҤ萾\(lZߨCS|Cixo+N>2^i&fJe04LµbNi=,ƶoėβN;ﰆ3mWlt]Zl]}ӿw:HRX22M)eT ̘N Wq]\\rxC~k̚2K;2G.ѿ~T8£sAg!ِ 9=)4;{@1yLY@~"Q"AQ5י/ġ`œoGM?2غ?\`|5t `ݍJ[PQbX"F.-=[2iw,l3p[UED.lOYA:!)p=̕T}Ry'Zl7Uɘ)mS ;(Qpv?~!ZOMGqNNM%+#ہJ\T2)Җ{Fϓ RrFt4z %lN+_5F n{y_@G~)Fd[1-J5_T8kyˁbqD_RQI:* MV΢|@M!Ge55-ړC_9@cx0QT~Ǟz*y𫫫g]=IU݀K$ViARyJv V8 .pXFpmNAƶtQ܇kڑ ~c,8~b/8}oX=tj1}e.90q>]=2qq~>K+~w}Dp|s{[EI'z̻^F;j?˽c[qoϯ%УwLpU@)Zi/\6 ~+ghhhzgIg(vC>8rIS\şը3r)i)lq;#=at o7@ނ&\by=@ =^p4[2(- bl77rNf edjՄR'P9Ǩ/&2ٙOl]00x)b17a:-=dUL<5PIC`wHi{{ܘX~d~/N A’QUU9+جBlr%3&H?^:PkyM~84rf 'yf#X7Z}cD|;]c njnn:G#wTijgL j' mvى'Q0{VrN;O$c B.ҭ{pSiYXImت/n%zר&{#[OC󎽂De1έmSo`yP0Ģw2|1FyPeb<)[ C(n?mX}_Ndq}AQi"عWu6goϙ,Ul>mns]n'(ƂIz~j=_MG_D,R;Wj | n6ЯΆ۾V{s͂_}C+0HtU:kB8Feo'V*hF cL+*!͌DI E)Bd䇣,rG ?qWηee>HAųy!b}vZ5JO+,rҌ pGFL׋d?1*>ECuB%_{9g-e׶ 0Up^x:3J$ty8x7ފ"^5Rhm6p]瀬z_@4ԴsնD-߾}l,i-D[7?W Hؖ#6_-ğ98:ڻ;y'3@\ivO:52s0.sn6ԘMƈKQ₤$&x҅=e0f G",zKN6ۗ,2^Mz$#sr<7qthBE(V!̉( 0 fνU6jCi|+-[>óH dx8bO7+ٕr[Nlꛓn79'g1Nq|^lP$jYg))4*B:͗?ǽ<2Fy=oASxyyS=VkaXa@žyoJλ0#cb dA9w N괞cg<v[gTh2܈`x2 g2G(UyZ~M>& 8dbѪuiMNO*pXy"eoo^~C5ՙL^bk=Af|O[_YWwĕU6_op# \ l"*vD4hso `fQKQ^ 2V3V?Ǡd~U{{,LhcU4)mxd'8@<. r0S00D \5Ծ۫]09ezQ|}0 AۦgXǓ (9ǿsx;ZF.A1^D&6҅ʫk<<&HEPBWsfJ¨G>6T:oȠS{.{3>rsBUU8_F?f ,X> YƂANj)<6 y]! Vgs |[WdC 5Cg݇AAQKX۹рPܵ~E"!&Yfz#T^D<ﵬqaK@)a'\?lǏ T;ƫ줚O{!n;.;!wf*kpѹ$2 搄ƒ?=޴tpC#FXzb=8g(/e+![SW߈g+RDHz01jÉ%ͥ洶~qr.UMt~jIr61 E @"y. $X=^\_6kcYXFF0ľ%'E$ /)$`-JШ"enZ~^0FP1`5b`Y%%Xʙk'Ʌ{4KVٍd`4*Ӽx:EB9˦ P}oVcOZ0jC $EoFfBM7f7>71;93 ``kc7Q3\V0?!ǁk6bůnq}JNQq*J_WŤ<ʿщ%rHkF]i8f1qxN6hO/ugzƉ7Q!™Yߜh nKz =r $ OdGZ9 -76H}9^tU`4|R1U aX>5G~FeYLrB$6Q TT'4"x3Ö42m݈Ö"S;ct3b8PY< z Zɩ)*ۇaIb5իoURΏ$LjRGYMu0e+"CAI{09,5D 'ܷKbsrFD$?ƓjjQ|-`VRg Qba;ΔV x^6E]3ؑvƚ}onJ͐~2]iH&pvHh;s vXHp6Fx(9A2b$9D`Ny!5)W@dDnϰkio2|SSjWSq3j1#[o- 7O:=Q/";Lq:qi1V;;m2Q3cĩu0}*Ș#<*N&Ly눅&mR A+p#lQq)ƨϮ r"I3|2.Mm8>*) E*l ~3yqR"@EA@n_I>o[ (=6LJWGMsy N]_J\=]ep fVS̖f˼@0A ah,JȂۼE@Jo?J u&: 4 R_nRsf"O,5^n򾽜PvJf,qA ҇Nj'gQf3փrggN={@M"rr.~3tѤ 9߀5@UPX`lD]-](*L̈́CVWpPg|zk3^VHKNdιngjN3cQC8E{-lퟶꀆيiriI:%kTtua:뇞n"璁IЌѨǃJfǏpmv)GM d8n_PB1:`4HVů1xq?'|vq4q+O-,bDL3X(g Gϖdmm7;Gɻҫ#dG3̐`š[^rT,77$3#/O]f) i^_Ӌ[cGo.ƿR4b a~ӻږ<1o^clGQA]l3=waKD}/uƹ.@@Jj(r5)i2u c]51 J &9KJ$i)@Bpo54A]M>P:`H׌{JS@Ñ=.8_\/QG6P*&1@ra] ,N!4y6o2ͪ\BTa dt*AC>m:*glVQuܿeVszV?xx ր=>"N[ONm#vo=j/"( ,t%cj+5v:SiY4{3̨glH"K6vC;)ҤI+t85Tx;yo9b +Z*F{f(.VrF7L 7 ZeJ\h `= 8Q/*oĘnMraUBVz}/V δ~ ?Ȭ {Ԍ{h2#7Rs *jq$q@Zq1&WP;5r!Y]48Z RSz{Rh~oU~bSZAiˮ}&Ty=Ca 'xlf] OLyyT[IQs!L9@kkL#_o #0C2m!d8UJݞ+a;JQ۵-v'l9H@ /oй$Ь =d7xi*a:t('Yfn/Y3@ۨj ,8UdR' #{yW '9 RV! B`Y@Q<)Y$&xl;v.4~"#ы\<`ѽ~B 2]jl\q47%1/jWH>H^ ዙ֊hUh|ɒ#yqE%9mP줞 e^AVcO)@=M!ٳ:,9RA~DskwYV╼}zfx]>V 46P`w 鄲"xg8Ы(nI-'  (Μ\iAq0wbQd .&5 }ITe/i}U]jŢrHͣ c5Ozk:ONw͘4@Y$|5Af$6y g}tu2IדS[Mr8H"y}_c۵vqmQ@*)as\߉yQ;YULRo.7i;#NC8ժ3o\jo߿ÝL # ~|pAU@imsKϱ\\n.DnxUb5;l\3tr'Qa'|?B wOCa,7z X<nc&1D $_$!k2NobHn8ejZļLDDtXW𡞆?918@٢ka?)u[jp_3d;pwXXpVY/S٠\Onl9U13f9ˇc3JP_[V安S =^lv5'^x9PTIYmgJۂ ga% +X"a;on3A'--ˍ'22}PVNlVZMk5yq֣/jXqYN4T`uk|CUmXmH%%&r2*nlozF#0G eM<8jf |F$oW%eLCvTZk'(Dy1B}V_ag.f;+B`Y}/BbP! |9 [6.|ou7z"Kka֭-bNS03)yc83JǻA\o{S,g #>3XG_yWKuȏ%7J쉉g}JAO!_z=rwe^^a0 RfQO8NE9not h@EgFҧaS=5UWeK;ؽ1}XRPFŁ6PrfU}t)&p_iik}9xM?`*C+溧L9%%H* DF~&͒axHc8rd6^{/s`@#!my:R+8Z-[BR[Et6#bʍG3B8,U_ 1y/5(\le0f]裶֎ wXѡ.i"π`(5*'Qxǟf_Ma!rwSzJ /.-t2DnTɫ! |;ݿXR>~BAﰍvtO# ^[L\ M q?,G>&d7lK-}E D@+=t-k68Ɏzq*#Vi;=|BpՕ--U,pjB@Par4m ހKxߟ3OϓڋNg뀝UZ‚'*l7lqm˼-lխÁΈWL&GLb1}2<Rw~0KFfK}B/T2s9\v=+ u?/q?ԝ[ .Q͖=?F a;`voYii[1H7mfw̤B] .ʿy.:# )%k~l62sg/>q|k_lЧ1}zu4 f(ar޶RC!oe7㤮$z0y'r$*o~  2G1pT藻8[A iU}ڍvL '_s@ۥ9s~)1j Q^`؄l@ $c i؝h:@^X[7~?UL QVLPW1.0ZM$~߿ @s%d oAS"J`‚߃̑>0! k\~qq"y{eK,KFy b1?C3i孒&ٲ +45 +{.HCzہ¸ k]_pZeaL4YfIxQ^t%zSW{ yv~~ߙWFn^q(eTTba{/ҋ+@^:úQ-4({=>dz^ x8V;<5{ZXIU?%aw8bԮbΉ&d'~/_{i@& $De'XrIW4J8^60Ȁ:f+J?u{&2 |^8 QIC֡+<%$ۛ'"c'^a+ut*1򩩩q I&hK4EpDӪj[ӛVISOݎHFMɍϥ׏'J,qnb<\2 sn{pź72I;%NNM$@f|٢ѱn QYuB$p4'=VEn-P P {Zڍ;ðzw2ɺBWIKv$`46J]+N6gQ_>gӧJ2_,_S+nj|F5fGˡnYS;"!a4a?8M[ni9<Z YqW(iWScDFI2V7PbY8<2g}vj#E MFX;En36C+(k  Y*|@H~)/ ô4m?Kh]qpNGHxӮpdAҖ&ﰆ`zo|`='%tׯj`=zC,nJmCuhi/?mg 3 i-1)EJ[)cES B(YZT 1gTl]ˌ|a >.60=2tZϱ~ pfn{i\XKGzGJxd}2h w~շWSuihɁʁǠMdt8ue*Ԃ0fzx:X3VSx@rdeOW^I,Ki3ZOOwBAyjP+%XJQ{ YuJ5 s? 3Knt6g\Җ(g/ hA,q#J.L*NI:W6W4T PP\1R _ 41䵍LKf|8vã}/ O%"*0G΁xEzQ6.IFVaюP9:Mml޷oK咓7Bւ6 ov#-BJ"pԞ >_!Ly|P㷡xst|g- $cIA(rb[8KP<3T(ӊEcXgb_z6)K@_a@QgsVz ׷F#9-=]a(P"عgos -=3D)ܲ_h OT?[>zPя#1 c5cՅ3ũ1"-K E˗ps>ho^ k8L-5J"Еhg;Xu7A )Ne .wbVՓXb!͒'b%o4hpCsş})+}eau "z݅w{k?֗#3m&׋j,E6a>&&uEeuknP,PwJ S JOdS✷`Jˑ]\φэGAwx}q5>Sՙ񿎑H;.Tg8pҪXJV%G^g.ͯ3#]mpAOZz*!db_]11af 0Nu nWs1*sgJ@Z,|\t//7 1>hYMT8-&sS[n/2á #F.-bbI,m[3ֳ3 ~;~:TL8aȉ|/LT;F6W&@{, 7RMHeU@x^%C]щnӃ˫?ᅱ-0oMzȦUm' 36٧2UGPPnJ% Hn2G2 E ~2X6P 2mmD4w+l]YvY)pӠXMMY鼴5Rv囨QFagtI:4)0hMmf.3ݽ6I8΍~(/K"8^(1h, #݇0(J^8,@])r.Jn**i1Z)rx"_t3G!0PO(@əDyp\>t[~7gfY#RyXH"PRfx(f>(#6=]/x׮nD!X90fԡ :I0 =^4-֟G768KwiV㾟epK|S5P42JpWAst~-H '|*(FU*.|oː`/KiJ߿je L$"ic]Uii=My"G{t,U79 tAT~>]*.niN9Յ&M('K&Ğd CS>^2HTqXӍYf<p4 sB5aR;^LhwV#Sv֝;B'URCQ# ^x(/*Seqր>x>F͙T򭴔 ,UQWck'j#ѓ}mFjI@Yg&|.g#$JmѺ: 6}LX9A+_?25Yem"1QW>H'f(`,ȵ]-yrՉeULq*^js0 "*lFlq)08+a-aE5@ h ѪJ Y3\\y#JAT>t0+7+G!y{D')S_)ǏƯ_>]ă~O>_尷'{`ȕkv>~Zj&M_/]m4g&Y[ntB/)¥Pr|2'Įn[{rKLt{\Ηҡnfs؈ ) fm/VUoLo>iQbv5_"\ZvL@}[ڍی^`]Xn&Q[꺤mVQJ-Se};aSqK-ۙ|U27$6 s 畐ǛlkU:+vJ&(ȭ"--z'OaFPX>F%xSn1`F,cL)ԯdL+ 5 *.wǵk( JK 7=eGDlA.qiMбt"Rr[?7hw9_8Z\]u/ֻ bծOWzȖ+`aiϹK\)W-tFEX0b L'媅o u‘kčۊ6t7.U·3-iDp3էGSD m9ɚsV҉:/Oc5ų7}EUXl~"&pؔ%J5u7"hF 91 nWO]\t˔ +W2ƟLLB1vĐ^ޘ/Dzc0uL?2I:gZ~|]|(X?C21H~&no}&-^ zLG"ᄔp@g՟\f ]*6#*1 @!VN4۝-44ZǝUfIS$ j`P.X(ug3F$u֙\p0&:WD}N&ȷ>}x`Ξ؃`-v^e>.I!z咇Vbb뒾Rzz@-)PnEYI\PrXJK]㡎 9U#$ +MUh_b meeB<)l9{uAg/'iX$Jf@!{PkоFabP{Kf_O b?hac; OUG9ci.L0vUt}etF}Y-)̑Tt~/}Vi$U>%'$6~!2וc1I6J]>_.=,ԉ?!Q'\)*Jt43P`3Q/IWSZ9[;& Fٿci!"RglT0W4MYL*tMƯw[;тd'/J{n4VveuŇm&CrmLJ1o& VnTt6}ŧv(lrRmj 'nV=8Hј4WF>: P$3Q -B_rU'5M;&\K2V&2` Ph3kdUyu'tw't-̴tT c['߭Qyn?m}#;h W[ZZ`۴V#5Z9&'ɁF=:.z&HJix-vğ<ݯ#&G|⋊ fZXi+OxP1_ɽ4AK ViQA*g|,mܨaLSXDFh~SCŎ-)BJ{ʢsX0&2]۹m\ jt٦hoiPo*4uwg`1|yFLY;(EΤ.-cFpҾ{oMveQF Cy{{'j}xqaKoY_S2XCwz£{< %ZK Yg:j3䔔,ь\@ Vۊ 7b ,q g[K ЈxHz?4g6eX7b R|ub$eF]]UDA9ۚTrvvݻw_aD(& 묛j`ZqBSVŶ+ƹ7d`Qcg4 ݬ7 M}͘dT@)@$@]?1E_J72q,dݰ.mlx`plFv^xt͡+O>UWޝ{3ʁ5׆/UDƧ.&ZL=dbĿ.-yB^-u$"vno/ag`@?n$b'$?{-BLɖx,1mnRЈF?"9fQ?z7*kl]B&";Zí֪!fzw~iVBaRF把z"Wqʐ< [ާgrfƾ '\%YvBwAw]6ƜO' ̞ҥ3f[ҮsѻM7p sxɭ^]^dTԄȽCQ ͪ;Wm =7vܰ6 Ƕ}ATdMhOc ѓ7d,WFhhBc>.3sqjL(;Ki(<,|`[I*ꯦU]tFC@x%Uu2d8uu(|UCHf2H#@?!(~>!1q<P hL็[6xӻzwGYJDoVaq^ aTKJ|L^T팈-+ٗq̄ c)!LI|$#F/<1lJ?VX !+n+\Fx(+m.; o zZG 59WHS=Q-FaَEX[t p K?Vw/Ӭx5ꅌz, 9ۛS(xxޟptk= }8']"{X,uxN1o%9oȈ މJt16~R޻Rd>Pa@\ khLVA߷Z+)(a !&fr?4[]}ke1ΎPD49{sQY@Seyx*کտΔ)Ѱ>Qk8I H}}뷓 H|[ÕVsǷI6\-AK&6f }iW%MRJ6F 2V1v` ԰&o.bj2pm/ (']O[WmhDa^ ׆OfsvmCdDD{<~Ē!!=QmYI3R<yxhW__{3,l^rgSC-?$,@0]~ZևƩ. E}#7cA)Ws4{HG^8l\(m"QU(J|Q;<H3 ^MwOۯ؆?]v͈r3<e gD*<_3>N"8y ~y52 P 3x"QcB_OG{pZn֎#. 7/qeoXSsrI4o5Q"78+?Ojm%Ⰼfb}뷔ݹi݉ [^-~tmΐO`&l&~Asioobș.jE$C[џ ;u8,2Q*r^v,C"6[l5ƻH˃K 1<1O/ s*,\q вշz%//JmABkF.ah  Y1PA @ Q!L~ã;׫Q߹b8)_.RZZʾc0!`JcGy_:A.fWW)-- #Dc_7s?&6 hȓ?,̴xGlr (!PuZQHi7ZnHP?<ocOVX?@"T2F҅r$Ud _v}ѹ^"ç`+" IBjhBSQB)C }p4"UK,rb{9gjgqJ+ݐHFkaS  b@I`I71 YM5jK5s<CM%ڡ2njA_jR=1;QE}x ]OuO{WƃtR RrT\lF"|%H53m6ʢ;mGJIV:BWC f l_ }(,@$+0}GPP @@wAb"Qt*sN!UKeoqB`%ЕZX A^: s@Ő694dى`T_qC~ЕWErͪOS팗IUV(xmh.tLTs@^P]c`H&>UV`??^ xa'&#RL3&Ax3=Wpyif3'ʢeTŷE)RΙgB*Zgu4c]|0h.V[_k9l*_[Leku2nDiV:>2dKҙtz 6X/g\.RJ ۡZ[A,Q4^YnoQe9ʻh|v{"M t/rFkT8g,$Te$ܫკ~i(h"`B`r<ۛڪF6۷p^Yuj1>Rp'p9@!8)f,-iQթDy=efS;nh+QFjU J9IfwPEePKwD,.c=ᓲfX6S j}OFD0ի8sf4>yWT}ݫ`;? ?(JG5K{݄Lk/}9{,@ai/l29)-(ZjuJ33ߋ#]1{(gZiUL=Բ͢総̙Ư{`?ٷ'wФ2$ȧ?ؙtA0fjyJ5nZM ]B!Q0tgc)Gveߺ%Ϻ޾8݊?gOIL6^2DHeVR™c<]i@pp)zZH. =Iŭ9րI!cUܖCYVs#=abFo}GGG٧)fT> ]ݷ n'vqhNдZ)"lRTenT$ 3|6߲Ru,XA~=J 2>~2#ѻ bHXNNox=\D1*-@A.hbW卙pg5ۊ3C,"LDLRSJ>VCJqj ;2AmaT7jy_ϣxAO%8/eO^rpCZJ#JrHGsrT2(g+ U긍Օ}BNJs Ia#z o~Ċ(L :>Ʃwzj;,Ge#l>|Qf{G_ۤ'@t!a" >ݬ1NbI#'25C>M?پ7LNm,xDtB("k=9:)F ՘@"酯؍d&"}Q4&t_ӯmAk |{3s۶M_[lBugd U֣'H?vٯN.E= u7i|7sd9&E:^j4"ߟLWw2 HEoʗ9u*D{Q &hhHj`/%(KVl`RS.zםQ1P?%HpӥH.3p*g9'Z>#i_odt=҃ҫHH){χtP@^ R Uz^7or9'7sgy&$S™윦]$P _{Pbw͈Oug{qR:NY &v:k3uz:[G) (Kϡ(RJJ[ٯ O~ ecj+NRYqi :K{@A(;k&!'G%67D0-0shL0} \r:`m8AX@RѥZ% ,,Pq{fje+tBS) SA)q3p.i7':dLG1^Ѡkvz^{C(.T'w7UTc)dW{AWsNqo{sC?EdY+]{9!ͳ"}-rZJv'I_h0e<2'ϓK)C˽'xUi}AYu+z6 Z[S|q7aSXΰݞpY~y]M#jT;۷5&7(Np*gHyolƸ }#ϰ@/[(ޠy`@ٰ]}De Jy_N)j!QNv$XSᮢo١I9-۰yk@&t!|OHB/ikwK2_45Aڬ#foqe'`p Wh0fZ uebBf:>~i)$Q?w@O?<8 ϼŦ<^i<^VG[(v ZSC1S޿(J Gw] /A@2$BG`w,|dd@E; ey_ve z3 0/!`3fhnU T\VީU աV\}qsG( cԃ˝:qUNrg7ګ&fψ;^mp^8iP\C95ߩA3^,`C*ڡ,QzCxq5٨TYGm BGτf?vM{{"twT&KYIU+am'E&Tݳ/\SL4.~'OL յdT8cjGMLLk8\?t,ovFETv@څ)Z;oT~ J.-ut4@EJYKW[zXr>oM*26R QbQBJFFl Z,sFC͢A[,C5ρKlu"qg-Vww${'Y܍%>UsI*j#sN/ r]S ҼdXʋ r:~R Wq"hDON+0}g^'3>Q:(2 s}/NՎOCu+)XPZZK @bl<!颼YNza,jEgg7!r( 3NҿnDw0ҲRCcr2Gfo"Y+`|".Gޯv I~h 0KrV4ئnn^ܢ*FBn@ -B|)&*^E<17lk]'qlh% y`ml8O31{^_j5i\RÜqcBAyE*lLu&x.EVZA> O)?ߩ\d:$ퟻ-¶"lh@sk vF֐w8~y)%29[6bbZTzy“:Y1^jbOC\rUϣY1\{-@"!ϲ#nZ a?i``Tb<7$^T'R2Wvđ3nv<x@%҅q>{&xq0Ձ=evg GB ~=0rY Rw:v߽0$?2ϟyyk@X'rd}>=U3eƎ.5cٷ dC:Wn) Q|^֋NfƁDQЂDeTe@YW^!&TtA5FP+JNT? !MH喖s}oFxf'] ŝB%ܿ cXΧWqЬY+uw+mT!{vvsDuGl#Ø,/?Al[н2ݦT3O~s{mq[u 4جW I1SնTKdԂK Qpiw~pujػ˲yjG{ڰ$Xt ضGHѶć,UI&I b-hnщԒeSGy|lV&?i~2|5NH$ޙN.,~PE0c~PsI*9椫\m RW[ ȷ& t] >MFxJqϾsaK q&/+ 5;a܆s ,wXVs[͈^ e7U„իwΰ>{W4Grv] 6O[: ׸_ܺ@cA~ߢvR/9mOکEr+e-M xm 1k׌ W#{GR˪'Q7!"޲tR]jh\R {$Nբ`(a| >+sX,abXD/"nn PE }WԈ)Ǟ=F"{j;OӴw9=)X"7d1~;TyH/,: _&Ͻ; r3m6~2g$L׊5{RBv#?̍`w~'H+(]^"m~ VjyKZ%wPGr>p*e&(y>hd+K18dzXv@) ASI $c?rKQu2}lͷQ( [U&بW2A?zmSO е8EdXF>?*+ݜ_e+&(h&vϬh RVtK!?QJRT^*byW,ڟ7r*rML蓘28,;م~ZK8^k&%_3;[`k 6D\Ŝ0L<$8X쫬 i2=½訥u5{`b&/)^Jf_Jvr\(lyj >8ik/aOKgPP|*Ri-&16ey8{e£y$aHB\H*&|8 (onQrLPZ"l<3W+ 6Su6ʖuC;Sd[=$8^ZqZ#/0!Xc;A:h.T~1^b&/Gz'T2\Z9vé7NGncwȮ T0s[.1loM եDVb U0DI3"!F)Cv: d5o1n`z/vƀn Ŋk \a$~c;=W[ GO^oI< ZPȴZlӟΟXWzlF.Ӣi7n7:A⿐G3rY!glƓ9f }6 xliƥbY-O6[ +,CD69i_iD5j"*0FlJIkOjYMm6Ǹg<%ʗFG #79lcVX95DƔK>ژ+aEݭivyCM얽\m4Z߂0$o;d~ Wtf1#@  5|+$!eWPCRfݡh2tSzU7PK }lYZyQ3d.iconset/icon_32x32.pngUT mKgpKgux PNG  IHDR szz pHYs'tEXtSoftwarewww.inkscape.org<IDATXklSe=];v m^2$FcL!hₛKL. F?4K0 :f n%^֭]m{y^֕|8y?HBmEQ Cyhti9J|>wlHiAF#HD}1iB]ב$p8nm6ۖ<OnVOyAeTUjjBvvvސ b-#$Ih4bZj?ym)s',l˲H$#jlFUQ]ot:4M2A4 &|Bjg$YQ&pnj!pOtt&(V Jrp"TMCuz$It LOhnn`J7O>9odOx^Vjb;xݛb3f}g״fz{ -p{}}E#}}}((Ȳg%_xTիWŮ]OBľ}%C#hl\.@|];vD  {*Q߬۷? QXX Ѷ6?eel6k7PUH$2/)dYN&^zWl{ʕLL:,X`0Y$ N20006i,'%W]I(w_f;Ls?)|6gOϤU4uvFSPq rskhMcN[գ[_~ٳmBS˗gbr meeX ^=AE!1S͸%ba޼y]ׅpe%B77#ljicuu)iogܹ\\3`:B.ar9M#ZZJtL`F3!L'P_Wz{Qzz.^L&[,i<0S<#%%DJJ6Zy:\Z0>n$BT$I B֦B.PIENDB`PK}lYO4 X 3d.iconset/icon_128x128.pngUT nKgnKgux ]ZuTݥCZ@[c IQDAY$vn=s{{D- e|QQ, .؞*> nR*z8X{ۃ]}l== $i@ M^`aQ@(1]UEM8F&W*SPa %Hו$EACcaz>|˦J\ODQ3SQ{)dbBBf~04A9Q(bbMKYdwPRGSk$wbFbՇq,&@(j{ס 4ezr2<99 ?Ғ D=hQ}{2#"{^Y&5nrrRCHHc*F-hu~ornijJWFW/^(kPbBp+faJ^*zgϛšs爹-B r@RHg\)Bi|$IZJZ٪ 3UCj$hoA=!L~.$^@vb-pS58/8M Av?cSgK=Dѭn EBrgl5sYZ6.M$snGff:s% RRk_Q^'KۋgV[Ă&w%[3m%/# w=d85068唗KQ8ni׃/(V |At .5{GohQTݝRDAE'Os6Xزu!MteVJߟ^g]JZ G;q$j+߿s@w3!YRnU34碘CNT+rrOia#1/X쇝zR'9qX^pr__mrc#Dlsj49E)uOPR[D& j2ըS1 'շƼ-0w|ΎsrY*TewNQZ1 ^ݷbB^ ig wHfhH1Wpɡf#e12ذ+tT?4QN-"eG7; UM/b^x6m>EK.yHRI AUwO0^"Q=k7-.9^I:ϸۻN Qvrq?VQ!֢n]~5Nf"cq餡))xggg&yc Tvn$S."mE6i:ZRe) wJ%jBu+˷di},QeeQ&lT]hᤦ(Qk3D.#'@ (wVD0D MuI&ʸ4cR& 8Z!wR K#KfxTꈲB vv2Ѩ^p+ 44)oXUT2Zjү=!Rҙ]U k{8|,駛 wbczQ wtVB蕆^h;-Ru|3e]MlaۿYqʄi0 P+2?0Vy=jgj1pFWɴ֧iBo1 ÿz&233%1U)S>\2"#)PQ$++1N2cOss1_UZQ!a^,k-@dz*g>QqneĉҤL2 RYC/-XX0 aaRPbEQxmRGm_>8E ^rv14}B.7 5kbq&$1hc=[^ O$X1_%[L9 T==_ aaNb^$df j(tqC#37wf]z'+ aa;.#+k/sJo1b}}Z rd `KšomWcy- L:A&i7;*SfLu,leD `{(bxMS֐}ѳ0:r)xm  2k׫?<Fku%w6/aҏFsçl֭g8S~ OկbfAT+doT2²&2+]Lg[!x e̍*F()y.ľB|WڢIMW!L:fU~gtyۃ lبEi7 IS(!zF#;eoeKi?ObShرnjlJX;Y<0460twh]C N,wi槕Z P :W<w_<ģ {\e^a<٧nKr`ߕFePRL~p!q$K`?Xa\Y2MɡN @!OԵmߞdzZ]I¤H RO;%d׺.JHp&c„eCӹ<)yrG;y^enϟA-en},1b>sփQ1wn|"(N:8Ud6w =*0\nwX.6\!?zB vɾO)Ò|4q[XBZ'kUy g>͜7͖CD2tGG꜡DFݸec`g]<*p7">|c2у}~uB(`P?LULţ#F@q;r$rВ{#Q_LĤo*,g/(p?i'yKWM,C֭,2 0ɶdXC>=\'&!oްKI7:nZ4zՃ׺<*6XNå+-8r%f ޯݔv,Ƣ RZ$wPTm}؝Ů8õKT6aBo{iGOn+4/$ɫn3Nw ! =e;]^+~Cō<8FI?Ru,!N'z^@;  4wV 9DK6qSZ  DW/rx#K(23\OVg\5^N8@pS񅽛 jƽsXy"W5ΊUVJby*^K6, +ZΧCV-Bz,]R+/ dX|lB7qۼF(c<=OӦ\=%kQ!- 3 [o?FX$p̉Fb==0Teq`Pd$8/%|嵞ZTgi?\J &{:Mߠj/$T~=h+Xn3.l^C~=X !!ݚ,G R v[!X Ŷ (.;ޓ)oF$3AرS{gE,$y zw@ƺ IMo޽&:IHq L$7ޤ\X7/%h;i zcެf/ k⳹!׮p)zaBE7 5 +{of{.S1Z[B}p!ć")՗Fb+D1g= }22gca)S(fX%(j*ь[v]X'.ixff8f癭[ڷ9pPc?6lMx=v}?ȧzj? aOk[Saw vfOtؠrق2-;N&,k-Voǵ=gjO~#(1q!Lq6^3ˣ#8_З4-FsW~죴LPϨ&((,ӂ^$>,~4pp +-ᕄg3aH>v'-`:w==wdܥͷL3/Eb6W,YQwGm 9 B6hI~'$xY>:l0r"ܽo$y po*nؖ]VT6D{A9C! ]Ov߲r/یZhGg]=3Zыذrݕ}쬿5޵>Ja?|ǝ&+ZGse?Ytl. qK^f㢞 +_좓$QC5nw*2Ծ;]:YR;-=0}<  ]qQ˹p.pQ%l%(dD ՘ҋR-tpJlVjuۻۄ{0^$H[ py$sAY`G,aw BQPI`8LH02GZ1oJUPޖ&EK/ј,g渔z!8,XBe|\Qby@L6aO\_fPe$ Xu];Ƌ^5/K7ݞAz׬5gW=OE@yF C 5[V}(awo_w9h0[q~%X ϖz? ~x'~-GJꙙD)":E3d6d!WG|g4q;|%۫C{+YN|,8Ƶr&mӳuZ?iF"&xu dA%2m~k`51q8LqC%| W%`|OT@5˓[>MfE+f*k {YW4廂[}wT9q`~5ŌXhKl8A|}{u<$_L[֌Yh٪ oքRx1dh'isa\whK=8[?\g4+}w?Tf,gnegO!_A\:ۑ˛Ϟ|VJfsQQ*h*gXgHRkrHUޚ,S"@)^zQmwwB*WL$a"q nntqLz=ŨWcM h9e~ವ^J xԉO( 鉒jkVH~ `\|-{lDӰb&GB2W3ou홐n/t{}Z?ۗM;)ag,uvSKޣ|9զd>;nL yqWAK*=Kܟit!hmI ]Ɨڏ4p=Tb] 3wo;v!(!!M ~KړGš'M}οs ok;sJ2gc?[晶(e:Hm) /7.H\>FrOrqNԄEqE^mԪij}DL-ԧH$U8n}gbyA -eĤKR{hJX[a߇lE ؤ~ ,YmlOBXH59X~ iه`h4 YYKÆ6Fh/tJԃc+1Io*>I3^V:Q'Mέϟ&[)jGHъ)x0NMH֌W."qç)E4K,w:jĎy*(eJ6+N/.zfp?nu^vU. C =oMc^f dnjoNur1p)*<xե= g,4}Dsi.vrϴ+ם /;|I,}'\4:Uϫc&+D7o:8~SN4RaX]43i67!2A }v'06&*=&BޕŜ*5\dpubΪMQcAZ5q32@!2DcW}y{BX%X `̇ü<_Y>cs( XspҬ#% dV.e.5ODɊrTKa߲T|y2G_%w}tI$F/b=(< #cHf%F477G>N{b~ YRj ;;E.<&<#糫Od(2;Î.&\0{q@"S GvQ'QxZڞ׫*X"Pߏ'̶<7*A5YEPK}lY'E'G3d.iconset/icon_128x128@2x.pngUT nKgpKgux u|PA,n5-5 !@ '8@pwn{[lBMt'Dkɣ 剄ۀ/Ȯ @$nZ$~/{oswkۛ՚] P2>9of,K!nIXɯׇ5ʡ,(ԉM!(2L0UxLLʒX1cZ:՜tT?-],q;d:%@\V^iXØ}JW52>qs4C;hyXs[&psB $ߋ1YaiPcE3#B@Z/le;, z0M+H}7;$B=.5hT2{Ry.+a1%d;1`ӕޮQ\=}z6yhž>2LW07kX0k4 Ӓ?2G@nqvU0R.7? *)))ihh@h837+vktIO=:^ bgg <fYʍ6Q`bf>'kp$1O ;*ZV*X!}J kᱱåec+}3\uHo' oi>DN,ǯN 8g˃/d4! :!JAQKuP( K s_w%!=XFmhnoo9ףd) uIHԹ?)7ڗƢuu6h3 {BMj7㓓C718fs0E` /s@}27{I|8y{S!duأeÃsG}'ati9)Z˿քϟ?!أ|?n^?v>0"ccc/c7<<L$}6Nz .2RI_ГW"4gЌLQYԾ5\'wACKhy‚NVyTJ&zVn)+ 7.ho;`&k*ݱ%G(Y6HZ$xyG>aZ檑5M0fmj9;9Hy.*ZSOOykRAwOOጽyrXD&S5Y:SJn}ClL_yr@~9,+[A@(WSq]VZ: ˬ -"}t.Z1.r/{bRkppp\k"YO9Qã?b)C#&h_ @UzM`E}SUyʐ?[ӪwlSNWE :wb7\Gj?W=z /4 r7)aP9)[8"6$Y̸:Kʔ]sgNbGb9K㽷ꔛ؊tgkc78- JŌM HT`n}AϹD,Ȓocc 332oNsz<Ѽ_"Ozi'>d5r_XwDhL'\u=JSWi5a (P.$8D@Ifk8pXB11TpK?+D C'QD t01؀z.ުl~Q'!S1R&UgqZw5uǦ)g) 1e&HߦMܺ*F~ eӰ8Q "i[SH$K{m= ,;`9ok.d)*Ҭ;iiikښ7 C&r Hgh/rz6 /`Ba^=,ƒ_b<| {CPQ닟m9 okiik`l9VQ Odp}\o`<%a7X$9LLAe_KiʷBY%0߾T _)I__iS\B~<{]쓑(G74cprS*T5_2Εpi>gl t$|$9zo:ïEDvMհKtTV=RoJZ.:*\P3+Mi(邭^hgAAAg=JæͿŨi /-6ar5Z;I'an$TshPksׁɍ_k&yGnUYYPdTa ?c4Jc[թ}߂Gr2 Gd͛p:M,;oG1X R1Zv,4,  nž g* A^^_ք,y+#J@ŌRsm0h5~av0pS)CcD (=E.n/Ćc'IP[N}=i3avƆV$:isB!HxMk[zT]u+ 9)+0' +E&sK">=<@WP ĒS+v?O,7nr\ʙ@c PX)ȑNZg`@iycS/ LB hQi8dK'RgkqNU'&gmb ϝ8 k,]/8Ow ,tk#Dޛ =^DA)w:cO3 KϯD Hgڼݤ81vwN0_ЪcrZ"C/G7l+,1 Y_ifz`pه-DxC **u{m㟢 zPZCt_pJ=CЈX$(kd`:\ |pqFX$Hڞ|G: ̈81ͬH$.TUvޓ=ϏӇ ,ͷ!"ގ~f7:>epBr2ptAE%~xT_s`K9 5$OE|~퉥L\0izphmv oM+uD"@Ow! ϟ].pܵx'.(& ^θ nRnwXKS֘ys/!9==\hm,W8Df ]4ѭ O4YCiߓyr@/x1{4bv _^e!@ZٹxHh,#$|Py9sK?O /%;Qkv}ɂE$iaע)F,w>Qv2ձ_r@nkk~5tIA/$li)/p|"dQOѠw @,8&$,QKma!țtq ߲`HpLMMAm**h^M:8kL~Nz?\ 5c_|XPDZG` 6 dZʺe6GJSЫ3Vd8a]k6)P-0-Q-a@6%'亍⺇z]WN<)?)ihPE0)Ӆ6\Z{n[G0y2|%8O4E#\\.a Ӂ\<%}C<|H3F$E$&@B:JVVVTt$]8 2z9وx?FGHkcCչP[ׂ$$VhƉaN|]^ΔH||2XabSUIά̶:n 10;6)(齭cNGy=S]Yo%p@-ׇ{0?e?@:;e5T^ gDE&>*2+&Qj։by̗sīm2Lҟ- tK,!H=EH; S-_ma`Im'՛At]@+Ii^AII#1a.']fn8nٮhA !`xAx@@Ǫ'1a066w^ B2L"T89՘CЩA{CrlR9G8Ina*{Y\,S/o:<@XxfHD1JcG+gK>XGUtF=Qudtxt x'2"Dߐ}׺o-\A AH:8oc㬧?la+HAϯA5_{܎vQ!涵x;ohּpĽ 6i| b R jY+@!(27g~OGGO+~STMΗN`M3m`jwǑct~LItmѡmݤ-MIa&`̄ Ҏ'? V ?E*C'=ݾ~倶&W{ kr$y^||v>Iϗf7k^'cfBŷANp>t`Q%eF؛A]cF5=p4xڸcW-G!O@SZRndr7yS,J̀3ShDa4㸂e__"z%?Cٍ2R[h18 KE6- o+|[r9TQ($A^rYt ,FQ .p)@ {H&7L=on¢!ꡑ4'OWnFK 4Iݩ{TfZoTr,6<tXBɅŬf]zSHԽAw:BԠz5ڴ8ȉCބaaPˉB%dݹ>ؐ;()%Rm?r0&{՚A{9fJkc]5a45T6<'\uKM|{Ɋq###b*:HR6 *I,?3D2Q?fV?D BF[/T~[e=pK;O2z􇮏 ҤFѱ2ݠR}#ME7j'Ks Ih>|l:qP Q~H4蘜&dwmE8\ &KPެa5S!lNi|x~T س]SGWjo0ףhb*q3wݦJEn'R>N HAn:Lr@3mLO$&-33 ퟆ<2j [Dׂ@==јiܫ#zgJ.AG9X?}ʥ 2]m|6iccImܤ{QCj"^F_0XWn wyk Nٮ* E=?F.bx$]UЇat5 0L푠HB5DP,{^' 罽z͒:I{a77%3" n"5 b/)YGt-rD Ѥ~G"&?gQ ؄AԒ$iǣ|VG?ߧ7lrfc &'M{Мg"A_Gq~;m4eesX,L{}C)"9P%p-,t䁂X>4I%XEM{ j5:NscscC gUD0W9Bepk5m z/YѩO`X;Xh`Ϻv>矆9*SIj@/C4ի$Q&0>I`G]^{@1`Q1\P>11q5MXSnQȂ#Zmw\ s&=MA, s ^(1#<ƒ/ +u*BD̎[ܗ"u X|"ʭç/)8<|/t^=]Kn@lה~3M4_)|%& J6f&ֵt$ brϳ]͖p{D|(JRP`;~Qg=| x^?VFo{ϩE-+O:ˁ~A.ɠoA''8bE4|'lLLI?.b t>yDI֦}S-r arT^RBak.FG1xT/ p{\Pl-CyT Q:W:+i _{ 㱱W/goϜP.#xo(Iil5JX7Іy}WK.hm 7;Ub5ػVuFjXXj.`=^vtR_^qq"mjNf *z9}V|qJʤe]=!{^|1UJGٕ%G8raAAL!O\Nsа05iZLtuxI23k&FĦa"+tkFj貼*6PQ hal$gh}ND{?(oO Y .g ă N#?^݅yO"'׫݇#z@}$;'jkJG{{-|P#HT(gY9 (SU G%@I T?gr\!-&E#X1؍ yJO@"~m ؗ+0i Rs?IxYEENʚ󻙋>훕g 4dKŽwkWI_I7[.:zoV8?YlsxpUw_sihߛ2t&5\3)Lt?.̺ppY(}4^"#Fo$e@'\?n)h7zm' 6,ά QKkf=aÄ2gnOwzm̷ߜ`ҋi}uTRDhт=2=Y߿X}}}|N@Z,^c2 BKnȸW)$}֩!G^s)1eKPv60NjN6#ҠJt@R#)#GCCQ,<|aA ++;84+ F?#=;!LûTD z@΂ڱ[  xkGvWQekF|334gtjy"5Otϧ$0ln{1OWT 'Cw,/ng KϛqvS=?7׫fK|Z}Ksӕhd m'Z)=`7i-V|`ݬD: ׇ&'B[ '߀WYBMgk`4*B,'Dt?HU hN,B[p_Ml~+*!yL~ [ɰ6h^EPv܃q!SqrZ)"xi |j X^]OᬓO40^yk7S.gt=orXn|}"[^ #GIKYtlQb)1]y[_|;ŝ<ԭѫC+"F1rY f wS%^9'<#M=Yk4bWb);Pj7L␯$.T ˟M[cJ"}Ol KY!q |} ŇB6L4[H~@ rJ wߡb trS7Co)(@.ܙE 6!jݑ|VO%7!F?mx,k$XB`$|Ӄ +AD#@76dI֒'5xIK]}Pr!Gp*[i_L cQlS^0t~>Ǒ&eiO܀j,a6ù[r%XJyjR^FzH:p՞WP$r(2%稈 8;iZ7 R ٞ))r\~J3=l RSSx*/̙Q|<Qف#fboe?='R.FMXnDSL6;W$H;pB-K5igU"`aZ\|uXYp]^nۅn ԥUio@̀hddTaC)Z ~V3֐ll\yشڿ?S1lDd/H'<ο?'sMY=.QyS%o@i 3Hg9?1_{\O8EȰsRn1Ϲޓ1R?'ejtO!Ĕ6'&?yC @w ^pmFuF bgguGP#.G ^:HMmΊw']Qa7GFcx@X0q$ XX%ΓEʯkΗuXsT%O+>rskCco'%C 6W&% 3j#;vRj54IEQN7ˌ =bF'y@ԥó7h  4k%nƊk%Go*NGW!mUVb@QCnPtR69<@wreA]08g}i,=S@)5.v li.1u3l6;|Zh!!(b0+jSnH Q @6E'fD|v7 j_Sr/q,'V|FNd5/[[A 6e ֶ AJmBC85ar(QXwV#g!*|9iӠDv<91z<bܚSsҐ$mm×HmYeod+&+PG1"&m"m5f?8`;cb`4ګK#Q3r52|6bHb&kYR6,{O©cPPpn ;t:^|YNj3ײTp1]~<=^/e=/?&[ʈӉMNxm ک--u%u.! Bi =\D?.hm8vLWV9VVG"d[nɯ҃9 k=s&'" oZ|{7.EoCeُVRR2⓬2C. &7HM cZ&G{t*ŔXlA{Ɉr ZUr~5 JT z.%q?K9[Z:|@9"^6S7ߚi0%:c#1N?Zjr1UUTtkg]kLeT[eu崶WbُU'hmF25Xe`/qTT &Q+(+ƓRzjTC1jv`Z1 "nd;鴿eEkRPH:jݥ}wzF+M uj&; ڜcN .`Zj6,?Z&D/n_lFH3ѾGKs{Qj]sNǻ{8Aw{򛈃xKo[3k"P%H6OOƤH; ;cqx!.m yFuLDXM~7QP/@$,~ԝƮ,6[r|$j:҇AHk-<<\AQ jMLS|mNg7>w4[Ovx,%KbG4ظ# 2= '"84[Y # XőR z'~P $M`: /`K6dD'ZG@dܿ:I|q'e#XH,n}J?47ۖӣVQԫ iLj11 VIU>) D괝sOXku9eݾ5z8_Aԉꜭ2 9yןQJJ ,?k˗'b=Ն2b'YyhN]E`ŸͶapApMFqLsj`#Z\$=O?+NF֑p]RDY''Z:0*X%IIW: ׻1uBV&{vzl*I?y݃T4pB'gAӇ4fUw^;W>chqW+cHh^4mL`.gtW`УgC_LJxsC~vaq}7D`#33d개[Qʊ:uإGv9&ll~T|Zcvb159Nrh_ Ĕ*?}hMɉP_J\'.;^.,".}XXX`1h.kHptW' `t/;Lf  G5OH@0TSa~Km~Rm]o// /%% -7K"y/_Lpul8S˾.i_llnqta7oh4xO'rjky*IWw͟XOo& )[ޠM8Xw$:^aSpTB ]٢Qk%d% ߜ)ơL}s`9=!epQu9otdZy660Tz9%naNw`@y\+Œ;$:WY 1T@BSPW?i-]d-pZZ m=j77CO"RJoVC@ʲLNr Lz*yE7$} *dʣ 5nW[AA| GĊb?,[6m.fuEo4te7EwȺ1$k,K|`DDF2CH8]P?ϲ5tZJʹi JvZ I;|>|p,lcZ`v5(hEO>rcmT]-kwr&d:F-gqd޿8yl;Ƀ*E4J &hd6.g@N`x`xOs FwoRkK^YI݉}MEނXºKRLBu{Ht}8G? ;yt@d,V*A$[u&P\DDa.sĜ}*F8CL7fg`ѻHi Ht&࿻&\k%T6glWЫ>窊8!HQ MNz8/n"leɤ|;4XUa~Ϗ/%WmoЭ)0}O +RQ.lO679co"yF -CPU߹G }}}oBA[Ԍ&!4 /HLMh-/qY>KFgƯ^>NX"وl-N ׂ0\2W|'/7vX2Q؜A 3gO{>L(#MZ|z`AVO黱pTb!uo/J "ʬO;) 覚e%WC_*?!(5Z":W:<ޅmv}Rin^V5frO8^qN4w*|¾[Q. v@9efh%R.NbD>-s+P\NȢffR#!m>=l$H[E,Xx\GkHr_@ H\,N}|7V[j vۋdJd[e܏ZBr/{D!U_ʖ_GFqwWh;\LͲw5S㸂C: %]1E wa_z{%wQfSiT:fI:]į(#q4Q%Oe30>划f /jIA҃1/̥׮ݸ<#U*!"x*K>] %cj}5R^}XNx>l߅qyR4#qba߿]LG'#Vjx+x7_{͞{K/) )P%G^Hk*qY%tn75 qL6oOG~ P(X'lF-Z;9N`8)w(:427l2[lTe*RЋyV}R7%rU;Dp0^br)qkMq!&\|YTcb4bp()a'eytZ(OaᏢֶ-[dQma%"2I/LW:C/OLZx$hdȒkWNҾщ\],?RWڂy(AgWfe =aFz*aJ#*[uaM\B5zbl*bOaߙ E%s $v:]쇇ќjE!w ހxD>W;){cpQ_:J HЫ#O;=/+׽^3$3jd @w.bF%?:<\굊[ݒrF,eȓ ݋^-fJ+?9)D>NI^?Etj@" oE@/i& d䓸 ^"*}FML~7xva)Wڲ֬- {*^TP[L`Jܤ1<.µuKLBDZ=,Y9Ȕ^'3L6@q:5 0/߯Q /j(}iw h =T*\+Wc8nMBmrxB8Nt3">θkBmDKL@8e5H.2]!x%|kL kiVP5rU$QċI kgК͉?#i_b2iawAKxW.!RDK0gO?*q# [cF\|y lٱ7>AZ9didO`Hsg^,);#OgP? RB}Dz Maz !U؉tn!@kz4乵a<81Z+r"z1Lx1Dž` a g>#B-_GqxLYPK lY A3d.iconset/UTpKgux PK}lY'E'GE3d.iconset/icon_256x256.pngUTnKgux PKlYv'7F3d.iconset/icon_512x512.pngUToKgux PK }lYZyQ3d.iconset/icon_16x16@2x.pngUTmKgux PK lYV; I3d.iconset/icon_32x32@2x.pngUToKgux PK |lY@'}3d.iconset/icon_16x16.pngUTlKgux PKlY zauU3d.iconset/icon_512x512@2x.pngUTpKgux PKlYv'7Q]3d.iconset/icon_256x256@2x.pngUToKgux PK }lYZyQ3d.iconset/icon_32x32.pngUTmKgux PK}lYO4 X 3d.iconset/icon_128x128.pngUTnKgux PK}lY'E'G!3d.iconset/icon_128x128@2x.pngUTnKgux PK "gsurvex-1.4.17/lib/icons/err.ico0000644000175000017500000000427614560325776012016  ( @88TTqq222{"$#a*|DOpqnooeee+Y[$#.FXy{c&Hbc-'0JQQ$$~ADD?BPufou+os_d0infl;y~[_FI3JL=*.dgEG$'Bu#"~uy &'MMMOOp?g$qu-rvOJMUVVTTH\]C7dfQT68OOFgh?  ./012#"34567  !&'()#*!+" ,-   !"#$%                   ?survex-1.4.17/lib/icons/plan.xpm0000644000175000017500000000066314567212227012177 /* XPM */ static char *plan_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #F2E9C1", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXX XXXXX", "XXXXX ... XXXXX", "XXXXX ... XXXXX", "XXXXX ... XXXXX", "XXXXX ... XXXXX", "XXXXX ... XXXXX", "X ... X", "XX ......... XX", "XXX ....... XXX", "XXXX ..... XXXX", "XXXXX ... XXXXX", "XXXXXX . XXXXXX", "XXXXXXX XXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/Makefile.am0000664000175000017500000000470014766145064012556 ## Process this file with automake to produce Makefile.in xpm_files = \ aven.xpm \ log.xpm \ open.xpm \ open_pres.xpm \ rotation.xpm \ plan.xpm \ elevation.xpm \ defaults.xpm \ names.xpm \ crosses.xpm \ entrances.xpm \ fixed_pts.xpm \ exported_pts.xpm \ ug_legs.xpm \ surface_legs.xpm \ tubes.xpm \ solid_surface.xpm \ pres_frew.xpm \ pres_rew.xpm \ pres_go_back.xpm \ pres_pause.xpm \ pres_go.xpm \ pres_ff.xpm \ pres_fff.xpm \ pres_stop.xpm \ survey_tree.xpm \ pres_tree.xpm EXTRA_DIST = \ 3d.svg err.svg plt.svg pos.svg svx.svg \ 3d.png err.png plt.png pos.png svx.png svgicondir = $(datadir)/icons/hicolor/scalable x32icondir = $(datadir)/icons/hicolor/32x32 install-data-local: $(MKDIR_P) "$(DESTDIR)$(svgicondir)/mimetypes" $(MKDIR_P) "$(DESTDIR)$(x32icondir)/mimetypes" for f in 3d err pos svx ; do \ $(INSTALL_DATA) "$(srcdir)/$$f.svg" "$(DESTDIR)$(svgicondir)/mimetypes/application-x-survex-$$f.svg" ; \ $(INSTALL_DATA) "$(srcdir)/$$f.png" "$(DESTDIR)$(x32icondir)/mimetypes/application-x-survex-$$f.png" ; \ done $(INSTALL_DATA) "$(srcdir)/plt.svg" "$(DESTDIR)$(svgicondir)/mimetypes/application-x-compass-plot.svg" $(INSTALL_DATA) "$(srcdir)/plt.png" "$(DESTDIR)$(x32icondir)/mimetypes/application-x-compass-plot.png" uninstall-local: for f in 3d err pos svx ; do \ rm -f $(DESTDIR)$(svgicondir)/mimetypes/application-x-survex-$$f.svg ; \ rm -f $(DESTDIR)$(x32icondir)/mimetypes/application-x-survex-$$f.png ; \ done rm -f $(DESTDIR)$(svgicondir)/mimetypes/application-x-compass-plot.svg rm -f $(DESTDIR)$(x32icondir)/mimetypes/application-x-compass-plot.png # tubesprefs.png stationsprefs.png indicatorprefs.png\ # windowprefs.png gridprefs.png unitsprefs.png \ # legsprefs.png ctlprefs.png pres-restart.png pres-create.png\ # pres-record.png pres-finish.png svxedit.png appicondir = $(datadir)/icons/hicolor/scalable/apps dist_appicon_DATA = aven.svg Aven.iconset.zip: aven.svg $(SHELL) $(srcdir)/svg2iconsetzip aven.svg Aven.iconset.zip SUFFIXES = .ico .png .svg .iconset.zip .xpm .svg.iconset.zip: $(SHELL) $(srcdir)/svg2iconsetzip $< $@ .png.ico: $(SHELL) $(srcdir)/png2winicon $< $@ .xpm.png: $(SHELL) $(srcdir)/xpm2png $< $@ iconsets = Aven.iconset.zip\ 3d.iconset.zip err.iconset.zip plt.iconset.zip pos.iconset.zip\ svx.iconset.zip MAINTAINERCLEANFILES = $(iconsets) EXTRA_DIST += png2winicon png2iconsetzip svg2iconsetzip\ $(xpm_files)\ aven.ico\ 3d.ico err.ico plt.ico pos.ico svx.ico\ $(iconsets) survex-1.4.17/lib/icons/svg2iconsetzip0000775000175000017500000000124414756727464013452 #!/bin/sh set -e inkscape --version > /dev/null || { echo "Error: Inkscape needed to generate macos iconset files"; exit 1; } case $1 in -*) in=./$1 ;; *) in=$1 ;; esac case $2 in -*) out=./$2 ;; *) out=$2 ;; esac tmp=`echo "$out"|sed 's/\.zip$//'` rm -rf "$tmp" mkdir "$tmp" for r in 16 32 128 256 512 ; do inkscape -w "$r" -h "$r" --export-filename="$tmp/icon_${r}x${r}.png" "$in" done for r in 16 128 256 ; do d=`expr $r + $r` ln "$tmp/icon_${d}x${d}.png" "$tmp/icon_${r}x${r}@2x.png" done for r in 32 512 ; do d=`expr $r + $r` inkscape -w "$d" -h "$d" --export-filename="$tmp/icon_${r}x${r}@2x.png" "$in" done rm -f "$out" zip --move -r "$out" "$tmp" survex-1.4.17/lib/icons/exported_pts.xpm0000644000175000017500000000067314567212227013766 /* XPM */ static char *exported_pts_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #2070E8", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXX XX", "XXXXXXXXXX XXX", "XXXXX..... XXXX", "XXXX.......XXXX", "XXXX.......XXXX", "XXXX.......XXXX", "XXXX.......XXXX", "XXXX.......XXXX", "XX ..... XXXX", "X XXXXXXX XXX", "XXXXXXXXXXX XX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/svx.ico0000644000175000017500000000427614560325776012046  ( @2{"$#a*|FOpqnooeee+Y[$$.Xy{c&Hbc-'0JQQADD?BP-rvufou`d)>?#inflCy~[_FI3JL= #*.dgEG$'Bu"~_duy &'MMMOOp$quOJM &(UVVTTsszH\]7dfQT68IIFgh?@ AB1C%34 56789:;+,  -./+01-2$% &'()* !" #     ?survex-1.4.17/lib/icons/aven.ico0000644000175000017500000000427614572162016012144  ( @KKdd11;;:PPfvv 66ee55####?@ A 34####567###8 9* +,#####-./#01 2 !"#####$%&' ()   }8?~?survex-1.4.17/lib/icons/err.svg0000644000175000017500000004040114567212227012022 image/svg+xml ? survex-1.4.17/lib/icons/survey_tree.xpm0000644000175000017500000000067214567212227013621 /* XPM */ static char *survey_tree_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #2759D8", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XX XXXXXXXXXXXX", "XX XXXXXXXX.XXX", "XX XX.XXX", "XX XXXXXXXX.XXX", "XX XXXXXXXXXXXX", "XX XXXXXXX..XXX", "XX XX.XXX", "XX XX XXXX..X.X", "XX XX XXXXXXXXX", "XX XX XXXXXXXXX", "XX XX X..XXX", "XX XXXXXXXX.XXX", "XX XXXXXXX..X.X", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/surface_legs.xpm0000644000175000017500000000210114567212227013674 /* XPM */ static char *surface_legs_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 46 1", " c #291010", ". c #003908", "X c #003910", "o c #183918", "O c #212121", "+ c #004210", "@ c #007B18", "# c #187B29", "$ c #5A5A5A", "% c #6B7B73", "& c #008418", "* c #088418", "= c #008421", "- c #108421", "; c #108C29", ": c #188C29", "> c #089421", ", c #218C29", "< c #298431", "1 c #218C31", "2 c #00B521", "3 c #08B529", "4 c #08BD29", "5 c #10B531", "6 c #10BD31", "7 c #08C629", "8 c #4AB552", "9 c #52B552", "0 c #52B55A", "q c #52BD5A", "w c #63B563", "e c #63BD63", "r c #63BD73", "t c #6BBD7B", "y c #39C64A", "u c #39CE4A", "i c #39CE52", "p c #42C64A", "a c #42CE52", "s c #63C673", "d c #9C9C9C", "f c #B5BDB5", "g c #BDD6C6", "h c #DEDEDE", "j c #E7E7E7", "k c None", /* pixels */ "kkkkkkkkkkkk#<3", "kkkkkkkkkkk;ea7", "kkkkkkkkkk:wu4=", "kkkkkkkkk,qi4*+", "kkkkkkkk:9p6*.k", "kkkkkkk10u6&Xkk", "kkkkkk18a6&+kkk", "kkkkk18y5&.kkkk", "kkkk:0a5@Xkkkkk", "kkkkta6&Xkkkkkk", "kkkjgr-.kkkkkkk", "kkjhf%okkkkkkkk", "kksd$Okkkkkkkkk", "k2> kkkkkkkkkkk", "kkkkkkkkkkkkkkk" }; survex-1.4.17/lib/icons/plt.iconset.zip0000664000175000017500000045776514722727570013537 PK lY plt.iconset/UT xKgxKgux PKlYu?V433plt.iconset/icon_256x256.pngUT vKgvKgux =zTTC[BRrhR[k@$Q$%VIiP:a[Zg͙{}f&F[S 66OTUt<Lt2; C |hoHF_׶/-kCI*`Tdr|Hoe:2xaX\X@n1*>)WGlJ,|R+,k64IJdy_ܜs]=vzVoT{s7cnnhpl4?|.) =+v] _(=̤&L6e{9b'p0T^ߘWQ".PSDGPiE~D]a[5JbZBR:ywJGSɷy0ůQa:jaیxnT2v6#@-E`П%"J9. 4Ӝ{!pZt]ȲHJz?d~F {04^'X?+;^@JVVhvh] AF2,և3|cp oi)2-RWVMd<ޯ=J(Ijզ|@ ) 0GY; D*#zQxSC)ߖ*" E-†Y/'EҀsC7|¢Cb Q3x1 G}Y8bsBwo-ǟO-a?%K N"Fa,ԟ9N`YdiGF sWmx:*AGcmV uVK%S =PVY%[t0L(!%F>j(L: _+qCeQ|xvzˁ 7w[cz?9Wa&]_=g 0蚋`vi}$GAɇt3V3–\3_䥈T_raA஢;?}7a/-J,;~37%qvCNU/]#>,V}A_n,d!RU'd#p \#`L1=a7=p%ͩ@xu4rR`rb3]cEܮ}S#rAf(@3f.Pmm"B$?k?YɇghY!2%C`hgT| 4G d\J//^б\! z" =Q<coqӟo?~;RtMuEt1}}?K}x۷cGKp oB}MQrt0vq;yF/h #[UT+]#ז-Vcz3KܵLZh{A/ (X1+-UF`Sb]QΕs tC'ψ@f4Ṿ_/[NY>>CFBd\ xV9feZ Ge@[K*.g]_&[yfH'(\bvsb8JwQed^'IMK+86&!'&xv{1HIygy f<,8 CՕfOX977ޑRJ67' eQ^~}x;.1s}߿߇6a(+]uGMnK?iiP#Й>~{jN(VdKGHLRSfM Mf v#eO%-3;ߝhRoWanl`h Ze"ʹ*v?w\%S 82:/o1$H+/B.+r\v_ nKfͼ)q26ퟵ]_ǴXՈh~'_WEI"X9*>+*n)뫙RepY g|Ҫ234"2 uOOJ͏Ic2I0&s9lOվ5N\RS$͓TяF5oߟQSVLO'm8bccieɄJTۧC0:N#MhPG+k *zQV|^f sgL|Du];?^[k+?4h/KtW︊vTNEMm#Qprekڝ$m."d$e;~SQfDpz&Yuc{{7Z깄޻ǠI׃SK|LF^F-Um䌑8jO]o?Y$_V_:`9K-2<1;_3̹ )z,_;MD@~]YQ}zPV@ZJ}UAI"$Ok3Pb m@fb}€{LdVӂNfn Uݧ㷑. ۭDhF6O {~_m[%`(.3BxN ٲXk$. b?IN!뽙۷w` <`F/"~)4qHDđ=V^(,)F|t!WVq% UǑ*̨.+ %fe1ؐ1˹761yg;Q ۛpĊi3@u5M4ޣ;AbJYE}7{wO%h6 Lǯ"CLYݞ]y|iK)d αR } ]2i q&`%):|n]#Ā@$NrJwj6UA⍙oIF9}"RF(Ĕ['".9b{V/DgV||D4~;Pr}B %\sty2:ց 6nn0*q$yqiʮF |t*zimkkm\ePiK'9Yu$_oYb>nb3vF]X&1r~=ZZ[ X9UᳰOiU3u crD5Y[^_t`S=TV gFqj} &qJ*1P:fm)bm3Uq_ݜ56RL^M4h-)M:VZDN5&r&;T TKΑ uS=b7JDhiV;OmpAUXm^0rɬYY Oo̚UcbbL eV/jf&P -UԴì .D-Uq{xFGeA P|a )[t*˫7E`V t`@<ұ0Fkz]h:FŇֿ>:lm?QuTaB9%  #֏QBt T}Ϸr{fZн,{Sw*8٠ֈњ`q#X}"ԧ^=jRvx⾌$yBMufR9뱟O<_(VE:g4>XUKbO,FFFjIpT]vwHlfH<6:1 Z–S<[=9+הz'Q]f< ClMFMXȤEx]!M®z\n}/]7%by ^yfITumO.Şk~yUnTZ-ca~GՑ*sB6)3Z6?8`y'hf;p +'y>|/D=ު7"1 9`p)H!ݚyZ!|kqGy^xrگe*VTY;{mŋRBxwp =a]ݛ q3ճiϷʟv̝MW&V8Ŧ5 qSc[2#H LZtHR#kjdGPD: /R)rN)ޟT^t[܉7E8Tو6X!h;C+i#RN)Τm!5ȯ4ƣ] 180H^ >hֿ`f h4j'jov~(Eqne9Q_iY#[ۑm?|i|:\M_ "LFJNMN4UST'o fUz1mrGfz ^[3ݰύ!ŹOSd\p9.x+/B &qoB߯UnvrV'yZؠouw }q $D",0w%$~0ڽJ(lp𐍑XdЩr N{]kqr0<v[>NGM4hLWv^@I ;g nh /_TpAa T DBTruv \,E nGOM68Xm=3# U̸z<^k%;Un݃_\o2#>hj">ۇ{͘X˾'TShؘ=^o^ftD"zEfR4;µp~%D<9k{+1P.OM&;2#6>7baneB݇&N(zRκ]Yf*SҴA.O6RXoF-M0E֯UzFҊ`cay\&>hCDM6BciAȮPn76 `UWȸۉw,FX־P-XLc^8(*bRNWPN+aXLRezaMWPkq'rjd:OL1ɴ);],y>N.2gtE.P~&։gR hI昆4@5ʙ9: aW(nSSQ'tܘ ;=Tm|CĒ[+x`N370 P7Q93k*D9^l[ԙђ `:^MPnF&o×h~<ɐ޴tzy!|6 l5]Kf*" {yj/<wL ؟<5"ruwY:RŅQ HL2>9c*ot1UM12߇ X'Sఖy*!8_{c%_myx#1A[-y~.e])*$"򋞽rK2"xV.rpێ?conV|!.V;1W|E33=qmY4Dugۓ}*LB˗AAA_:AA!az¨@ZGuZ"}!MI@7ϼ&###/xsLY6U\3qd7W<3Bz@@C(yk.ݧJu(a`Y!4֦^j9|C69N)a<%bs0_PjgwkpW=8cF~+s9o V=I@=Nj8CÓdFndy7^dM b~mveJ,єa}Sèx$$ə9g,;S;bj+_/˟ܓKQҞM<笏Hp ;m3 gO6аzZz\,}VH45]]. M`o! )`5q\7 HurĆ9U$%rm-MYxۖyPU.#kn%dBAmrm;SGЎѕa0I ?9><6ظ뚆 &8]b5%%ʃF[o篸?+z)Vkɰ^5XT%ey&oeubd@% pZI:Ri/ia}}:8:;ń룈٭ ˦=c)h<}71#?*/Q{0^w^ϑ؛8 p{ڤחW'~)qG'fM.bG4O,jP׌k;Q麤:?LY͹ngK}fذH8Tp 5*<- D-L J^9_re%.\csL{jf4H<@ 9U˕ Pi DWl…Og-rҟI8.9w*hR0NNNQn在|l_3SQ&FjQ7!,2n0 $ZajXmJُDXtNRP2i63WY/-g):o#bE&d .N <1Og`f{- IV=HizTl6{qsV td?e}@ g R= /dYmm՘ إ^mLR1@~wqMsCkOQf_OQrV`ted;i9>`}sS R;39TӰV6T M|=Ehwx {w>sv³Bd`sC,(1"q9.S*a{)7ںWtZ<㤖 3uK/U_۞6Z c/D:RWEyGAMjy:}#L0Gqz-jv6<@l W/L#.3U%Zs;צKI솁hGU YR6On. ~[8@}>+ق ͟ut#Xkkym)?=I1;?<ȴC@6vLyt8W>D'9f"zj^k9GJD$O!~u ?6oqȕbMjB 'C;|eU 1&PiMJPd m: O$9٢\~Y d! _ж|cP:T}Dڒ4C|-?qkmJ>16?Y=%s֗:Nuhכ95I2S{褮B.\4sU̷F2%C&H筨GQe#ne s^nem@xx {p~H欄wniT^|~-`Z_Oup H Gɞ΁\ >3J~HaxGNG̦ίz!l}D9іz`P8goO/̛vIW9o1=O}J? O;Mse|dÄ4>[/4`x?2XC>dHTѻ@Y \Jq))!r!{W<d3NMOYл= 2_"?GwIl}V}zӖTGK+ UCoݥT{ġY!kBz]SނND5|?ܨz9cYb\ 6BYJD0X~o>n~6>GYq[PMM ȶYsXߜOѺei|%IoGs 13'OS^,$yE-z ;;N.Q"c>/l/WO,3|!^ac&ⶸf.p_6cI (IgΉ5b&@ 6x,i:bccYBIY덢jyI9{*?ejȤ/O<ȕ?qJ Jƹ;* ƩtLy08 t͓qZy5 -%nj3Tt#ԹT4.>:ChE2WL l9o8V- EU>I%77%F)A7L1dLآ LQ['̝L< lRl7_@Ys"|,Pw,'$Iwb0Q<. ,5 pEb 4~?^{ <~=SebsB{oZ^KA.=UB!0mݓ3>_fpAe'^0(<|^%"X-kt~ Պ#fA'ymՄnm ZaiXfꕋx _yk]؍B)zIӃD(.5*aN]V%y &(;r/qcJ:dT <% տRw $lj6=/)`!=hcv1?jW'%4V(ۉGq"J7 O>( J]akR 1'x Mf^Sk=~DŽopPɨGbZ2jƮ9c"Q{u<=Kd(e0Jݴm}ʷ{.]@R^xSTiلp{뼿ܑcy2#x޹Ft>,Q8cS%aQ~BYʡ泥#= n1)_* ϟ?]7.oM\(oάnvCG: #ԩ~iJ{$3>^۟R06~lϠի?feq[.X2}pEpd!V[ِ vQ:9B,ۿFFYR]Q4M;3q7t|$n^&g̗WCF>KPRN _> W B:碩Cx5H]۳AlrK}(s?hRnC~)̉;~^e|QM%` w)g]ys~+e\9_~X?ŀE'0~bZC* f}ŊqWq|LAM z$5 H[F}} FMNWلu֏mԆ7;=Fi|WV-#I> mZAU0o$4Uh¿.A*J|-)*-2vlJFF͎n/]ip=1% -H({5`4TM3jW35Yl+V Xg܍GcCٸmWWW" 9gfeeE"O\V:@ul"VVE :S‡zzaOޒ)dȩC9& =~oHvzed >Y(B%⢢e1]ii3ޥ'h/͆`5^[Cs莟Ԓ1h0JOY";!pВ8],{pJ6ko9s7QyuF?hKUa/ѐd(A"Gj:$9w\)_#Z+9}[Z\ՕF{ }e=l#~$ lm CTїTwC f~Mp^elˏ 8NO0 q0*x{AȚF 2NYv{w!va~|:jh!-ٶ.HZ lǍFT!A`)0J/$ IF@;zX-ՀqbmJF*/ViY'/r\ Xx 9[X۹NpppًC 9l{[(4Swi8&9K48uʹC]񧃿(*6Cy_l08>eɪnZ6>MLc(KtɽR)IX;-O\I+N(A@>:u5ûB nx`ڭ+tcYDU0'#uG:0aܘ,ExFtYX+Gњ23ЯpSD@_P3h6`(^ #{˭g^؉k g4ec^wBrqȐLU-0N]8;6x}x@,lۯ 0 ;:֨c)S{]XB+J5L?NG=AnФGwHۻp! Ce/9+J} 4Nystn1f 0o7{XՈ#ڲ.;rHUŭ%:5h,P)i9Y5p UP_̓/T1a%7}su>YT0Y~/*|r#sspN8/5!Ee+GM䙺M!L``H4?g#bg$B?Z70 kΘFHb gi?&M͘bCPDJ>iNͷ=`L)Ѯ"Ei*,9(:tZ^!1bl7}k&Yťۧ"k1Pf \zRUT"gPKlY:jmplt.iconset/icon_512x512.pngUT wKgwKgux uTTzfFAA$n inE@)ATPag|uY=<{ϼg^j@P\?=L`G<Q~coe;zx{x9fI30 {g?y#""%*dA9Kszz6mݽߔ|'#IHu) J'*q_˕Z8;T:vX8>˶{t.qLax~}%Ikݻ9В!^WG/ x0kU8/Ԓ]b8_ei[GDs8[Y.Ue'}H@M]GjS7- yMmJRω%mOX` ݆̀-"# qv.L:ɊLƆۛqi?.OV7VYDQԞG~N\PRE5~"*RdmIQ\qI~;-GH~aH]P ܶ&s^FIP@0ciO:}˓X"Oǩqڠ='o3% A%ss,[j%?OD.MB4u(W֘2:_<6/ZH"~"o.yǪrDN$k.ۈlׯ8/b65 ˒ `t_IXr۷ht!j>yy K.}]"XMD, 6 W|q=" X "Ww:*\/#]K@%=o\l<е[}E)[3-+y|)$&S0|ր;zِiorY=jusxw`L +Ŵ2| )=$8,~x :_,0NeG꩟ω$Q0zFA1Kta X?LI6ȃIPӪc=Hmme?鼍oe`RA'>RwG'PE HMJ2 Um{] g=MƙZt7{oG|nRn-_1AzF E)˜Ԑ:g%h N9\ kqYTlUar&Q7oU,y t1&'TP(cs'p*S97F@YJm.}X)-ţ7\ƁH-uq:ѵC2 FқYeoK": % é‰ =O$[^ 䰌ƅiI_l:kdEa?˕Xuq}_(vΰSo}3l+W[kmv `!).)ġݶ縐4O x}Gb|34DZR<buwPd}&ЪK.D#12&-W53h/S۞ v*DR%d̨6Ƴc!ݙ)C͊cdaۚJaxäsUVZ 5) E`xY^ N:<=Jn@s뫯wDa3vؒ!Jww++4K lD}AS7%F75nXάZ㻼dnRC>Y허ìV WnՆ qn1 ++[ǰ cp2g꿖#2mn5hztL\K#RjO{yp_H/&̺-AY{-+k|b-ss}tew0f N7uKQ Jt?Bх4!"~#u VBcJ+*X![l[b"3 CKdgi4 x<#E2<5~pö<)Z?jL _ \IwhrlG" [qv! 2~ 'L:Jm})(Q,`|u헗)nlAE'i/%kl FΉL^ 6^KJ=<6 AI62D_JhiAxVQb%/_Z\Nz؝=#(j]Œ iFXlk XRu[% X[ke(pM2R/\Fi $*MC ۢ[^.VZO<\s6xo>c#QU =eJ2L<*ЋRe~E%@RV Ĉ7$F'__Bs`8*¿@6͊P)ˍ@J/p d[wv Xa#Ŀ(tu.FdA{%=io`zi${:TL~0E(Wׁu}Z  +z![R}dz>Nl#FZO&̴b6VYC $$#)Y߂ܷNdp.vh6Ѝ̑ڣB?v+ċMr7&\zEW{L"wjAc jI53 UT[y=^̈́ĥ(VBd Mt.4Mob<M֝}T}rn Y> P\f+33Z1Qa&h<"oi)??_SLi87>L|;ba7ȟeI,Mٴٜp>%by@"#sc dN----+++o߿Wn:)3o۷m;+DD/bnSWc??҅ckC0r>͠ZZ37noݲIWxH5޿T(g^#/oo?C2֏@>TGۅ]U=u=_fzLJ{;x>,Gp*RCSN##58}n,G݉~ee'ggkfm * {SE<,C98T--|-}4^f [@_]ݙ~nYf_ěUڲ(}F =3xo6,]\[F|XV\P,%q;=גR { fL:p2Wμr%p)eOCBJs4Kɩt/ԾJW%*3Gzha zWԖj2#ܿ3mmoWff.tFd!vw攌!yҹd/ܜXaYph= F /Jxsɹ(7d /0'j^m.ݙG*ƛ/r8L "LvL1_,չb4f K6x,SJIt>v1P m/297y;A=R5WEߺ#/{,DVB*zt30%'q`rNZr+.bN^G[1:3/vF>IPj XUxsxszeO2/Ok~7Q=E5z0Y£7.ŦJ)c @ݕv+L@ hَчc:~g]O{Bʗx@iמeFГ!LkV%]hfhG0ޚ RTk++v=$k}`J/Wln޵4Ӽ,wvxKZ1<$HFfٓdW~JԻMS;0ۀLs^+jW"tMZl؊9@iȦd<]Nrlyn/z#6ߥu$eH*'yU ɹ޽:ht 0$A"-e_2ZV/{_0J;BtLlc&q<)6'\ACJ*170 Ñyo F᰺R|lk`}k$#nӿ_]M`Som'a& 05aXG}\m`C_[ҏ5%v>g G̒ َ/}n~$l;kI悸47e1t#pNGJrp[(dDAV=qAr$sZ(=w.IZ$km^b %eS$kkVÌǞc 䲂q˗_Godݑ9mVP\⣧d"9J!i̺Bf-¯Ol Hyg%P@ 7 ;`ćlƕ"\N×X·\βDZw 8uGE^͇4[%$[ڶ56t0GD D$Ho.D҄z",,OMA 8)$`EUjYccrFHUe{zNxh},0,A*qp {vy$by;̼GZ#tXAW/}஫_莞nt&1ptrEȽe_r746Fʌ \.;sZ>uumMo籾~w \]6ETf{jepd=ihhPL7,N`? :i;r[j{ Oy1krrrQ UߔJBm++&_F"4<$=g k:*Ru&lHea]+7kDz?P5fQ ȑ&}aUoORz"& > G]wb t= P&:1f459MU35I=rnSC!m}@ l3vvAϟ+hzy &XeVcSIY;$.Tj&l񥸲=_`tҮh;؇Y4]~:Kl!8ެ:YX&2Z]f2`Fup_R72bZe' L.[Qcz'+Hn(erg_O_Σx^85[$v..=olO1nEZjժ$FnG~9_ݜ\Xݬީsw2F @omK_Y9 m2v~8Eǒ|ŧ ~v^twuʼn1rZw᪩6AG$/_RUG&كEH);n7E)u%@n~#%L8:N?zJV~?n7sOkzF2aW[܀R\o#:޽}NRCnߠ;PB9i(I1Czq7\%Z\1lc ª3 fA%@.m9J(Sh1;ko%6bv0A|ՠ I6C>0ނ5wS(yﵐD[zΗ:\SonFۙAJ폀Z[O*uR\Up%E Hve0Etu~\ fOhsK. hhw^w)ݎYE'u-NKIu T7 ` 얒~h؃8ٝ>OIQ˃DŽ|e} _ē/ 15sG/Y`ꛔ/>_ 3.p*+hy3jeF%3ޙ Hdl0BvOte!8{e {Vkk\-:'׷z}H(ϥOKJ6jpe״T?TO#X0X<_5ꈘvy,`& RB&XS:52HЗ'ܚy]Z÷&u%xMoFJRgל D)䦎×89~ק?0mM,{}PCAǰ\mIcΚ`B<, 돻w-\F%XeE7GS13E[F7q&* &-q)#(+zj0Ugiip?|](Ћ+Rw+ri=4i,\mXG8vǪ|d׬xR6}0ikpɪ`XH1>Η,Q)XrVb"CS}oZZZAz{D>fKePWa.F`B&Uӄ$|D7UgVWm0("N7KiS-zJp1쏙{,/>R,7<~HgC/7eg/Y|t$j۪E3}0CcK1)K+b2Jm;@غ>bς.HzRzZҊlNXmJ#g_/;L79ğ-D!PfC9+9* \^`gyKÙ."N(ȇNw)3 ;n D _Y1 qFF ZK6X'q4P(4maN2BAiִV%6ehL7oPlk١vqul]*#LNaxxk7&m6t0E_TMMe(y0:I-D(X' B)3 u+u "fO5^UDt}II717}D=$jPzꗙVj\-)U+0|q5?\{k1Nt OdjE~"`߃*~5Evg:?$'.A툽 ^Cwm")ii $'~(Mj9rv64WCn ]OYΑ*T&k,Lɽ|O2kV9=Qt+B8ݭէ3#t\^yKV ,5\'>ZߺE>Q Nz^xG]:!(] 刱!nᇲ(+)ˉM6@@Ɍ;g<68䛝C|Xŀg-MmnDp&w,1br/W=&d: LLF 4KGn^FTɡŊv8:=BrnTRΓy<- +Pfdžg@J F2}(l Jίu9TܴE~G^b7#BMGfb"l ShqR"?Yv"<| oȌ8{=nmlhᜎsW)ĊyʢL:~z FX2Ӎn(ڊua[D r X:,I~4[Z-rN%<$ꦤ"X|XG>rX/%&w8,Zd\ɇeư>sRI;7#rkH bajڶB6wֲ˃vE R>Gg4Kl/8I|߉5qNb߭蠓GZFїX?,k'2ž^J"@H( Tq3C؟qTԦobAG-[D)71J_FHS~~q33c)Z6GUMMFZ'=*wRI8.w'@'qruesRżdOGѫiWhQ;QD_5vcv*b@ {~/+HJ^I5v8mrF]ͷhf̭>#Ubd5>gDB>KSCϿUoYYο}<5=mdK[R]`}e.OM6tqaT@g4O 'liWۚȹ_J 6`Ig W箼:=E*Ct|f"$&ni\o'Cu2}ȝ/zt\%M]a;RbԠ~F 7йh*s&Dn< NAa/ތνwêت4!Wn\kB6 `k _b۝q([sSla ѨJUpZg]b{3Qvy׆xwkDo݀Ur6PwJYrep'M)'cDl^h=8tjWq݅ʦ;3ܡPr,1pVO͑mkжŇo2H\fөN3oӃac徛m^rKa{K| swxJv&)B*<`·h2" ܂4׬gAt1,&V&/W>;͸y:R' Rm+Ȥ˨u;,$w#eyr&qVwmO7!RMk!O4bEI)6^.QeJhM]횫ҫ]n%y :a3j d+<2{r/,Z' ,@ p>GRL>dMG+DN~Dtl)޿=׆n(1Ԋ=8i0i~lyn߻x*,>PX ƨ dc6ͲG~r':AOv*gBPҁ`$z.q"9Jt5`8?l~4] _O>Xҗi/!G+~- @u`xw쎭kklx{)+7p|tRfi-OйLb<'Z(PC)Vvp9MF }cU:gL򵼫[J3Z=/Rgn7-iUtlkqe&} E/:H3J 'Si/,q2ʰ-ۄ8y:a9owJ*.O4Z 7nD+y а'eO8ou4[͠ɚ\8eU&%M vG"N_o;Ϭ4vʎ9^`Ҝas})rV%po5z“3z'^%TWN}mUjA:߇XYa-Ou/~MռgƠ"90^N%6(蔗!?9sd{7j4X ̇ wE6\F'F[(~I¹ vRj R:;3E ;t⿬7ኚQh1s  5%ҝTDzW@ci o5d8rQꕣBܓ=ZjY=>aw$Ӌ3C&ʍeg VtE%Ҟˊ^t͢N`=p(/䫡_By;;B7cjhx ܦ?=Nr~:u68Nl_J1跳N#vb_{bmDg/˷gl>WHÍH2ckXq=F\r^,W־"z '@Jʎ &ϡÙ?_& )L5;$"6 Yln D_囓!p%>]'R*htsoFQ+0fiC(=Sne*>!* 6.nHO9Ec;ek9bGt֛5역K2>1C2: k7^!GXjX禂7d3 Bq{KܶtʯDmlXvSP3㔈NV`Hż_a݂<1WFca 5EѐEl2I6g+M%}f`mDɋra߭u]βkO{~c5:`8/Qz[\̞EzOc-pSy̓d&DԻk]3;Pdao1]\W+6-9!4_oV)K^-!k~oY17 d@K'|@hC6NY{ɜM!!~Y{ }5kv`V a~ ²@=&0$p,܋rMCÑh{9숴c&wn )zջ%ھ϶mŠxs{? ilIğˏ[C%!5T+G 0ƛeYOAx$OK&Ͽؼ|kZl^{G%2Tζ"ep @h(oOLeQ,ߡ!Y߷"jA*Sco򦭼OyA#L ]`Pejc [W9v#^8GeM[SG"_Hقg*dqP-Яgff9r9:*Sm&ְ鷆wPv~G&bDsBPؠgW7'5>{ =L_-@$dSPZd) &/Df.l&*[G%{}=:cS֝t|t6%OIv 9χs/~n0%,mO /M>[^jYb`Y< Ӎdz1hGME+V U@Ń^f'qWs7}"1/~G!~up3CտNMn,Šd Z*MnLu2Yx#nBޘyEmW9:s.1:r F ,:~;6ɷIv9y{C.3hUN2p?֧d炨i[,Ԡ.>; p,۔ 9 ln]1ktխJ^H_*/@*LoldU,p64=0ܔ|1J}m'wӶ)⍙Rs 'V:>"ԕ98/[ [ts-{Tb”R|91;ga3RE+RPsf3 DXWŗg[B-Oo\Tȑx`G ?hKh|bam"?-靖BԧE޻DHB9vU|q\ZX"-hWCaF9}N"Yֽ>hp7~R lQ\iYezuq˜O_w;IhLD;J;\*cI ?ycu;hhW@)1IŠ$]s8f,xna05oUMmcOarh`qGnj.!I~syLi>|HP\MY oQlgir䜺$AF+hήdrQVIɗTII4jZdnoUuoq ;!wX"{# ]5<,idAܦWsn*1jPv-,҄N!ap~%mZ>adoQlv(<[g 9Q;W{Ӧ㞖BGc J8ɕԣ:9:ñX9}^'!j8Mmy3hEW)6SZ9gڟhr):zR{9#USi瀋\6br)\n{ |t. ^8IB3]Gs\GXz#4B#^$(gu4{l{7\f=F/:g*p}iﻻ5(&]|XLOсe$Q%LLɠy,^j3~p:0`#P|D+b-'u@anNEwF}$N=Jv/ 91t7ђ<^CmQ>1.@Եj\iZ^:.x|U3|&nY+Q_pi;ېP eeO0rzDdMb}F=yq"{XsyYO!"i)z^x 5Q0 d#Ư,N7%F YL ;s΍yjjːz/S s:x׏ Շbz`7cJ<ӡ/fӊ5vsLw:å!g^_i>;~/G*c؄~NRmDvL( %?3僫kl =IM ^>fˉo̸Q1zzu:/-b vuM`ؤ'&)Q/-e޷ go~=VvK\y3=CJ:YНYȠ0KU~ ;-˳0\7?}U V}A6ZW#S~,wurG^E{XJV2ϩ29:=|!?YIȼґǜ< |ź*dzy,&cėR'hRsQj1z,8 䖆cNL!B~&@)2P YTͨXcV(aBjnb"i@sNzrǸXN, ThVruO*f~}mQw#[7MDQ$3D CvA_y%1q)\l~ug2OxgcQtMR}q[}&M{'hvO:x$^Aݕ>ޙih3 f S*2Avy'+BE(~| [D*{S։>-@^ex^GRv=+&vmHE\ƍ;:g܀ҭ" ML?ޖIxhi+ ZeeeڳfBA.9ՆSB␋X+C9O~+v"nU_*1,tEqAOb#>wYE(n~#%ukjN62 sL&2b6 Jtφ4$7CA= 7on9,-=%~avˍhtZ$of[iݳw%њ_9^ `LәኑɦM9Qj D_5X]wT"f/i>m.&6e7Y\ܬMrR0Դ.\*=ѾO lKubSMzbT]_CC$|DXs;<R兡H[3V/F%̓5&qPUܼHy B0 rҬOZKv-8]ߤfWpK,_CFs1 0*w@>q tzxGտD0(,߃c7v]YJ==Rb{eL:rS;/+>C僀H<w~݅K)X2 D?LV0-72@/bۧ7B8'*uK^heb1IqΡ6N-kosLn"Kl^%f%a-Ieҹ]xUS#r|bx%GϦл^۷7и`%((`5<=SZwb5"WAr(I>U}y\:a$y{heُFT|/14~é\DC1|#C_W<aQLU,JFo޼i^ @#Jbʑ<f¿-d!xa FSv>VY4lŚ?1lgoQnHs*E)jA"&FM:%Mέ悹Ǩ ;~!)Ȟɰi&ųx11NTA@ nrK=3Ḁi;,\-XڪSzuHB?gЕw*~h KO~6rfLh%clO[]ZD+# 9gr_UC@{R4=k=/9_߯~6!lZC$A|N2Mxͱm*'A9'A?~ Fdkl9CyS& <g'=l'8U8h粗WW- Rwﰚ>ܽcn gwшL:ـsLv8^zOL͵4kd>Q$aBwWqW/#so)R̲utA=`-X&mTR*f7kbc;Dᴦ|X+)՝5n-Cl0S<u. !=Y|Gv)_do!>\M>^Y8A0b x@3A˵Ğ"uDYD3swB` o}Dwr\y[G!cV\SSHδ;-~lƁ訨M :2'oxSsg$yp,\L>v aNsV ǒ֋Ȍk`Bìg&ءMwD8NZ'7U-QMSIoFfx:(jN3,>~1Ջ_)@Lm=:L0+}aO:; 'KG!쵬?n|F pVu.AOM MZ9*u继}DjObhy]bxɘi ?C Ï6EɀlKN'l+~4#F%b_hva_9#X a q:x!GpGhr]z0 3t\z|`6Xß`S3b8=x:`Gnuݣ#bQhZ뱇<]J΃p+bxvB۸/RUstm3ݔ yH#뜆XDno HߠA.YV5J;D!AME88ϗgaQx}^M4NBLiәۓvꇭObײEk9o9r}f "o%h3cn@8W~1&nprٝ;;y B $1y-c !)&]\SEDG2]_h@E/K\Xur9慦2Y ;!9?<Ձ8ѥ2vS`ж,׷sj)%wHOJ޲~#͋QtkbS[6&e,X">_Fw˭o? bU/|`}Vzgdht905UQ2^VYuD[\X{{gyc\ѯE>ŽOOlpncBF=Ou2Bi&QS",yva4y5^bR[븆ߊ!CSSaSՈ묛 Lrk03_NhIf6w!{삇vG/jj#@vmX Ztc}UQngu|Úlw[WM:ݙ-ZwJQL`TZ )ۺvt/#;!XCw|Gh)ٝ+1AAupNz:v+|87%mV/'=cީtE|g W :nccK>#&JaH8;߱3ȆZk-p[o|xs}rQ _wDGKqN&P-;kH+*1IsПj/pgiDaш="4ث- թ@zW=-!WCέ,Mӏu}gYVg;OPMPBrfLaF;\0J~/JacN.ܩCNd}_*#A?ɬq5[R vηT@ULzMꉇuf?eCB7xO}ŶhQ7B|!Xh6$Ro`ο#]Kv )jjy3o;\d!=~ )CsZzPfz?a Z2Y'6?8!N/f?S:ٚ`M5q[Ցr=^YAaj^o>uk:q+N k{IQ`(Y`݌SpgQ¹E&72'$}p*+e\~s^|izruc_`pE 't4ޖ#6UE"\t_%怹^^x.\\'Ps%vD{8ڋ"v0S65hk;kA!T9 B[G(Z`ᦼRe][ MݤJ\(вת۳hmI]c^OY`i vM>-pGm0qViw`_yKmiWW"[N q/\L!: SB\^«%:=S2Pγ{wMIQ! od-"T:B˾v](O9YE 4S]q JIM~S205tK{A:3z )sL aw~c Ox^pqͻ6o/ԑbZ>gj33U`}K%$S* >{+EBVp7NK99EAeG~5 ͑D]XMwjj-#x j iԮ̤Z!)*(w߬ˎ43YV0͓H׺$4XI=_cY+G"plKB!qO ?=OdJv=ZK9H{O>S !ZQ=!DNSO+G4 y·M/7oQag q5 &qNۥ9M#| "$"ﰾAۮ݊;R䌷ߣ>4?Nnz[1ξ\ښRܝgA#8sY;Ry3zm(SL/hY$1)$w|Y|ʙ,dw-]rzV gd/B0e>="vM)w>|rd2,1w}˹.|w\"'2%>PzHU{#0M{"Ub.1w I/}JD?&j B.PDaF6F {.C .Iv&R[к̧fN"*-bP)ZHSN$Zb>[ϣB BYIZuZo_ܗ3Sߧ u'60CGY h]_E22m}xiБG[?=!zÿ%C2&2XA<ݏ.ˡ*7{˼S=4×:P\g ^|quf;~=^PJ»6 N1)lı(ޢ+{b܋V] :TdoEBmk *6GclwGSO&OlJ*,sI 4?ǑkzCrua 1uOz1SH=`g/yF Wk#uy{AJJ]%TLtSTI[P;$=1{$yBkp%0cQ.[og6&2p"8Z7Q_ܚ&6oЍT7%0puh#+&&x[ kPƒ=Br`T4d9 v&maܼ')99o%Eb@q8leJӀЀ!7+]A=3?A-HKzxLMP;z.Sʪs;p'hWvGBJ+^+~UhX=50>F,#AA',1P0 :c!K3b\f.kY~o!/JTO3X &Waड़ ?VЃ/.o]!,ctC.NB %cfe-1dM>[=gŲJ+؁|Z /* ZT@̢Yk!]M/ '?n͍da(u]Xz🺲RPK lYqqplt.iconset/icon_16x16@2x.pngUT uKguKgux PNG  IHDR szz pHYsodtEXtSoftwarewww.inkscape.org<IDATX[lU3{nX++&bm}(hĄrӔ&XC*AL0!>!jA%BS Dbꆖ!%V0b@,]m -{9>v[\Ls @a4"̙#ӣl|NMVFW7 t=B4EmS0juopTt ADnfՏ:@j otv ALzX) é A~ 4 `=| BEdjb>$I CQ/d@7O@{,YREyj9G $x.) fט.];t~7ĦMx~^﩮^"= ~l2v;Paf3UU ݀%?:mHYYiTb‰6z9hPQQN^5zϠN`Fb7q:ia mSzݜ`:&d t:~j*TQU5M.˂A$ +ɋwBd 0 #Fc1>/SUT `A_e=24GU pYWy1c٬2×H@0o$={@msFk& Պǎqmffau Iԩv(E[r @[[ۘ*! zjjޢHO3H$߱fMCC+7 MS0yywYx|;w'b%-*F`0K}Cz1~j!P@ 0U-Z^f$P@;$v=h}2 0<apSIlhe/!m6m u-7 )p)a0~6Ӯ (˺?1B 7I2 C`Wo/DdZ4jLb_jIENDB`PK lYx- plt.iconset/icon_32x32@2x.pngUT wKgwKgux PNG  IHDR@@iq pHYsetEXtSoftwarewww.inkscape.org< ]IDATxpT?o !`4`heBP#lViS:Sƶ,UZ$D+u* Z'J`qJ Ah mR#H~do8e߾n&(;sgw}|9{}(& xP.pbpNUUu23×mL & 4MK a`ÓtU{=pYS0c.P`i3Roܶۀ<M )RqJATe)lLSBCI2Oޔ IPJqj ( $K t)"طBbʍl4ш}5*LJf۔"C)Z,=tx3H_8RhJEVj! 6(>E f#pʔ88 dd:_c/Uv߀i×qBmz@60]VGq[ll"^  ,bNpDNǀKLy@#,]fIN:t2vl>䐑Abb"tttP__ӧ9r(~00 'd0a!Ann.;$99#سg?O`2"꾆L=?V5]j,e#3]5:bٲeL6 M"tc<***ؼy3mmm;6j/1 ïq@<+ViϟΝ;>}z &N4qCXUVcʕ$$$DiiilڴBV$ 6nrQZYfEf8/_Β%Kn{ڋ68|VB4ݰS5,Y208|t 8 ,^ ^/EEE̜93 +VXxf7 H~'OҥK{{d.\7gE\\֭ѳj@ځb@ކ[PKQZ=;(=f"DbD6#2eJmtn{nXvہ}iFL-~A 0sgnLNf„uRp}?}*HFvS^)qG ydbDm|Ơ!_1kkQB8WՑ}z;Ǔp:㓓]{ٖiwӸx1]))no7::H߷xpܹkNLs; m.644鿝7Μ9q#\0kw^-cC/1NTTpKs/|#>MMM߿z@fiH,.SNq5p9]$1׃߲e yiF#lS SO6] 8A԰{nDoXv 1&d0Fc4[ |ه8Dnz p!dW@X~=555Y1$@&%96PJQRR|cʁ! L|<:^p!c]V4\$Y12PJQZZʚ5khii飮}9sŋo>Da'BF_ тu\ $r^***z᫇Ass3eee6 h*eMX>9`EN!јw3w\fϞȑ#lI)ʼn'Wю9 A| YT+E #$4!ǒ_AYYY3j(q|>Z[[GrEyHo7E 1`0#2@ hddx:m"?@8BE8"1!!걈m ~H$g2݀߭X"IL04$ނ,^OBu#k[O🹽w>":/ n@zobGF2* ٸ8A M 1L4#9 } A#{ H,_!o;A/g|J& '"Qg)`Y>CXJ8'%:!kFie1tQ~89'|I.R ͺqiZ.rZrc2 ]9\@ \>ݣ:?/ƣIENDB`PK lYplt.iconset/icon_16x16.pngUT tKgtKgux PNG  IHDRa pHYsaaøtEXtSoftwarewww.inkscape.org<:IDAT8}]Ha{kҴtSa7чDQ- Ȭ^ ^IW L$.jH7^mTyQaFO{pƦ9`gy ߢ):g^l/Ʈn~BH9)BVg TP.`x(P($ld/(آj'zcSS㌎>!H[ x#^r3k֬Dt5hNRADTӃ P__(]4oBx3 7uc7}{n@N\oH8?Mp %dCa*B u=zVYbU[nڙ$fOLxv=} r4*,ބhb56+&Lx3qB*gqV$t9?R2|Eє."..nleWfY>BBeGCWͨDuUPX!f T}o|ܨ"TnA$$\3֗ywnE{ GZ^𻻻t3x:н'%LQ=⬏?B*'- ӟu>Yqbߑ4x*I.}l @cOXtj:aK7=4^St4OI0 HvNABV],9jXɅϿ'xWyIm-RB۔u `ApsO<~{_TYDȞe"BpE] lVisI5W 90*Itܸh~LDzE>rdnoR:Y9$q\9/!EwH5YsG}]d8xN&f~o`2̘&t4F )fKIGuqA,fˡɔ.JV9L)=l{[:Qt'srmffbXE9䁧no/Epp5VVfrޣgLiİn ߆} {j[%h$ZB&>آ>.rFe PYQC`fԋ`c0ewJ;QAG_$.}q oMe֑rb0qZA,EsGN]^aJCS.b+b-Tzzm|3_m(cl Wn܅Ƅ1<f_ 44DĠ[eFWglVI|mq~ X!60QU= :(cx-JCcç48ռ{)eK#j BHlp邊Q)X90A u g D>P<0pq9).\< qxGFJa&Ąv]KwwF(w _~EB-W̰mK8iݾ;&Qti lm>  h!BУ 1fܕ$B{}uj߸(G3 wZGm;g#\WH+7*8g}D xh zм{MRMȍ]42DءNtGI]7q_zF_>CRf93b,v?TD`\`~wd^ x(d@}.c5ʎ[M!O8zoT&P#Q_v(\H;"3 'ءy!',`ͷg^8OЌ1NR64 }U1'N9h9*C>r1$*'oCxGh;Qb/bbz}pHYd;j\2o=w:t?O/ !csgK:F[to2YM\ 6;*+gxh٨w"k5 J0j_0x0 *)Kxdpur!o,^;|IqQBZ-"\R/}Ԓ U@׆'C nC IJIh9]>O<u9EQj|mT !{N9ED}MnI.O)pR/5;< *j^Yr]dی%]*|)@y1D |٪hS8=>41]IܺQx.i.g1P 4 )P]s_ЈRE`~v77!b1"JNƯ{Z9fc'].ثBg7Ft˽F 3In¼jA{ ¥]w=a)^Z"/|i\sBo!!4\ҧ,$b%F#~VѬZ6 ۔?*E3z֧QEi m|rdW!hN(J% ~'eYMګˏM9({FҫZK$h_$EHq!;^w ؈5ζm[;VE e?<|Q ñh|y屭okmrpl 69DIC<3!WC^ r,_ )#3=Ng יfYbܿfv>fAf4r+;k;|ʭQ_ & 3A/??DGGx쏙Uނa8mo AMJ!uoy?8.# Yڳ EhSY6p Ll|W_ƖMWzwX,i41(@ eL nQ"71 SCyn8arP؇9ۂTik#!d5%g'Ɛ3Obo*B1w{cx_?eBX(ChG@H~(J9+(+C7cy1g6rjHAwlwH@6f^l\Dh~w[AZFغG 'd^spg$ҁuƟ`"o,jPDAE:SVTM ptǩ0RA@F^k"}IIip Kh q98-txvgbU`_^UWbUs㣥ȞUgSȼtKGփ2L\#P#e"#+Vץ~BE%*^T=>vK"oy*ꐲNŦh&K>vbӅEz/Qȡ+ k8RB%O羬թU/)^uAXؐJrˬ3$;("OyPV+=A ܣ%Leq涽^7cCS3>,-O+k+$3d$*2X%O>A웟UU\)RwP0B ZSF$.^Ӓ|./AC vx gwZ΍ڇN8L(z9ZJu9Vr7Vg;`tn3vxR%Bg27=|L{O)6k^j1ƊڞD~37%qՁo1˷ S)KƒFg$yIX*5qXXvs"x5w]mx1nm?>9YG|ֳ8[hN ڂp+V'Њ^B郀(RO :ߜ1Fۼg[tK W ?o`'5V\2 F^H T߄ C_s!ЃY%n8kMeen/ ,β`l֢Eq8뇤~gHQPv4? <=Fym1F{p_bNH0im?H+7#BK_Cbuwz5{r.B/\U!.{̑flJh+`A(I=4fC* n>\VHZwR&K5=l Ɏ}aRSw.n?ıc̜zR/g3o6@Pqð#BPLGp;r i)&RdKأ+˓zp#oOֶx|3gR0x,BW7a \8(ͽ[  ZmNboJo3d@9{“3$;.J.UwF~7Su_ !q!= FPhX^2Ti/Yn%ܪn-$s"WBАƋ&1ILgZMiIE3]it9la|ֽ>7OI*L$ve9zjIFT?{aOt@Q@!#-IYwC? ,RՆ4U#%?Q?{{[pl&g]*dt\_y(f3֎D8QFq}gIQդ^]TtJ柊)RT9[޿?Z$PFAswH6X s{u#嚃u,ML>[n=][ 2$tʺ>={cXq|0x(Tod^A|/_m^.3Pg Ҳw҆'cU2G836AhN>Kw2qr ssϑeF.`-sCU~g,S5sʮ6176luʀ똹ϑDA2qNL^t95olHD$'°PB'OԛQ:խZcku,p79_|^^n X5-3Zia0wA7oɑwV8bg JĽNd ~@EYJ!!o+?Pfw] $B@ +|lӵz~ѓDMةS%ԛ5HsbDy,*kMq+qNEInKJ'G<^Dğo%qf7>I"N<>_ tf@ur['?y2K#&]>M'7|̅gn'ƙܶ5[j•tˏZYYV[eO|| xX g1,Dt[`W1w(ĹdkoÆ[A'59VEF 4=υL{!F7#CaTTxgBa~Ől΅)4:*T*DM}g0jTTT,,=?!g7عm/rR}yf5gRkKgd|" 7!c_\3kGֿ@d%t3T)]n+kf3Uk=CЀ[o(O7q 9%xM&=U`J,0X4V:\CW1thu]ƛ#>LDWL'l5&'\25C ~'|)hH 6(vP~wλ[#fT^rj 󚒱sNò#n= Y79xz|$U_#2q%?L׎7Y]VҔu'׆:> h|e SNh@W_/ )kkîW$u]F QDG Nfv+MHÍ~+s <書.$J2ANoi5VrsW|N8rbfg1=P9n(W >%ܵ7,lnl:eY.0D5h +Z ƀ$WΦ`)ăIINۥ$ߏ N+xga'ANursv?z 9ʴ쿥M;ܔ)Oݚ(ͦp7g'_= N`1S~56HS,ǥ }aoT=%,'__TeM~HF&F\K;RfjDʾ\P(C5m2%΃y & ]:Ykuh'\[nW,"s퉝VOq~k홂/?g9 ؤY6 > ۶o D:g=v\ɛclbƄ[.Vnhl `~LJZu?%2RGYA#oe:FM[}# h ĭ~xjmgjW@bľLrVYXhx0QY\ #2R@YaQR(j/bB <`fa{ĉjRF]r,"-!\V>B][x b+:h =? ;-b37I^OJ)s"e w;0hHSZ/-ѪēJs:k0fvT\%bd_nIzev9M?cB3YhZuo){r-"IAAO.eˡKrv{]Y,*s3_+* ^y%Gc+"gY}]?HIN4e㭺v7-^Q\%6fe7W{\l I-~Vqʜ XbF`#%ll?n:67Y^-YaŠC^~ '@;7,0Bki ,;p íKjׯ [p)s&^ݥyܟZ=@{-.֦qfj~siHʦEvjBղ/ pѶOeh+Dюt$嗚ozB,:5)`f6K!鉮Kpj%^[C мצۭ ZAA,/6(|ƭy8f:KqyȹQQfe=>'Y/EEQ¾r-ރ2!H^n+  k7ݞ &΍8xK@K۩7VU 3a@N\rd25#0` ,= [12K?Lu7qcΡp"O .Ygʭ6X5.3)1Aƙl#HD2 mYA|ij`)k2D.ۂ>"JSjF%̂د9 32{HJ׭-YS`ハļ7͟n/^mS/Eux.󀽋jO8oCeCi|@x#9Ii$KYYA-oч>[߆Jrc,6sb;o5}مMf<L80R̳WfO__'$q R r]nQG2pC$u@Bsz"!q2}ǛZ:yDI`Bqcn?lbqgO؁B4{{fzt=L$v+"xB2DAtP=/|чFo~ ?u Sr`N[kUM"<薋-xSǩ6G<[mCE@D- o ʙu ~m3OiwӛO;C^=n b9J dr;LAXAdOqɆ}Yt4uED*T:͞\G`H cpK+Vu,z߀z cL[W2  V to"1k^K c3au*l)[O5rL1 #B7/l7āY_^/Nz3Ja輯,9,H8̲z TR7ʼQF=2[*8A]75ɹFiG +`-[o|߯3>!gdQw9 =X ;Ni'spuBjѽZqp_>Z[I$xzJ4?¸ϳk>Wâz(f`K 3턽ܭOg}.RU3 s6^v!t9ɶ[, [fnǑ'/uG1rE#Mʡ@_C<ˠM+"በf`3h #.䑝X4ᩏ$J(nn5O@* <7΢vgt β/^|VhULY @HC2U NHd고LQʇ^t+pBQbٷفRkHEshuh( ?(mŋKx~ki #mLvN`ãph5WBmʒ)xf=9yF1W'^h=Bck=[O%i ^Op}ޔ(qD*nD0Lp{`(Xm B n$ڹC4*H w $h o[~Xߐ-7VE(vT!l@c_nJ:G"Ა5HRX3|նkeܴNIvdG3ɦ Re6@Yr8q1 k?*e|$8kj8~Fqre Lr.3)]"ҹ@%v:Z9r 4~t^)ޗqpj [0P >C:VцnZk(YĻ~[cLH#bE!-:u--;\g MQ0ǟwGi·x-^8'ܟ.M'w돠Üq7V`PvNe? 9Eh^I^:n(n+8Apg>\:ZT/;`R0X[+uwHϦ[" 8Ng@?^ȥbt ڊ?Aҭ0,H"NAEFdyͲО .8.1%8(Bae[ݴx8$X=1 6D`:̮֮+ +ٸhGk8B46ǀ LH-LR#3z^xe@2ϤJTTTrr$'~oӘrEIj,BZE8 V~_0hG@ղҙ@}1>gף ?@9}.NӝO EFL.\w^fo GE{nYH\+OXu%^3ﷂ9#N'DϜ) }g__ `A&e@i) "WuF+ ;ʹNuuaC@@ J+} *ģy!JP!TԲjkq}w 8,ut'+4+`-<LE?&Ѓi>^ DڍL@g54bPw0[tM aF sԜA]L*c~zvu E\'$)zw[#q\/7Vr憈dğ:Seq`8Ca&#ht)*l꯯.#A;y'Ȥ@mukw[mjk^N} s.EJhwSNRtߝ@HD\_='3285;BEiD(/p,LLʎB`b4QY@bc"/B-T1M7@iYIn:yRZS`'fJCj1˳"X~ y ~L9L&ًKy n*31:O^ IRB7)fǩ ׏-w]%IGvMKݭNɟBÞcP_lGykU$R| ^-N\IO cNR /iUAr(X蛚x!44+Q&-%GWQh&z傿MyKV-ݐMa$2 * ^4::? ;ʷ ƇɁJ/F~;uE`Hd򌀃?#f 6PvؚP$!$ 0̡IVvvץ~Mߍ=mƊċpm|Nnz IH uߺ՗\-Y.p8-*Zn_*|x< %%=Lb#Wvn>'DLOؤO$#fRKNs\;9&'eIT F s̈ |pQZd,v9ܰ$( I#1e8\ϥ:gB,NX]붇$:ZIv87ԝΗWS\{ :z߾Iwwq>i}ÙG0Csluh -KYX߾ #icy{R Iuۂ;2%t\9b׏E&<wf mU?i܌wQ3M=E>\όZvG۷*]\8 V e vKRwK[Bs3?QeYc9ju ph3Q~D-];ܛLUQFOs~7|{ᢍ#a0[C6Z]H`!6%0j˪xs[gEBQe0$8&dU{M=CR`*sg7!z%$c{XmYfqR;Tf$sdOXe/]n$ݒ l;y09 68R[~C䥏lNDF–"<޾∴h L.D :K MfeeEÛ}[pt~ʸO dDň¥Ik֦qg T^ANUI5_NNޝ~6'}Μ΃ny d2\䱚 w(B:$>peF;nJ|dZIJS 8qH0) [)S20R[P4Y"QG=_Ve*)[H*jMFݪWZ2q-Tu^ ?4Q#?z l)%&+>:9'W [%W|*U&];0_n _+3ݽ8T738T~ WIo;^Ix`` ˥kj {ZiˠSyoB gcFƝW )/_[m.WgYoGK{~ZݥGYJ}`\$@!k|[`~ Xct'%нs]OH [bhIhYmᩮvG(VLj~yؑCIR-B0Q>惢C*}R!WPOV <%20r N,ю)}֗4 2/7dPKTW6 ۊ; (~Մ+Pt<>6;]%_YJdeZna:~Og(;Q!|JkIlZ*:`)GsBЦBSEXMJ͊ <\cۓqyrhA8~ -Җkz%SPSU0֪'17awIiia{8PwwsA-fv0+'Gj !p&G4Ir6%~L#Jus`8"FHo%p9mC@m/q}X=Xgb{[\tzZw\] $_u͡7$!y&R_{XǨse 3)__|N0ƾdk+(D`e;P"wo j_|'R\g[At$NS(b]nB+P?PXyK=F[WmߖbTj4SƄu 2L&wƔqwqPzy{̷nKMWF)r*oj|B|P t} ʔp4Q'sɎkqgΆ\[fF,iOreNW[6LBAL]hN[؛"þ,W1 ʥ# IWp{a^[4|IJBPģ/c ?m~ XnSɆF&/nו7 K0Tnz}NY @бyya P>~Ogv)]k X[J# YǟaݣָQtFOҘW2yw>\U;{667ӡM.J]ft>R>tVB[YkJ֝~UF Y+*Wv 92/.T=Q/cE:@t?bufJđaXڹ'`ՎŗegyY$Yz9|w!$l]y C9^@EvΐF~=MȌg^qmV\i-zӧ 41~f)\!/n3+ \M2/8}u\S \n+Yֈ@KU!KK_`j9 Fhzl.KwF+N{jhB($'մb6EeyA?KpŚߵ| ܵbhd>F nsuH}FHB6'&!Y:Q9{s1yulgp]~bٴ,p(ӝWQBfNV:d:#nV v~ҥ Mũ뿜+3ʩ7sy>8߿$}cEEY RmWG8O̥!<cfҖ5"h'ݫ~BDE3H}pZ%ֽ|S9cLV2*.8m##FR2SA/#͵yZ˼"Io/P 6˶)k.00 .@d\ߛ_غ}h$tMHqV^ $.hKچb栟sy Uƀ甄ySSfu_j2QQ?̡D)TVi\Б5@$Nܶn*&Q7 S ibnB).+dt V"{(k` 5 15Bׅb}/晬2`uBq {hX\!׏Ѥ&|VugX+w%<*lz8K#||~c\qFQX9"HŜMRCQ"n„/@R0#L:4x 25Vvz~|ux0c\EputYQEqSG.lEE|ÚRޑR7Yk%f>)`#w/'|OG 8M1s A@2 >B nJPM!XaGMBBX%ZH9?aӽ9+O@=r#֜U3!>j1m@1/Q >o$!;MGRB#Fvܪzñr mH0d1:`Sym\y%oU2a\uw$T~k7n䀒fʨcH2ՉԂf%p"vRP|_/AS.)$<^[,yHw{h@?^|O(R2k/"p\Z2*%Pmӯ3줰i}j1C_NqSpٔW"O&'kU^q&҉/~mW>1GzTŇ(,vOWU>| UM]&=gБ3$XUsX#γ֟r|n\Jt8(+Yʹ*iJ;hPMczw֦`аGv,O)ht8K0_vkp$wE~Ũ*$㮽LkC6X/̷ @t !'Wd?a~j E@oj^LöLLD01o?ifxȻs'e= =~a;\i2 I gW =6>$u*\D[LTB+2w:, l,~Xyĭ9=ȼfF-JneZsE@LW&7ɓ? RFH8NNۋ|wl޵}G*s hQiz3(:Nj T9P T/I18fQH0f.ܓz6mB(i\hA\' O Ir"ݼpAdJVˈ{V%7JtOEh:#bFwX\*BB{Y'NܒLn wgҋL2[o,RC*ՅtXJ G+~hL^N+@ }o|wM>AT/:ޥKѤ3LQzgG eދ&7)i;dl?)V(@n.QlOȻ#JlBDӝwMɨ[Ck?Xۨ*pe.awoO>*1:KS;wjxiIVo{˹Peh.$O|Nt vns V GDw#1f+s:˿Km.Q/xrt77@ĩK! bS5\G&*SzFiagJSHM%PsfkG'j0 ;V&WfLNe/YGoiV6Κ$bn߾C![n7IK:{rdn.XJm7q֍~x[ ooeU_GxQD_H>zջaU٧{JyS{h8;䝅N-oe"; ?4GU3+RWs!?wɁY{vLŭo"|#+}pMK?h.Qakj߄.+,E`S^xeM\_,r)+:G,͆Ш[y3׻nZ`*j_CZ&&#i:XA Ho/@8O;sǷO MݨNR{K]oH(&Gv"%.RSlz-񧌎QP*6{v~6IiExiu6DOE p7ΎmOm#CjÚM ](;f7,~aK9(55I+@OyD[Dv M4̯0ϫ-Im^j=n0<He0ͻU8QU1M3g&:>' 3UU>YVc''T??+FṕAFV%uQ;gl7QDHx[ZjK}J!c $Bw贍Fև•&c)c#pH$7 HB4`NgK dFkf\;A葥Id4aßqtLlZWaDHX3=?8~Y06LiL?tc ji6FةMxf>twUi}kI}QRO+Icn!jȾar az4[eLIu; n5>yUnC-t Wԧ~ðTr sh倇{/wALZ$~)!urT[cɮ 9x 7LpVfb Ǣ}[AM`z^ K%ϗּhCkr 9M"@UatSMX =ztoZ6Fˌ}/)7CBgMK+ڤr*پ\iʗ~gы|(Hsr#廻w~5} 3u$T" HRC7F^Y3pH ֭~9ٮvhv4n/kEl PgV_ `|Ydv"˺G}q`Ig#-Jsjhii 0XϦߟ;3|z|¯W#'-+*zw, naى{‡c CxH}@Rj$Cs1y:+'ǷW[@+|SO7 i6 o;>CC|w = b'\ÆMORVXy^lnPOf`wjG ?aW+Q4~x]Vn]hz|Nk3«߈TϾV]VaRեt'7ٛDM$p L@ۯ1pq{,g'F@5U|{7 \hR}l2WiIF7h#ẂNPqĞ8,Z1x+rVPl%t2d׏% %b]7ݩbP~})3$d^?!`ےs>"BBnx*q?oNx/@1wXQBGK]U.d'& WI3=e;lPl;P]p-j (nQ꼉BlԸW)R9)`- x!0?q`q'?(; 5N ijccx04ݛ\/P GCP]䀣E7[qYPZ4~~(zHm$1*}`n1,O FGo$<б ^lN8X6tyi_R<$~7y2*0=V8$󤬱Xd~j+Wwt1T_ PO'JgzEQc}ggOr+4*bp*$zÿǭ{{ HX:F":mZFEFIqV:'?n' 0[zr/<Sh60ٿ*0`UcH`_y0i|*NvWx骀@M{XiiŮ_ 8[8y=F2ЛB].PH0၇Po;LͮMfJ*k!hDp"s"m)o÷!10K~401XwC@\$hڈPyE@,nB! a-6?O-ppteo<]>>y2(ȡgs|?tt>wK!^57ʣ7%/b|tJ8emD DQLe*#2,a}tv#ƜowǛA;~"3/KJOx$=PvL]=F"(z['Ǔ]=nϟy=-ӊq!HmF;a2ٔ4Q96$|!Z; ,=|H>by}̤wh|c[ TOFY_NU4M6i^\~{bQuO"SsJ/n6?Q yw#ûyhV/H ܌r2d^jݛY?MX-|eF}ƴ6s) $p`WT{" I=z\=/O&`xGCGXzCW& s{H0gC[c M.5] j+|p3JUs=I Go3GW5@‬$M~Ra3[0؈,g8Ԍz'\W6Ԋ?;Km׋ꅿh8g[׏ \ջ{Ɗ(p3>zj^>փUzGBYrWXw_}]5Xrr pnW#89v蚤4}@ӧʉ2l^9ZĠh>i*DͩEOI>zo _ד3O0CB$yx7=*z|2~U&1ADد_94E.+`d ,]'8 6c3< .vHKAÉm4͋R}H2eoe2 j>qL 53*K-NV>صֵNgdW a^ac88͔c: 'Smո*z1(<ѢH#,C+W֒~O4 $MHF/!3 bzI jOf$H 8IxCe A꿬Țڴ8tϴ]bm+kj>+zk /@ʶkaExt[c+GNN[gH)7OcfL9/  srv1L+K&W] ddQ BG|p:.x-%ЅKP-a.w7β *(7mG{Tη't0]Pz+jOrS'Ja(7l`hg4S,G*8.ejD?a ᗕq]G:K25@W{OUwQO3ʫK%&8g@{h99ܛY?`5lt ߍv~w:^ﵜq"Ը/%K>&~k+`}WF8o- TSmhٮv3FeKmgNEn^i"࿡ 6 9M GHujʡQ]{13{ |3iN3>^GІ5UKZD7oۏkQG4xWiZ]6I!Y{DA@!ԭugP;8t_Yk#s󙔐Rm! pZ\+_D qA>[[?}j&)4B We[w~B :re8o>1DAX4X,/zM~Rn?otwi̙[ѡvڡB[r#f4 +̷o1B C!U2DM㖘 ϑ8#r~QE5 k112WqG;>")O6ɏ x>pu|Mdɠ D6[Ѣ|ZVgWEuL|sLcU|Ւ o;FiUd GBfC`T:L7B6IR /fnqnTB܉1?I7];K vsػ-yI vdq7 \J&Z@䏮iq߯8~Ac7 `k!t֐D%!:h|1ݓvx7ZwHSu.dFJE߼ r_}EN!04A˯&p];mȡ=/D` _(mpRl ?+2KGHA:{;<㯍+>t,|. Ӛ[UX};!Qw4$_kV*HoF{qLJ<@x[( gnUZe#壸71Jf=j_K;zH{yf|*P-+ p㡯DM^d) ,<Q3A={~O$9L{3mi~} /S786_nBD2ўzXCVo#򤫐v(E8.\*\4h&,o2k%E[ީ>g CzP\y=Ajڞz|_0ȋ[E?Kaԝj|wnqzɈdVat; &p- N-YG0>{"?6h{t]ѷ+`WuVQ#ʍz`g-!)Js'fK[p(:Wk)~'[y~RL$ =֒ܐQ$/s4$V >:[8voH)vv-wWM'l+|ے9Un vscJff?W eF2/T3thmɌlҒWSU ^8C}nr5QmtoS-=Jrm蒛?.)}td<uv`s.gdg [Х%F0m39qEH6&71QS'an݅lۜިbmWCIA2p8(8 n5tޔ!VW1{˘/7254Ui^ LnR'(oCǷ )|ySFNJ4&Vu8p]lXP\\\ao賝{kk{#?dG Ev+25 0i!Ms}9SٿmgW^C"cB.' $MMM@I֙UIjXM> r+ؙvHX84)[S{ﴮN?HVbݿ?HB̝C,@:?1iNѯzlWEр=Z,>Ivxv^pׄ_^Vrw˽ 9Ր+97Щ϶ ]@. .Y'MGR˹ݸ'&$Lf*3OL`Q_sFs9Б'S OLGP~n8eV(&% DAA(IA,Y.$H4 a *AdXr6̝}s9? 3]]]S=ݧNs9P=Vt~lo5NjT1wM~&ߺ"{QCؙd.:w(3WP+$&Ɨ#y6NDc? BF>\.mW]zw<g/OZ:n/#˵K\|q:V!'p gSTmR1HOOfB.n.g"5ѷ`#T\nKVpѾd$h $IzY#U%9ݟ4PO/SV4r`LTkcOgb}[?chcciDi.L\ MGVְ9w{-W}vq9d1],M&nXG ڝPya- pcz5[| k8:Lbb >cTfw3vՈg^.qZd8is!Ͳ pRװQjy5+UUx矇G><5\u_8~= ?-bMRN'a򻛹8%_pђEN5*EgC0m0Wa(a*:MzWFBϰ_wԥnnf[ZoIU;RgP|nu2߇ um}Tڜw M&8Rpka_-ǝ5|R6tRojNb=)  ~ӻxK}7{;M#y)x &}SJ,FQ슚!۶Z Onn]`Xl[t=mJǰ;Z Ot])ME}9\I%pG>Avttph[f=O >y/aBCɖQiTǪ5񌜾ZnrXAJSwH_.rp|=(Lk-(>/b'֖+x uI>.FO7$ދ#ߟ Ҡ=MϚ\pCPI8a&(P>R1Mh3mlʡ6(VTTx"\BOKG:z>ӱM"wyR J];T+*h@+j?2q~Ӂ:%9]pрiۺ@3!>ܑߺ4ң%z9]:# !ԯ3$oZ(y_c*@ z?ɹ[E~:Ie, "nsƹ\gڼ {5S0,'Zi!5j3zA&!e{ 8*Vxxg(Aq}\J#&X-]\yڵk,#$`?Ek?!Gp)<-wn5b56inqܓ)vF;#užp E O CwU ȅ3|1›mm̴ =ޠkxr <b5 Pgͨ=HfXUpvuun^vt!R*Xr,_m~ֈp%:uv vRwO*yf9X2_z"dHc{Ĥ+ g]#Z3DO6PmsnuRWIbSWOs#s4lx~B[tqI-a6Rz }a)MsKJ({{]9Mu-[,`8{0E/yCum[[HYt'5k7PqbΣF9HSv&.g4 Y;^)nϾ dUn;9A} `[>n#Ok 9}kZ;.TK?h |m!ǖng,rż</,6@r3noQ\"/.Ýf3J3TiCg^ \qOjX@#[db3׍?osjjRG<:>ɄוvMU~ǟ2^Kۓ/ )3_*>F@P MwIʿY+m%GlgB}F+s4ďW~i *@ WS!O3(]=@(+.so ?nP݋QEͧ8}}^QJ֔|%h OGH[EDרۥw6-aNXbqN7e17UjX&/`(6Pa֤SbI٘hĕT=UG[7u?wE3ۢa wZǛk8eDoMm&|[VqԢ7*jDcBׅdN|{"aDsG5DaUY9Y$\*p܇fsq=O#RD=d| lE &@Q@IXrKG[ζ*-öA"ćwF@sk{MNBAY%Lߑ2q YiP[g7RES^7 fjڼ<`tTl"*o.K&orkP eBfJuX!+`Cwڟ:IRi6U,t23(zM9,~޼ !\fHg8|GgS?fcpQT %רU fgcIbb' pyO<>o K~#o+/ ہ|1tS>FDA|4q3@\c_QZzI8Pᘈafo7\q˝w\&bFD"` 'ƒyIK&tx!m{"Ϻ+uDxN脏|,HsaSSf UuWH/1z'ʄJ@YuvyN8jZ3d۔4>ȗ'}wCsq D Zb(ڦ.R)Aҗ׿6ՠ,WTԁ}l bdڜdK %67ҒARjMbG:5fmpj?Fcx˝%vI|ggOEt73Ed`u &B5!)bǿyâo߾Szrf@kFTfӀ!›HV@8Q)S됕4}J`!VîdX) mB1Rgф!3F<"X٬+2a+cafCюP6@f}"Q0\bm4s!nFJQ{4qұC[~2C˴ T >4!S*sOxڷ%J]^_?;ՌLaG[X:hK~IU~tu[=^HUG۷ykFg6D̸cʈC:Xm "$#RUPޑ8#j9.OֆuQk=n7i ȶ3|麻6y$o+[L/(n|,0nw$wItXP}h^F3 -;ۃ?Õrc~ )f4-Cxgk+Y1aKȁ5sq+[!B)6?_KxMџĝ:AvJXe/iG\n賝B!V2t6fg_f7_,F5t.LLtb~iKQr n <\&`*SxBCȿ~[- ~>hn߼\ % &Lu+_rGۇ^ m1t4ؙ E%DS=Q/  qhK&[v(kZ4{JCEN}S9yqeo8_\@:,b LVBGqa~(C;BA}jB,*15i]KSyVPOKufeBaИHEJʾ q(*B,| @i/w}ހg1vlі.%ʒ>(I.*:,e[wF+|8C/8w`oV<] į@pz iGhglC 68`Kz1*IB1Bc|L_\">:剐l~vI'vS^qe+w&z-# bxhRVK8.<)j_62^EIDa[h$VNqJT>^;ǜnʞ7F S⛲0djec0n3ySO嘲U'QxRॗkZltW 2m~c8d;u$4>E@by/_H=/y,a+-]6ZQR/&$= /4Ou((26aLA4.bؽ0[E"=TmBy _Q~VCs\Ki0=H4xгoT:;XXGgU  -Q$#ӥ Bhiiߟ I$z$ <8/BW[LP*qlasܔ%(Zv1Do (I` 6lC# &RSDe]Af &gUhzv0}nKGBZ+" 8hk};>붭:}1i wwFH9A%^g^^oYJ8;u{V`98q^EEtm/Ԗ!P|V܀H tK:^Z@ʋ%L5p}mHtlˎ+iQ%@G6k@ dMzյOz""Yiqr??(EK&W6QSv1j<;lG6"w]Tԉ\#jݕβRLtvAQC'U lRe>Oe$Ebj8?E컛Wƈ^WXii0qBVIMcAV8z{zp0y.߸O JĽi46PSh4ҪgC/% ߓ%jYxxb:6;my/_FmSI֖M;BL -׏{ݨ(+ Jr]Lz$JcWd  c5q֘n{ Zca|d/EޅNm8 n4`txк&OY H'Tf?P> m24ªbMz0x&ATS :V'O:X`%0p T@I?eMҰ= k#Dn0 ^[T=w ʓ@C-N.eT"rd#@{?whOMOlͥ7H /L|e{&hr.S^^p l= V{}A9(MSy_^_i.1m1ɬK<R?p|Iϯ78s8E7̨Q?Wj*8DhL޳ӿ8&E?yKI8˛GR򂥁@n7|vIV~ޒɰ>τ~z2Ni&Ӳ?Eo'piw$/BuI~Vؒk~LTΈ<9}W(a3v;ms23΃;2n~@4km\e-yr72n@ff30d߾3XtCX_?G1O-oψvbQI@GHcVv&1J7 hڨoW8H_-iuu[B .>nưЯPUMaFtXyRoO(ov )D8&&ZlooQSKEcEͮ#8|&!3WMgiSom>eS'i!;y}x+!A?(&O55C[?=&| m_v~*h$Vnce[lrtꔘpMWF*'iȁ@jwKnNk_ɫXۢvm,ww_5ܻQ=C;"«[c0^!2 <.؅/Am's!ftmF OOhaD!>|R2I|>Jc,aq -E({|xgΔ'` ς ]??eT"vްUXxp& -d$ӑ{|=.V]8!XX?N"B5L; D*/?pkƙy p%kovMSIWVOHC''v;jC #g&,gGXcEuM"͑s7j?aJ wmxi`r- ieR%>w_%{{ ea6-o n "CC7 m:;%-x&p>*K7'5EZ|#6a2{-ϰ:^p=C2Ͷ/FFΨt0q3n}nlzY(p+!,s1 v̯QL;C.tEj8OqGD.J.~'>*>pGSnOa% T*Ij'w]n} Ww|#a!5"tV**lY68kLGYѯO,sc:4^8 q2&Q~a!0yKZjnp옳ˇ$)3\ٖoSLlxi$Gͱ#} +faet~s YU6R۾#VhI%^£v,t{pja#: bf`hšjcan !>#՗P.!xwc 0ɿI_TRϷ!D?ai^=%Of>yyEϟC3WN(p89bY"W tkZ:o[ B q8QLo82RHDx6}J멚FoKFy?bƾELwѱ Pr0$›hb)fj6z1RG'{11⿶I5K5rY鼅SP+G[ E~tYKhWjj`0Qf)c:`/dmrD#?| /shGecr#TSWrQT|atSNV?l0"R(q|"\[c":1`VQOH}mDEVMyv魥8g\0Ў1DÈc-u[G߰(RU}?b=#PI(j/C ^Im9‰L9|Y?9E/w  'OPvrƍf|(B(#Q DJd" v=㠒o*(oB wH,v"@UEc537X3%SNY,T-pJo w!SfWb[US*ƗVDoZw}pڜyhrKm;xn~)Tcmp:|RQߎ3n7l|",?xUs-aY]ɼTIҾ`sd eu U3Ŭ5>+Dkl| Ãցc~/*'eǞ%tdS2T dv[trơdB`9η]((suOgWumX"Fuwꚩ|o-? {2qn#q 884+AyxDM?yw y2X'qg5^؉ ~2r=#@kZ,TPVG8SxCGoxa!^fN`Χ%Ʒc߾=O$tBݽ3\ O]*s',i{d5rs'oE%R%fO:;*Y8dAmLՆ y”啹D "н4?\?1% uu)'gnpvtcEqޏy49WsDDEdIh._ic+6D`$#'R:Ԏe#$J0QOOֱLOv:wug.?Yk=܎iGHq7ڵkh1ܟP:?.j+cEDk?r!VoBl^8w/.΅HXtjl8etijP ZC^Zq{8iI x#ERZ3 '7iA1sތQ0! .)o?zչ`p^˗pJ _G&"`:w1’Aw8uׇuKG΍/JaSA*: ŀ NJ?;7?y&_(YoȲn5Qcm@!#Q߅%åZu#x}!q9w% @=F_Ӳ[~\N {rjBoBP.{^| E2Ry ۃQg҉\.sYΣ>sJsO "yK[̝F2?,93bD6 ]3v^3bJwYCc!Rv272ӚKY?D.OS4I 4UfPJz =wҧ|Hb3r 2E,78т/ϚYƽN7PmpAILBNCfKP99CǠq_*I <$aW'H3t6d2i E\ֈkv)+( Bjm3BCJщ'@pH>hwe]]Jć_Pf,.j>6XhWpFk2С`~l oa< Bx5$&nP?^"O^ƣޅBk\9.'V:_Cڀq|v |po) "_A-xZops:psKK%t3 {7KFh,68z1צ *+d1\,6T+ս꜆ɣJzfJ+37^_lĥq^=3vPF_r S;ŌwB?2tXO*]wi\?]M ;:Bd θJYiC$yA'`!G;xT, s8B|jaB@z[LN ߗB3h:Ή˜Q\0bcK,#4PJ xu\Y>2=_XG)zT/{=BY1 ҈Qtt~x1TD/:w78 fӬ Xv>$ @TGR7>t- `Ur.S%46V 'fWG=)d~ĔnJ -1ßJf(pv102OVhhr(1fvUpڅO^y\\GjW&(yb 96b0Z3Dx.y"`Go%Иst ,*' I/I^J;MKS ؠ i܊<^ĆD¶~=dD3`Դ'oz$ODݧPM"D?Ն6+YsqnQ2+m`\AQ@Y9sПUk\+j-+P?RJlC< 90e`d!xs΅w #\4x{ h;1߅=EF"7U(4s(Fކz-cʏ='mwօ=EbGKVȉ|(`\Py>8J_$|&@]16=K +MCHzNLab\{  XkV)3=~ Vۛ9XڵRd)S-VNi2,ͯ:{)Eͯ8T V96DמգކA%}X+91NZ{S8?^.i~۽{ԧkxߏn|!/Xdk2aAZ%puY'(ax<7[VLM^R9mqJ",ic=#{)DiAjO71%Yl%#wLZZDfGߐkû"h ;lbF<*7WG DUy-7W_zyY +ō^KZYLPڼh<7Jbͺ`o:^V/z|>YDKYfS-%6PH- LI @N>#G5j'v0b!R9aQH'.gbٸ`^BxPutWR !7ìũBxڡٝӧ$f @鞬z: |iUƯxC"RŬkbWqݭ| KķDp\WvĿIA*:G|E\kK]_@D!Wl-ďK:`*#kmXe/t3xď4mp A<JWOx5ƈ^@_Ӝ[' L#56 ݖR+r$J ^aK^tޠ@. `?ф;RoGzIL0. S#C{X͛;]xmרQTW|-29*#zNWg Enk| )k7YUF }N[>`zcʧKդCu K^6ӬhHm7'Dt,?~S_c}2L}DwioΞ4=)zuw/wS+ɂ%ennY+3Ϲ ,'ÖDԵlgE^}/T=8ÔOUzgT\BIo糧nGS=dpi:<_xu;`s|GUsCq}\a&V;᥾ѹ3k'D_ y6'(<j1${0K C0=F 3X ICڅ<_Nj*:&/M2t"FDS->CT2 bj9t7S*fv> ]8kNAr&>&f3eo3?5"~eЂ]Ih7걉6K\_e:R*L%_6Q2S%e%O=chZ '/MêL%L{i7]uY7">Xsq_ ;bXTO ߫"U+QӔ$+4~ yzM[)z]P0ê7 [!~~~L b7D}ru;:ע?Q=ϰK$ ^}eJkiG+,0~Qv\iU3WCt0Ԍ,L9J e v~fsB?2[aWe8] !<Ъ[Щ]\Qt+V4H7t:'#th>8W#1FȏP ;kU^YǼ%(iBɻ;8I\]ooƀp$\eͶ[jqa'@"n/}s[C?W ˉ*I`u3u}M3KQ]L -ćv`n훛&'5kؙ_|8N3UV<ȸ|c.W@ GYlxXkrwnJi-dM1Vk'lu%5jfmu+#UKݎNs,2dψ'}n"Z  wK]]Vu+)#w:Ids8?"=x5yu1nؚΊpf¶^'/[ V[lHD6EU|wȭ尢]R% JZdnet:r[˅y?S-5< sx>wnNW;(Ude;{ɜ_w/*'Z&_)֖|l͆0D f/Z])$hVx&vbcZX9@~$YFCc= Sd4lYUZ`jcmԻu׆q6{vy,5yx(Pf5N0%]V[Z6k@U\xSMo֥ug/árn>lT'C/'^a6'aG B D;Lr&mZK3T\95BbfSJ=Mw0A(`R9q}7GcAY1bVyoX`&FSNc*YeBaX’h|;?M RK;ݥ'0E1`.Sޝ䘦6)BGP5%rahk~%Ba5'ft,xp^ҚɁJ=CȲ4iV30Tq8)U-s%cI !!T]Ȫćd\@teXr]?A;1jZx,bN8ls:ew-ԫ׫1!X*A ^rhC'F5}`?&Q`-}T笨3?G(;C, GpG⪬?RԿ6~ Ϳ% S)TSڷ1||i:QwAWDg$ZYF>ց kzFN2sV9Z:)YBY D%'OжHә״,]A߉|ZEM)fmQ` 1VvE3QRcfR)G\_(I QqIѢ#^$AqXnkF}6#UY ډp7DJ-"➼6!@JJh's[)jY싨#9:|n{R9dWvGx=4dRT^^Zn bn2_݌atfF`-G6u \BU%M%iF]5kh<#$O7Vw [Vr۫0T,YXL$z,ƕuk-uЋ`k{@rs~VuQOի姫Z/edʹ8og [/ 0p!"ge(fX{>5>DTug(8;v`N~#T@s59?kJFv*[)W4?ִDW= #jh(~]8mV"%`" cqڎPffdF23XzګҵKVLq3|: RC)nΔ9HlsV :ij>T~D,\H@Wp8uŷJ{eP5;6j!dXCRh ٹ3La@u wpy9 L˞B<{w{A@+ìB18$vC9ՠv'ZnNƅY{*K4GH[[p>&}bN 8sj<{bBfng~Z9~wQv*{A.(1†R9D\ xAcs[o;~bH䷚.͏sP&^eaU}5C8^wYnqj(>+mO>,VH>[o)qޏ}zӚ-\hMO|2oF_[vLկjysޡmUFG(q?!m,7X9 P~U"iu_ :ñ..V`gQH>^Գ'Lnv_5 mOW5YdZVW\o|c?r*jQ "Ω~;|%U(LOݲ0^0&RvS(de:ugmfw&Un>ظk}4y^v\Y+ՏϮgi!S4 ZZ% m-Sa[;6^Qqc&W1v#>V1ҙ3%uM$3Ra~ {vdۅJ1u!O7^U3-r?ڔ'mxjQH7gDzL%1cll=j+D'yV)iT"@ij~xlw x$%pPrj r<-1>| u 5p~kJn!;՟"VV種vGv|GԾboz&5掆j!psmH p\8lY%SKG%j#,ة>PG3}ZtAv'dҲ2O60[vx_יklUu  .eDڱQrn3oS9@3,+0?0R2dYivˠ=[@Y{[֭"NI\C,]-dΔǃ\f BTfIipP4K[^?Z|b q2xIe$q㐶ZL:L?:ߠvrWsWk86{鳥ˆȆ*6ҡn>AqXf<E3tLwʰqܦ&YPZ !Gf{k!,_8z@ﳐՑk+ ғk 'j%L$Of@k~7TN.R}ԼA\9YĢiaLÃ0tӞ,(,IcdbÝ@`hv#*pDvfb>ڴQs s Yn5"I@} $%p[^pgn!-xwC:u+)?P5~B-_%CXљDq5žؼ^xO9pEl߅҈ )0\MDYHy4*D=FETp&1h֎aV-֏q8nfcY7\[¤0}\(#j&?0>>F&h?kkCqۺu ו!Fm9^kG8({ Y†7|lT7,&4޻2v @@jEGlS[˾w5qq2Da j_껦k#jMG&CGvsWzF.4 {+-!ET7]da7؛]S͝Xn?J+k Y9}1|RqghKB5%T-SJ8/RHVO~!~ [/d (̲QUdrxqs^-&Œm?n ۴8*\-ra{? x`rc\86l l W|Fv>B6ܟΉ~vB fG(\1WXWwc⭽+r; a43N~޵2lqt0 0l2eai;"J㦅<^ŀL?? .H! H񐯤ƿ?s:\[eQ4NW폩g'7?;XsE0Ӫ6y;)edVRɣkjʯiY\VK[;˱p >h BFZvaJi*ࣲȇj2GꄤD|b;t?>X#n[\qv2+A/8] ~ Uq[U0C \8ÙRVgv9lJcKbC!2l ow~+ˆxHۗp鵪XY!.+ mY[~i7DZf৚|U_Y&˯_!D>;VD&\UBbDrQ5K2Rk( <>)["U3DV/[ZPY@x>n .ܟ%\iFyP[rҎX.?>U bqUDn<dZp^'"²QJ/Е30ѽd:̶Smi%sNj,1.ʟI+UEۣ Ӹ (j͙>@8fP@;`[;VKF9偶Uc Hn?t 'FBII`תjTAv.$?cqRCGwA"$d\~rT[}TxT|fZȸOnCsV/#D,@*)TɞO|Yki&K<ZgN U`rVReV2,UprQ9O]Fj,LWb%1TJj"Z\&u٦֐!@ݖ2<\uP]mϊ&<֑3_uݟSpE}R•C+#}fl ;0Wfl[ƲXa㹬at'՞ 2z Ϗ3h ;lph&`?  qkT_tx(JYY{?)-rٍSX Yҵ ʪn곢Ħ/5QO1Ct*];fJwO1`LLp->?Ffv,1I)z ,\F6yH5woKJe` \U _ZJ* I)"Xl <؉{vS {aEuuY1X~W1)1Ѻ5]L`=z吆#{jm!ٽM&j w ا1`IBv.38 .mlXt[4ӮAG`MU x{ƻq X0:P.=**H=~DXڒ'` Ys$7 B@7ow3b7^SP 2 >v?܍|ĘzXQ_w\w$B% <@%oײ61HK4{&V [ގyJ.Lbg{(_!ga+oIk׶ f0#M>ikKOװX^;Sְ9}AP[&PXƿm\ Rk|"(tM+F+F.,wQ ]2[40阛J衹e.&\&pLPB=0P(#ec}}6ubmͳKQC+@0/clbd֠yֹx_}(yb Ak"`E?U4/I 0}G{W;4p6*Hm~ k'Opɔl`0-&Ѐ78FDYΧGKI Gkc 8#Zbְt .ڍˏ@!tףO@N\ݸv^[Y~.A)%xm;…x`Mn=@N4TaI iZnӤΏlh=l$(I&Gk(Q>lTO&z 5/+)lqY Oaqu.GPKlY:jmplt.iconset/icon_256x256@2x.pngUT wKgxKgux uTTzfFAA$n inE@)ATPag|uY=<{ϼg^j@P\?=L`G<Q~coe;zx{x9fI30 {g?y#""%*dA9Kszz6mݽߔ|'#IHu) J'*q_˕Z8;T:vX8>˶{t.qLax~}%Ikݻ9В!^WG/ x0kU8/Ԓ]b8_ei[GDs8[Y.Ue'}H@M]GjS7- yMmJRω%mOX` ݆̀-"# qv.L:ɊLƆۛqi?.OV7VYDQԞG~N\PRE5~"*RdmIQ\qI~;-GH~aH]P ܶ&s^FIP@0ciO:}˓X"Oǩqڠ='o3% A%ss,[j%?OD.MB4u(W֘2:_<6/ZH"~"o.yǪrDN$k.ۈlׯ8/b65 ˒ `t_IXr۷ht!j>yy K.}]"XMD, 6 W|q=" X "Ww:*\/#]K@%=o\l<е[}E)[3-+y|)$&S0|ր;zِiorY=jusxw`L +Ŵ2| )=$8,~x :_,0NeG꩟ω$Q0zFA1Kta X?LI6ȃIPӪc=Hmme?鼍oe`RA'>RwG'PE HMJ2 Um{] g=MƙZt7{oG|nRn-_1AzF E)˜Ԑ:g%h N9\ kqYTlUar&Q7oU,y t1&'TP(cs'p*S97F@YJm.}X)-ţ7\ƁH-uq:ѵC2 FқYeoK": % é‰ =O$[^ 䰌ƅiI_l:kdEa?˕Xuq}_(vΰSo}3l+W[kmv `!).)ġݶ縐4O x}Gb|34DZR<buwPd}&ЪK.D#12&-W53h/S۞ v*DR%d̨6Ƴc!ݙ)C͊cdaۚJaxäsUVZ 5) E`xY^ N:<=Jn@s뫯wDa3vؒ!Jww++4K lD}AS7%F75nXάZ㻼dnRC>Y허ìV WnՆ qn1 ++[ǰ cp2g꿖#2mn5hztL\K#RjO{yp_H/&̺-AY{-+k|b-ss}tew0f N7uKQ Jt?Bх4!"~#u VBcJ+*X![l[b"3 CKdgi4 x<#E2<5~pö<)Z?jL _ \IwhrlG" [qv! 2~ 'L:Jm})(Q,`|u헗)nlAE'i/%kl FΉL^ 6^KJ=<6 AI62D_JhiAxVQb%/_Z\Nz؝=#(j]Œ iFXlk XRu[% X[ke(pM2R/\Fi $*MC ۢ[^.VZO<\s6xo>c#QU =eJ2L<*ЋRe~E%@RV Ĉ7$F'__Bs`8*¿@6͊P)ˍ@J/p d[wv Xa#Ŀ(tu.FdA{%=io`zi${:TL~0E(Wׁu}Z  +z![R}dz>Nl#FZO&̴b6VYC $$#)Y߂ܷNdp.vh6Ѝ̑ڣB?v+ċMr7&\zEW{L"wjAc jI53 UT[y=^̈́ĥ(VBd Mt.4Mob<M֝}T}rn Y> P\f+33Z1Qa&h<"oi)??_SLi87>L|;ba7ȟeI,Mٴٜp>%by@"#sc dN----+++o߿Wn:)3o۷m;+DD/bnSWc??҅ckC0r>͠ZZ37noݲIWxH5޿T(g^#/oo?C2֏@>TGۅ]U=u=_fzLJ{;x>,Gp*RCSN##58}n,G݉~ee'ggkfm * {SE<,C98T--|-}4^f [@_]ݙ~nYf_ěUڲ(}F =3xo6,]\[F|XV\P,%q;=גR { fL:p2Wμr%p)eOCBJs4Kɩt/ԾJW%*3Gzha zWԖj2#ܿ3mmoWff.tFd!vw攌!yҹd/ܜXaYph= F /Jxsɹ(7d /0'j^m.ݙG*ƛ/r8L "LvL1_,չb4f K6x,SJIt>v1P m/297y;A=R5WEߺ#/{,DVB*zt30%'q`rNZr+.bN^G[1:3/vF>IPj XUxsxszeO2/Ok~7Q=E5z0Y£7.ŦJ)c @ݕv+L@ hَчc:~g]O{Bʗx@iמeFГ!LkV%]hfhG0ޚ RTk++v=$k}`J/Wln޵4Ӽ,wvxKZ1<$HFfٓdW~JԻMS;0ۀLs^+jW"tMZl؊9@iȦd<]Nrlyn/z#6ߥu$eH*'yU ɹ޽:ht 0$A"-e_2ZV/{_0J;BtLlc&q<)6'\ACJ*170 Ñyo F᰺R|lk`}k$#nӿ_]M`Som'a& 05aXG}\m`C_[ҏ5%v>g G̒ َ/}n~$l;kI悸47e1t#pNGJrp[(dDAV=qAr$sZ(=w.IZ$km^b %eS$kkVÌǞc 䲂q˗_Godݑ9mVP\⣧d"9J!i̺Bf-¯Ol Hyg%P@ 7 ;`ćlƕ"\N×X·\βDZw 8uGE^͇4[%$[ڶ56t0GD D$Ho.D҄z",,OMA 8)$`EUjYccrFHUe{zNxh},0,A*qp {vy$by;̼GZ#tXAW/}஫_莞nt&1ptrEȽe_r746Fʌ \.;sZ>uumMo籾~w \]6ETf{jepd=ihhPL7,N`? :i;r[j{ Oy1krrrQ UߔJBm++&_F"4<$=g k:*Ru&lHea]+7kDz?P5fQ ȑ&}aUoORz"& > G]wb t= P&:1f459MU35I=rnSC!m}@ l3vvAϟ+hzy &XeVcSIY;$.Tj&l񥸲=_`tҮh;؇Y4]~:Kl!8ެ:YX&2Z]f2`Fup_R72bZe' L.[Qcz'+Hn(erg_O_Σx^85[$v..=olO1nEZjժ$FnG~9_ݜ\Xݬީsw2F @omK_Y9 m2v~8Eǒ|ŧ ~v^twuʼn1rZw᪩6AG$/_RUG&كEH);n7E)u%@n~#%L8:N?zJV~?n7sOkzF2aW[܀R\o#:޽}NRCnߠ;PB9i(I1Czq7\%Z\1lc ª3 fA%@.m9J(Sh1;ko%6bv0A|ՠ I6C>0ނ5wS(yﵐD[zΗ:\SonFۙAJ폀Z[O*uR\Up%E Hve0Etu~\ fOhsK. hhw^w)ݎYE'u-NKIu T7 ` 얒~h؃8ٝ>OIQ˃DŽ|e} _ē/ 15sG/Y`ꛔ/>_ 3.p*+hy3jeF%3ޙ Hdl0BvOte!8{e {Vkk\-:'׷z}H(ϥOKJ6jpe״T?TO#X0X<_5ꈘvy,`& RB&XS:52HЗ'ܚy]Z÷&u%xMoFJRgל D)䦎×89~ק?0mM,{}PCAǰ\mIcΚ`B<, 돻w-\F%XeE7GS13E[F7q&* &-q)#(+zj0Ugiip?|](Ћ+Rw+ri=4i,\mXG8vǪ|d׬xR6}0ikpɪ`XH1>Η,Q)XrVb"CS}oZZZAz{D>fKePWa.F`B&Uӄ$|D7UgVWm0("N7KiS-zJp1쏙{,/>R,7<~HgC/7eg/Y|t$j۪E3}0CcK1)K+b2Jm;@غ>bς.HzRzZҊlNXmJ#g_/;L79ğ-D!PfC9+9* \^`gyKÙ."N(ȇNw)3 ;n D _Y1 qFF ZK6X'q4P(4maN2BAiִV%6ehL7oPlk١vqul]*#LNaxxk7&m6t0E_TMMe(y0:I-D(X' B)3 u+u "fO5^UDt}II717}D=$jPzꗙVj\-)U+0|q5?\{k1Nt OdjE~"`߃*~5Evg:?$'.A툽 ^Cwm")ii $'~(Mj9rv64WCn ]OYΑ*T&k,Lɽ|O2kV9=Qt+B8ݭէ3#t\^yKV ,5\'>ZߺE>Q Nz^xG]:!(] 刱!nᇲ(+)ˉM6@@Ɍ;g<68䛝C|Xŀg-MmnDp&w,1br/W=&d: LLF 4KGn^FTɡŊv8:=BrnTRΓy<- +Pfdžg@J F2}(l Jίu9TܴE~G^b7#BMGfb"l ShqR"?Yv"<| oȌ8{=nmlhᜎsW)ĊyʢL:~z FX2Ӎn(ڊua[D r X:,I~4[Z-rN%<$ꦤ"X|XG>rX/%&w8,Zd\ɇeư>sRI;7#rkH bajڶB6wֲ˃vE R>Gg4Kl/8I|߉5qNb߭蠓GZFїX?,k'2ž^J"@H( Tq3C؟qTԦobAG-[D)71J_FHS~~q33c)Z6GUMMFZ'=*wRI8.w'@'qruesRżdOGѫiWhQ;QD_5vcv*b@ {~/+HJ^I5v8mrF]ͷhf̭>#Ubd5>gDB>KSCϿUoYYο}<5=mdK[R]`}e.OM6tqaT@g4O 'liWۚȹ_J 6`Ig W箼:=E*Ct|f"$&ni\o'Cu2}ȝ/zt\%M]a;RbԠ~F 7йh*s&Dn< NAa/ތνwêت4!Wn\kB6 `k _b۝q([sSla ѨJUpZg]b{3Qvy׆xwkDo݀Ur6PwJYrep'M)'cDl^h=8tjWq݅ʦ;3ܡPr,1pVO͑mkжŇo2H\fөN3oӃac徛m^rKa{K| swxJv&)B*<`·h2" ܂4׬gAt1,&V&/W>;͸y:R' Rm+Ȥ˨u;,$w#eyr&qVwmO7!RMk!O4bEI)6^.QeJhM]횫ҫ]n%y :a3j d+<2{r/,Z' ,@ p>GRL>dMG+DN~Dtl)޿=׆n(1Ԋ=8i0i~lyn߻x*,>PX ƨ dc6ͲG~r':AOv*gBPҁ`$z.q"9Jt5`8?l~4] _O>Xҗi/!G+~- @u`xw쎭kklx{)+7p|tRfi-OйLb<'Z(PC)Vvp9MF }cU:gL򵼫[J3Z=/Rgn7-iUtlkqe&} E/:H3J 'Si/,q2ʰ-ۄ8y:a9owJ*.O4Z 7nD+y а'eO8ou4[͠ɚ\8eU&%M vG"N_o;Ϭ4vʎ9^`Ҝas})rV%po5z“3z'^%TWN}mUjA:߇XYa-Ou/~MռgƠ"90^N%6(蔗!?9sd{7j4X ̇ wE6\F'F[(~I¹ vRj R:;3E ;t⿬7ኚQh1s  5%ҝTDzW@ci o5d8rQꕣBܓ=ZjY=>aw$Ӌ3C&ʍeg VtE%Ҟˊ^t͢N`=p(/䫡_By;;B7cjhx ܦ?=Nr~:u68Nl_J1跳N#vb_{bmDg/˷gl>WHÍH2ckXq=F\r^,W־"z '@Jʎ &ϡÙ?_& )L5;$"6 Yln D_囓!p%>]'R*htsoFQ+0fiC(=Sne*>!* 6.nHO9Ec;ek9bGt֛5역K2>1C2: k7^!GXjX禂7d3 Bq{KܶtʯDmlXvSP3㔈NV`Hż_a݂<1WFca 5EѐEl2I6g+M%}f`mDɋra߭u]βkO{~c5:`8/Qz[\̞EzOc-pSy̓d&DԻk]3;Pdao1]\W+6-9!4_oV)K^-!k~oY17 d@K'|@hC6NY{ɜM!!~Y{ }5kv`V a~ ²@=&0$p,܋rMCÑh{9숴c&wn )zջ%ھ϶mŠxs{? ilIğˏ[C%!5T+G 0ƛeYOAx$OK&Ͽؼ|kZl^{G%2Tζ"ep @h(oOLeQ,ߡ!Y߷"jA*Sco򦭼OyA#L ]`Pejc [W9v#^8GeM[SG"_Hقg*dqP-Яgff9r9:*Sm&ְ鷆wPv~G&bDsBPؠgW7'5>{ =L_-@$dSPZd) &/Df.l&*[G%{}=:cS֝t|t6%OIv 9χs/~n0%,mO /M>[^jYb`Y< Ӎdz1hGME+V U@Ń^f'qWs7}"1/~G!~up3CտNMn,Šd Z*MnLu2Yx#nBޘyEmW9:s.1:r F ,:~;6ɷIv9y{C.3hUN2p?֧d炨i[,Ԡ.>; p,۔ 9 ln]1ktխJ^H_*/@*LoldU,p64=0ܔ|1J}m'wӶ)⍙Rs 'V:>"ԕ98/[ [ts-{Tb”R|91;ga3RE+RPsf3 DXWŗg[B-Oo\Tȑx`G ?hKh|bam"?-靖BԧE޻DHB9vU|q\ZX"-hWCaF9}N"Yֽ>hp7~R lQ\iYezuq˜O_w;IhLD;J;\*cI ?ycu;hhW@)1IŠ$]s8f,xna05oUMmcOarh`qGnj.!I~syLi>|HP\MY oQlgir䜺$AF+hήdrQVIɗTII4jZdnoUuoq ;!wX"{# ]5<,idAܦWsn*1jPv-,҄N!ap~%mZ>adoQlv(<[g 9Q;W{Ӧ㞖BGc J8ɕԣ:9:ñX9}^'!j8Mmy3hEW)6SZ9gڟhr):zR{9#USi瀋\6br)\n{ |t. ^8IB3]Gs\GXz#4B#^$(gu4{l{7\f=F/:g*p}iﻻ5(&]|XLOсe$Q%LLɠy,^j3~p:0`#P|D+b-'u@anNEwF}$N=Jv/ 91t7ђ<^CmQ>1.@Եj\iZ^:.x|U3|&nY+Q_pi;ېP eeO0rzDdMb}F=yq"{XsyYO!"i)z^x 5Q0 d#Ư,N7%F YL ;s΍yjjːz/S s:x׏ Շbz`7cJ<ӡ/fӊ5vsLw:å!g^_i>;~/G*c؄~NRmDvL( %?3僫kl =IM ^>fˉo̸Q1zzu:/-b vuM`ؤ'&)Q/-e޷ go~=VvK\y3=CJ:YНYȠ0KU~ ;-˳0\7?}U V}A6ZW#S~,wurG^E{XJV2ϩ29:=|!?YIȼґǜ< |ź*dzy,&cėR'hRsQj1z,8 䖆cNL!B~&@)2P YTͨXcV(aBjnb"i@sNzrǸXN, ThVruO*f~}mQw#[7MDQ$3D CvA_y%1q)\l~ug2OxgcQtMR}q[}&M{'hvO:x$^Aݕ>ޙih3 f S*2Avy'+BE(~| [D*{S։>-@^ex^GRv=+&vmHE\ƍ;:g܀ҭ" ML?ޖIxhi+ ZeeeڳfBA.9ՆSB␋X+C9O~+v"nU_*1,tEqAOb#>wYE(n~#%ukjN62 sL&2b6 Jtφ4$7CA= 7on9,-=%~avˍhtZ$of[iݳw%њ_9^ `LәኑɦM9Qj D_5X]wT"f/i>m.&6e7Y\ܬMrR0Դ.\*=ѾO lKubSMzbT]_CC$|DXs;<R兡H[3V/F%̓5&qPUܼHy B0 rҬOZKv-8]ߤfWpK,_CFs1 0*w@>q tzxGտD0(,߃c7v]YJ==Rb{eL:rS;/+>C僀H<w~݅K)X2 D?LV0-72@/bۧ7B8'*uK^heb1IqΡ6N-kosLn"Kl^%f%a-Ieҹ]xUS#r|bx%GϦл^۷7и`%((`5<=SZwb5"WAr(I>U}y\:a$y{heُFT|/14~é\DC1|#C_W<aQLU,JFo޼i^ @#Jbʑ<f¿-d!xa FSv>VY4lŚ?1lgoQnHs*E)jA"&FM:%Mέ悹Ǩ ;~!)Ȟɰi&ųx11NTA@ nrK=3Ḁi;,\-XڪSzuHB?gЕw*~h KO~6rfLh%clO[]ZD+# 9gr_UC@{R4=k=/9_߯~6!lZC$A|N2Mxͱm*'A9'A?~ Fdkl9CyS& <g'=l'8U8h粗WW- Rwﰚ>ܽcn gwшL:ـsLv8^zOL͵4kd>Q$aBwWqW/#so)R̲utA=`-X&mTR*f7kbc;Dᴦ|X+)՝5n-Cl0S<u. !=Y|Gv)_do!>\M>^Y8A0b x@3A˵Ğ"uDYD3swB` o}Dwr\y[G!cV\SSHδ;-~lƁ訨M :2'oxSsg$yp,\L>v aNsV ǒ֋Ȍk`Bìg&ءMwD8NZ'7U-QMSIoFfx:(jN3,>~1Ջ_)@Lm=:L0+}aO:; 'KG!쵬?n|F pVu.AOM MZ9*u继}DjObhy]bxɘi ?C Ï6EɀlKN'l+~4#F%b_hva_9#X a q:x!GpGhr]z0 3t\z|`6Xß`S3b8=x:`Gnuݣ#bQhZ뱇<]J΃p+bxvB۸/RUstm3ݔ yH#뜆XDno HߠA.YV5J;D!AME88ϗgaQx}^M4NBLiәۓvꇭObײEk9o9r}f "o%h3cn@8W~1&nprٝ;;y B $1y-c !)&]\SEDG2]_h@E/K\Xur9慦2Y ;!9?<Ձ8ѥ2vS`ж,׷sj)%wHOJ޲~#͋QtkbS[6&e,X">_Fw˭o? bU/|`}Vzgdht905UQ2^VYuD[\X{{gyc\ѯE>ŽOOlpncBF=Ou2Bi&QS",yva4y5^bR[븆ߊ!CSSaSՈ묛 Lrk03_NhIf6w!{삇vG/jj#@vmX Ztc}UQngu|Úlw[WM:ݙ-ZwJQL`TZ )ۺvt/#;!XCw|Gh)ٝ+1AAupNz:v+|87%mV/'=cީtE|g W :nccK>#&JaH8;߱3ȆZk-p[o|xs}rQ _wDGKqN&P-;kH+*1IsПj/pgiDaш="4ث- թ@zW=-!WCέ,Mӏu}gYVg;OPMPBrfLaF;\0J~/JacN.ܩCNd}_*#A?ɬq5[R vηT@ULzMꉇuf?eCB7xO}ŶhQ7B|!Xh6$Ro`ο#]Kv )jjy3o;\d!=~ )CsZzPfz?a Z2Y'6?8!N/f?S:ٚ`M5q[Ցr=^YAaj^o>uk:q+N k{IQ`(Y`݌SpgQ¹E&72'$}p*+e\~s^|izruc_`pE 't4ޖ#6UE"\t_%怹^^x.\\'Ps%vD{8ڋ"v0S65hk;kA!T9 B[G(Z`ᦼRe][ MݤJ\(вת۳hmI]c^OY`i vM>-pGm0qViw`_yKmiWW"[N q/\L!: SB\^«%:=S2Pγ{wMIQ! od-"T:B˾v](O9YE 4S]q JIM~S205tK{A:3z )sL aw~c Ox^pqͻ6o/ԑbZ>gj33U`}K%$S* >{+EBVp7NK99EAeG~5 ͑D]XMwjj-#x j iԮ̤Z!)*(w߬ˎ43YV0͓H׺$4XI=_cY+G"plKB!qO ?=OdJv=ZK9H{O>S !ZQ=!DNSO+G4 y·M/7oQag q5 &qNۥ9M#| "$"ﰾAۮ݊;R䌷ߣ>4?Nnz[1ξ\ښRܝgA#8sY;Ry3zm(SL/hY$1)$w|Y|ʙ,dw-]rzV gd/B0e>="vM)w>|rd2,1w}˹.|w\"'2%>PzHU{#0M{"Ub.1w I/}JD?&j B.PDaF6F {.C .Iv&R[к̧fN"*-bP)ZHSN$Zb>[ϣB BYIZuZo_ܗ3Sߧ u'60CGY h]_E22m}xiБG[?=!zÿ%C2&2XA<ݏ.ˡ*7{˼S=4×:P\g ^|quf;~=^PJ»6 N1)lı(ޢ+{b܋V] :TdoEBmk *6GclwGSO&OlJ*,sI 4?ǑkzCrua 1uOz1SH=`g/yF Wk#uy{AJJ]%TLtSTI[P;$=1{$yBkp%0cQ.[og6&2p"8Z7Q_ܚ&6oЍT7%0puh#+&&x[ kPƒ=Br`T4d9 v&maܼ')99o%Eb@q8leJӀЀ!7+]A=3?A-HKzxLMP;z.Sʪs;p'hWvGBJ+^+~UhX=50>F,#AA',1P0 :c!K3b\f.kY~o!/JTO3X &Waड़ ?VЃ/.o]!,ctC.NB %cfe-1dM>[=gŲJ+؁|Z /* ZT@̢Yk!]M/ '?n͍da(u]Xz🺲RPK lYqqplt.iconset/icon_32x32.pngUT uKgxKgux PNG  IHDR szz pHYsodtEXtSoftwarewww.inkscape.org<IDATX[lU3{nX++&bm}(hĄrӔ&XC*AL0!>!jA%BS Dbꆖ!%V0b@,]m -{9>v[\Ls @a4"̙#ӣl|NMVFW7 t=B4EmS0juopTt ADnfՏ:@j otv ALzX) é A~ 4 `=| BEdjb>$I CQ/d@7O@{,YREyj9G $x.) fט.];t~7ĦMx~^﩮^"= ~l2v;Paf3UU ݀%?:mHYYiTb‰6z9hPQQN^5zϠN`Fb7q:ia mSzݜ`:&d t:~j*TQU5M.˂A$ +ɋwBd 0 #Fc1>/SUT `A_e=24GU pYWy1c٬2×H@0o$={@msFk& Պǎqmffau Iԩv(E[r @[[ۘ*! zjjޢHO3H$߱fMCC+7 MS0yywYx|;w'b%-*F`0K}Cz1~j!P@ 0U-Z^f$P@;$v=h}2 0<apSIlhe/!m6m u-7 )p)a0~6Ӯ (˺?1B 7I2 C`Wo/DdZ4jLb_jIENDB`PK lY9plt.iconset/icon_128x128.pngUT vKgvKgux PNG  IHDR>a pHYs;;̶tEXtSoftwarewww.inkscape.org<IDATx{tTս?g@"IOyT JDDi^zajmVb}\,E >E^ZWPTE !@93g朙9d|+}9gmTU%P)/w~bMuw ;7mDӞ(h;rʘnM.V*uzc(2iH? zD q VQ.N ;)h`ntzwìw vdEp\I+TU=n}Oƚ VGDOU)Uhӯm=4&uSἘt\QK@F07 X c~+0#S0x8|B`u ,E! i"`RU=?& ^u37?N,= B(@WXnr\k|JACt$0@QsU_F_>FL 7G Ip 20-z) mlO! 0; O4a)HivUf֨ JMcQ,mH)xؔB \ G;rΰH.PƣӦ窪ʥ) tXsC$m';?8B, ,7L6MrC ^݀ 99~Wi%:)-o'ޢPѦ|!@⪓mK{m%pvb'܀'.`gYL!*$^y5GGOLv:DB|| |>L6@_xxX䩈B.Wg#RMcU~#-* b;UtG͈$"HcO4d],hD401!Z8WFp/SU#cBD'~}D.GmcE"#< "ٕ!k 28a[:==={ҿzt҅illĉ9rvő#G"<XHGz|noxl59=BkgC O'Ögᔕ1|pGzzt?c֭TWWS]]Ͷm%"^1!SKzOh4E(9$ XBŅ^ȸq=z4iiƼ)Ss333YlW^ye5>@޽YhgmNX:@m݈BСCYt)r YhY`ӧO'1ikBݱpx$[[a2EQ4iͣo߶Qaĉ 8tu/ub.br _sss3gӦMkWqg…\zy:xx𹇎GfbBo`bCVaa!;5K0c ~󟛮4 $ܵwu<LFQ~lI:ٓsYgZ(~W2]EvN1 7p݆B|I铈)z**̎ 爎Kρgm<'@nn.O8DO/B1DEEŎ޷/Y[8~0 7` Z{w)HB= Ic ~U  |yf&Cvv6*dw#ѐ n-*ofhiQز sbvh7p3l0Sd5Qd~3`̘1Q?eHYYA)^O<ы>JKKNjy )`$N/rNDP99~FY^ۿ?W^άY}xB|'=rT7:^Rmk)//iFՓ;ƍ}x81P :d]݇#K!Ldk]Ƹwe9C^^+ÆmJ=+sɶm^u7W['r9 HQp֌c뉆CwgdI sɓ'pEfo*dWKHdYw:ț@b#zo^3N2dH;M׺3sf_V: }MBG"_H Wdʟ알 o>i#ĠGc޼R155g8|pTx EtHR qK2 LSYYY2A췇EBk֭8~Y||׿R;~^]>ȉ JK %/Yќ3EKqx0I)Fo߾0jf&/ܹ?hK*;ڵZC,Ji& 9Wn(ԏW^IF!8Aq#uuu\ $)@ b45f4>yuKa^v---zށFLѸ?B?|\-쫨UDOq "5hY"A 3Ib `&w,'۟zQ,^@9$(k֬F =P(H3gdQ0@$( 竹st2=!AN[&G~,X`M[#YJZ b6n&x-V:.g=oPSYIs QɢE!/_n2YHjPͅACxQڥ +V3iڕvtÇygLNY] u 0&tR25#m rԐP<&7dh_APA[[[[(h.)-n: *]wA@= w|̞v{555>vPU~80wyޟ ߺ EvJSSwq|A;j*ӕ1V:i:)N.߉^544p뭷nݺ^8q1pAo31FPFA477sdɒvs | 7|36m2])@.v.𘏕G$'v#AI3gwy'DI$6nȔ)SLW]KS )r' &;ɓ-zUѣG9s&|miE8h+~t^Ji.=.E`o箻bm]QKի0a˗/A?‰}0jEHI&0'~|d|2M*EPw} &0ew&PUM61|>|(HL@b#bs(Bo=ﷺ{+[0}0[ED=< {/:ΘL*&NȀ=|Ass3UUU,Z(V b;i/A³!?_˺@CH݈"r5̸q(//w|zj6l!1q_p5Vp'0#Z:q6+ѯ_?;<=\ D>}p+;w駟R]]͖-[lV*`++5~wDwz@0$D#3W' 9Ye<zGx^^/999~8v ޽B76}{_4f$J)=c4I!)罹+:zH*EĿE'%II#C_ r^ #2ov{GvvtrAP㏭S$G?#-$4r;FT,grbpwC~ 2`4hcG0v^g!QN<`=m="'piڄ[uOt_[H<.x {ڐdH8ASZ0>E.i۸t$'@ۇZ/k]{<j!O"dGk "` $m7S~G+Xe/M$AhD7۵'mv:Ai)@#sZ`f b$t]$yhh{IC7߬(j7#Eq-tAq*!ǂ0ךBg;ϐ C"NHy5~@5ObdP§sJɛ*ܪ/H)tU)H)}"AgJ?)t- "A2?,R$H}G$@ɔbk|UUQ') Qn6^)Eµ N0ߜyDU#&I, KB)$UrQ NJ$َOC2TIENDB`PKlYu?V433plt.iconset/icon_128x128@2x.pngUT vKgxKgux =zTTC[BRrhR[k@$Q$%VIiP:a[Zg͙{}f&F[S 66OTUt<Lt2; C |hoHF_׶/-kCI*`Tdr|Hoe:2xaX\X@n1*>)WGlJ,|R+,k64IJdy_ܜs]=vzVoT{s7cnnhpl4?|.) =+v] _(=̤&L6e{9b'p0T^ߘWQ".PSDGPiE~D]a[5JbZBR:ywJGSɷy0ůQa:jaیxnT2v6#@-E`П%"J9. 4Ӝ{!pZt]ȲHJz?d~F {04^'X?+;^@JVVhvh] AF2,և3|cp oi)2-RWVMd<ޯ=J(Ijզ|@ ) 0GY; D*#zQxSC)ߖ*" E-†Y/'EҀsC7|¢Cb Q3x1 G}Y8bsBwo-ǟO-a?%K N"Fa,ԟ9N`YdiGF sWmx:*AGcmV uVK%S =PVY%[t0L(!%F>j(L: _+qCeQ|xvzˁ 7w[cz?9Wa&]_=g 0蚋`vi}$GAɇt3V3–\3_䥈T_raA஢;?}7a/-J,;~37%qvCNU/]#>,V}A_n,d!RU'd#p \#`L1=a7=p%ͩ@xu4rR`rb3]cEܮ}S#rAf(@3f.Pmm"B$?k?YɇghY!2%C`hgT| 4G d\J//^б\! z" =Q<coqӟo?~;RtMuEt1}}?K}x۷cGKp oB}MQrt0vq;yF/h #[UT+]#ז-Vcz3KܵLZh{A/ (X1+-UF`Sb]QΕs tC'ψ@f4Ṿ_/[NY>>CFBd\ xV9feZ Ge@[K*.g]_&[yfH'(\bvsb8JwQed^'IMK+86&!'&xv{1HIygy f<,8 CՕfOX977ޑRJ67' eQ^~}x;.1s}߿߇6a(+]uGMnK?iiP#Й>~{jN(VdKGHLRSfM Mf v#eO%-3;ߝhRoWanl`h Ze"ʹ*v?w\%S 82:/o1$H+/B.+r\v_ nKfͼ)q26ퟵ]_ǴXՈh~'_WEI"X9*>+*n)뫙RepY g|Ҫ234"2 uOOJ͏Ic2I0&s9lOվ5N\RS$͓TяF5oߟQSVLO'm8bccieɄJTۧC0:N#MhPG+k *zQV|^f sgL|Du];?^[k+?4h/KtW︊vTNEMm#Qprekڝ$m."d$e;~SQfDpz&Yuc{{7Z깄޻ǠI׃SK|LF^F-Um䌑8jO]o?Y$_V_:`9K-2<1;_3̹ )z,_;MD@~]YQ}zPV@ZJ}UAI"$Ok3Pb m@fb}€{LdVӂNfn Uݧ㷑. ۭDhF6O {~_m[%`(.3BxN ٲXk$. b?IN!뽙۷w` <`F/"~)4qHDđ=V^(,)F|t!WVq% UǑ*̨.+ %fe1ؐ1˹761yg;Q ۛpĊi3@u5M4ޣ;AbJYE}7{wO%h6 Lǯ"CLYݞ]y|iK)d αR } ]2i q&`%):|n]#Ā@$NrJwj6UA⍙oIF9}"RF(Ĕ['".9b{V/DgV||D4~;Pr}B %\sty2:ց 6nn0*q$yqiʮF |t*zimkkm\ePiK'9Yu$_oYb>nb3vF]X&1r~=ZZ[ X9UᳰOiU3u crD5Y[^_t`S=TV gFqj} &qJ*1P:fm)bm3Uq_ݜ56RL^M4h-)M:VZDN5&r&;T TKΑ uS=b7JDhiV;OmpAUXm^0rɬYY Oo̚UcbbL eV/jf&P -UԴì .D-Uq{xFGeA P|a )[t*˫7E`V t`@<ұ0Fkz]h:FŇֿ>:lm?QuTaB9%  #֏QBt T}Ϸr{fZн,{Sw*8٠ֈњ`q#X}"ԧ^=jRvx⾌$yBMufR9뱟O<_(VE:g4>XUKbO,FFFjIpT]vwHlfH<6:1 Z–S<[=9+הz'Q]f< ClMFMXȤEx]!M®z\n}/]7%by ^yfITumO.Şk~yUnTZ-ca~GՑ*sB6)3Z6?8`y'hf;p +'y>|/D=ު7"1 9`p)H!ݚyZ!|kqGy^xrگe*VTY;{mŋRBxwp =a]ݛ q3ճiϷʟv̝MW&V8Ŧ5 qSc[2#H LZtHR#kjdGPD: /R)rN)ޟT^t[܉7E8Tو6X!h;C+i#RN)Τm!5ȯ4ƣ] 180H^ >hֿ`f h4j'jov~(Eqne9Q_iY#[ۑm?|i|:\M_ "LFJNMN4UST'o fUz1mrGfz ^[3ݰύ!ŹOSd\p9.x+/B &qoB߯UnvrV'yZؠouw }q $D",0w%$~0ڽJ(lp𐍑XdЩr N{]kqr0<v[>NGM4hLWv^@I ;g nh /_TpAa T DBTruv \,E nGOM68Xm=3# U̸z<^k%;Un݃_\o2#>hj">ۇ{͘X˾'TShؘ=^o^ftD"zEfR4;µp~%D<9k{+1P.OM&;2#6>7baneB݇&N(zRκ]Yf*SҴA.O6RXoF-M0E֯UzFҊ`cay\&>hCDM6BciAȮPn76 `UWȸۉw,FX־P-XLc^8(*bRNWPN+aXLRezaMWPkq'rjd:OL1ɴ);],y>N.2gtE.P~&։gR hI昆4@5ʙ9: aW(nSSQ'tܘ ;=Tm|CĒ[+x`N370 P7Q93k*D9^l[ԙђ `:^MPnF&o×h~<ɐ޴tzy!|6 l5]Kf*" {yj/<wL ؟<5"ruwY:RŅQ HL2>9c*ot1UM12߇ X'Sఖy*!8_{c%_myx#1A[-y~.e])*$"򋞽rK2"xV.rpێ?conV|!.V;1W|E33=qmY4Dugۓ}*LB˗AAA_:AA!az¨@ZGuZ"}!MI@7ϼ&###/xsLY6U\3qd7W<3Bz@@C(yk.ݧJu(a`Y!4֦^j9|C69N)a<%bs0_PjgwkpW=8cF~+s9o V=I@=Nj8CÓdFndy7^dM b~mveJ,єa}Sèx$$ə9g,;S;bj+_/˟ܓKQҞM<笏Hp ;m3 gO6аzZz\,}VH45]]. M`o! )`5q\7 HurĆ9U$%rm-MYxۖyPU.#kn%dBAmrm;SGЎѕa0I ?9><6ظ뚆 &8]b5%%ʃF[o篸?+z)Vkɰ^5XT%ey&oeubd@% pZI:Ri/ia}}:8:;ń룈٭ ˦=c)h<}71#?*/Q{0^w^ϑ؛8 p{ڤחW'~)qG'fM.bG4O,jP׌k;Q麤:?LY͹ngK}fذH8Tp 5*<- D-L J^9_re%.\csL{jf4H<@ 9U˕ Pi DWl…Og-rҟI8.9w*hR0NNNQn在|l_3SQ&FjQ7!,2n0 $ZajXmJُDXtNRP2i63WY/-g):o#bE&d .N <1Og`f{- IV=HizTl6{qsV td?e}@ g R= /dYmm՘ إ^mLR1@~wqMsCkOQf_OQrV`ted;i9>`}sS R;39TӰV6T M|=Ehwx {w>sv³Bd`sC,(1"q9.S*a{)7ںWtZ<㤖 3uK/U_۞6Z c/D:RWEyGAMjy:}#L0Gqz-jv6<@l W/L#.3U%Zs;צKI솁hGU YR6On. ~[8@}>+ق ͟ut#Xkkym)?=I1;?<ȴC@6vLyt8W>D'9f"zj^k9GJD$O!~u ?6oqȕbMjB 'C;|eU 1&PiMJPd m: O$9٢\~Y d! _ж|cP:T}Dڒ4C|-?qkmJ>16?Y=%s֗:Nuhכ95I2S{褮B.\4sU̷F2%C&H筨GQe#ne s^nem@xx {p~H欄wniT^|~-`Z_Oup H Gɞ΁\ >3J~HaxGNG̦ίz!l}D9іz`P8goO/̛vIW9o1=O}J? O;Mse|dÄ4>[/4`x?2XC>dHTѻ@Y \Jq))!r!{W<d3NMOYл= 2_"?GwIl}V}zӖTGK+ UCoݥT{ġY!kBz]SނND5|?ܨz9cYb\ 6BYJD0X~o>n~6>GYq[PMM ȶYsXߜOѺei|%IoGs 13'OS^,$yE-z ;;N.Q"c>/l/WO,3|!^ac&ⶸf.p_6cI (IgΉ5b&@ 6x,i:bccYBIY덢jyI9{*?ejȤ/O<ȕ?qJ Jƹ;* ƩtLy08 t͓qZy5 -%nj3Tt#ԹT4.>:ChE2WL l9o8V- EU>I%77%F)A7L1dLآ LQ['̝L< lRl7_@Ys"|,Pw,'$Iwb0Q<. ,5 pEb 4~?^{ <~=SebsB{oZ^KA.=UB!0mݓ3>_fpAe'^0(<|^%"X-kt~ Պ#fA'ymՄnm ZaiXfꕋx _yk]؍B)zIӃD(.5*aN]V%y &(;r/qcJ:dT <% տRw $lj6=/)`!=hcv1?jW'%4V(ۉGq"J7 O>( J]akR 1'x Mf^Sk=~DŽopPɨGbZ2jƮ9c"Q{u<=Kd(e0Jݴm}ʷ{.]@R^xSTiلp{뼿ܑcy2#x޹Ft>,Q8cS%aQ~BYʡ泥#= n1)_* ϟ?]7.oM\(oάnvCG: #ԩ~iJ{$3>^۟R06~lϠի?feq[.X2}pEpd!V[ِ vQ:9B,ۿFFYR]Q4M;3q7t|$n^&g̗WCF>KPRN _> W B:碩Cx5H]۳AlrK}(s?hRnC~)̉;~^e|QM%` w)g]ys~+e\9_~X?ŀE'0~bZC* f}ŊqWq|LAM z$5 H[F}} FMNWلu֏mԆ7;=Fi|WV-#I> mZAU0o$4Uh¿.A*J|-)*-2vlJFF͎n/]ip=1% -H({5`4TM3jW35Yl+V Xg܍GcCٸmWWW" 9gfeeE"O\V:@ul"VVE :S‡zzaOޒ)dȩC9& =~oHvzed >Y(B%⢢e1]ii3ޥ'h/͆`5^[Cs莟Ԓ1h0JOY";!pВ8],{pJ6ko9s7QyuF?hKUa/ѐd(A"Gj:$9w\)_#Z+9}[Z\ՕF{ }e=l#~$ lm CTїTwC f~Mp^elˏ 8NO0 q0*x{AȚF 2NYv{w!va~|:jh!-ٶ.HZ lǍFT!A`)0J/$ IF@;zX-ՀqbmJF*/ViY'/r\ Xx 9[X۹NpppًC 9l{[(4Swi8&9K48uʹC]񧃿(*6Cy_l08>eɪnZ6>MLc(KtɽR)IX;-O\I+N(A@>:u5ûB nx`ڭ+tcYDU0'#uG:0aܘ,ExFtYX+Gњ23ЯpSD@_P3h6`(^ #{˭g^؉k g4ec^wBrqȐLU-0N]8;6x}x@,lۯ 0 ;:֨c)S{]XB+J5L?NG=AnФGwHۻp! Ce/9+J} 4Nystn1f 0o7{XՈ#ڲ.;rHUŭ%:5h,P)i9Y5p UP_̓/T1a%7}su>YT0Y~/*|r#sspN8/5!Ee+GM䙺M!L``H4?g#bg$B?Z70 kΘFHb gi?&M͘bCPDJ>iNͷ=`L)Ѯ"Ei*,9(:tZ^!1bl7}k&Yťۧ"k1Pf \zRUT"gPK lY Aplt.iconset/UTxKgux PKlYu?V433Fplt.iconset/icon_256x256.pngUTvKgux PKlY:jm3plt.iconset/icon_512x512.pngUTwKgux PK lYqq`plt.iconset/icon_16x16@2x.pngUTuKgux PK lYx- (plt.iconset/icon_32x32@2x.pngUTwKgux PK lYOplt.iconset/icon_16x16.pngUTtKgux PKlY<Pplt.iconset/icon_512x512@2x.pngUTxKgux PKlY:jmwplt.iconset/icon_256x256@2x.pngUTwKgux PK lYqq plt.iconset/icon_32x32.pngUTuKgux PK lY9plt.iconset/icon_128x128.pngUTvKgux PKlYu?V433%(plt.iconset/icon_128x128@2x.pngUTvKgux PK -[survex-1.4.17/lib/icons/pres_ff.xpm0000644000175000017500000000066614567212227012674 /* XPM */ static char *pres_ff_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", " XXXXXXX XXXXXX", " XXXXXX XXXXX", " . XXXXX . XXXX", " .. XXXX .. XXX", " ... XXX ... XX", " .... XX .... X", " ..... X ..... ", " .... XX .... X", " ... XXX ... XX", " .. XXXX .. XXX", " . XXXXX . XXXX", " XXXXXX XXXXX", " XXXXXXX XXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/names.xpm0000644000175000017500000000064514567212227012350 /* XPM */ static char *names_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 2 1", " c #000000", ". c None", /* pixels */ "...............", "...............", "...............", "...... .......", "..... ......", "..... ......", "..... .. ......", ".... .. .....", ".... .....", "... ....", "... .... ....", ".. ...... ...", ".. ...... ...", "...............", "..............." }; survex-1.4.17/lib/icons/pres_go_back.xpm0000644000175000017500000000067314567212227013664 /* XPM */ static char *pres_go_back_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXX XXXXX", "XXXXXXXX XXXXX", "XXXXXXX . XXXXX", "XXXXXX .. XXXXX", "XXXXX ... XXXXX", "XXXX .... XXXXX", "XXX ..... XXXXX", "XXXX .... XXXXX", "XXXXX ... XXXXX", "XXXXXX .. XXXXX", "XXXXXXX . XXXXX", "XXXXXXXX XXXXX", "XXXXXXXXX XXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/png2iconsetzip0000755000175000017500000000103414567212227013414 #!/bin/sh set -e case $1 in -*) in=./$1 ;; *) in=$1 ;; esac case $2 in -*) out=./$2 ;; *) out=$2 ;; esac tmp=`echo "$out"|sed 's/\.zip$//'` rm -rf "$tmp" mkdir "$tmp" for r in 16 32 128 256 512 ; do convert "$in" -resize "${r}x${r}" "$tmp/icon_${r}x${r}.png" done for r in 16 128 256 ; do d=`expr $r + $r` ln "$tmp/icon_${d}x${d}.png" "$tmp/icon_${r}x${r}@2x.png" done for r in 32 512 ; do d=`expr $r + $r` convert "$in" -resize "${d}x${d}" "$tmp/icon_${r}x${r}@2x.png" ; \ done rm -f "$out" zip --move -r "$out" "$tmp" survex-1.4.17/lib/icons/solid_surface.xpm0000644000175000017500000000075114567212227014065 /* XPM */ static char *solid_surface_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 6 1", " c #000000", ". c #214F14", "X c #347D20", "o c #409B28", "O c #54C934", "+ c None", /* pixels */ "+++++++++++++++", "+++++++++++++++", "+++++++++++++++", "++++++ ++++++", "+++++ .X. +++ ", "++++ .OOO. . ", "+++ .OOOOOOOOo ", "++ .OOOOOOOOO. ", "+ .OOOOOOOOOo +", " .. .OOOOOOO. +", " . + .OOOOO. ++", " +++ .OOO. +++", "++++++ .X. ++++", "+++++++ +++++", "+++++++++++++++" }; survex-1.4.17/lib/icons/err.iconset.zip0000664000175000017500000074440014722727564013514 PK lY err.iconset/UT tKgtKgux PKlY gMNerr.iconset/icon_256x256.pngUT rKgrKgux }{P\A]eCpݓ!x4[p  [^LM5t{O{"U`)VZ  0p.?Pe#;KWSg Ã{SG gC2%4<dxkN$BrT=f,p~1E"NYႲs "TfaA4U(t(2ۭg-3ؒ-熦GS7F6F|2}~sa|e"|[ϩ0ILբ?mcZ}$θebʸj-I*͌W }^K7@&4WsOH#b1ضn`@F|Z*_cձ|u4B j>C Ghf4U)?Ay3}Z1f ͫԵX_68<,N$//cz=eWћMӔYAuzkn+('_]T )Gd 8 &mJGKrr2 >exd@!xz0u/[a ,. R误?4ڠbtշ9kcZ:|=Xqok-yh_\&:?|+`~9#Ǵ++MSWtK\g7Z aQp~""B9ڹI0`z|D_a$U?9-m2!q0S::N% B1]ͧ3?QPfo!ɦBXu}N7<ÿQV4Ůlr<9|jb-; o(PW1]E/]iۘe xPaBlhp~:d,rg Ǥ!|vHMhe"(mkUD}ݾD)#:.h#S^ yo22ROGҁT2Eo_qPo^7qp<Sފ!Vf)_ZJ_sM&QkߛM0QB}7]҅ lgF؝/z ~䡡:.?~hh.ۭh\Q:ELjʏ;wp৻J\.i PiZ/y^ t.կC__)/x1I_cmO}@ei2',7f:tNfORAApJrcj ,^uZZy򨀒\]cFH  Wp{㭳{,ÿW&$0S`țxl'aIX<)tD#)0ąC$,) wWGݑ9Un!?PwsaF)gHv 3#ߺP ! 6{9Нo 1sϧ5a܎)D:+LPkмg8_d.<*;8O+4ٝM߻ W+ZecpXn{ʑ)JrG_ǚ+* Fd5N>4!o}##aÖ2jӔX BT4BPm6ᶇ^Uk.ѫ3xzZ˟wn*E|%~dj Ӽ!)^( AHRخC|dRdO.O_AUæi9gc@,?:q8hHk K@3: /z:cy>_2ZxKՊ5M}M1;&w&)?0rb8qKiF$Azl>rϻ'X** e1H9Zzfqzgɱ] >lٸN 5eg.oǥR[~?E偂&i kQ(RCcj]Wu?;s)Aɞm"uU3'gп;A!HkHi:Vڝ:-c9?n ēg@wPurcUIUH] 1v]CvC'c=!2DWS዇BԊJBRT_ss@.YSdDiGPGW)b{}9s@Rx+=7 ֿo!ɉ翉'C*QWh?Bv"4(9?zy)flו@ǧd;0R钿nbrcczg$:r)tҠJ:5:6zJm{/{[ HvVx\! ITҏx= 3Uč^~lHR86$=_#idU(X,oa'$tK9Q1BzUA·g[X\TpNx!_ LyLH熌6O ̫@q[>.:{ "?Lwxrt\B{HnIsU2V69˗K3h?kkގyLnT`z QCV'q^ #A'opGNB,aI]y(jy7{yl9d #|YwQ=I|_ b:cc \Zr*2}jο8ë]ISLLK;D8aNꏃl~/Ug/C`$ W^.>}ot&ӳsh*lBXmȡ=lu$y;H*a)*FՔmTSw?(@Wk򖰵߳(hvg*1e#=r\m 8y@ۉj4Ղ %iGo~Y-O-#"c7a6؃QZ/84*Sܝ6z)K,ld-.8G9/3GZ$ԢnZʗCⲍ%08f)!HYmi7>x`5Cȱ#:#+g'3t#[BLz, d߭gFVV}iy:J4k޶ϦF`Zp1M(@C$Re.oT@kax;ҿkCV6%:PVBvMRȞ(Ég䤜:o5*h󻻤RP)T^M]C4RL$P+3YAG0Q ,R9spuodd@#errHz2-6eK;)BŮΣ$<|rOwṕ ?|+X7;yNwO-老U.+sт\IOݤl*? 4]|hxk)&gn޻e0]Zoʮ@'zKU:,t5>ZgpRe@(VmqHG-8Mzy 2Iq@򃨺%9ᎊ"O?5_,E{)zu9{"7MDϗ CCՊȣA7iVnPi_-^) h0`PPryIHGv5p,˂.p+fgZ5fnNv0*tQ>\ 4$3_ֻlDeF-hѿᢧК7xaօO9]>2TuvvYz::z\R"f%FiFY/m‰v.}_FJjbW,9c\ .E4@ VCuB gBtjh?"Uw[1Y֠}i3f?63!T^v6pu]5%J@GO?˵fO4s-Jصz;]fqLx,gΰ޸1jjktyb i &m_[ ;Ѻq 6pwpQ]m_K<Ѝ#2i'I윭^lC &-Ć 7Rr;°ig-U-_q~bWNρxCf:5PZHXöhҖR gח-hbMncP/KK&&c{pwQK`#$-*iu亜& :ʳ[W]7UJݧus>eZ䰎A*.!3ٓ+(M&iBX9߿#NRA),,<:\h8#j` Π]^Izb+>{|ss6 ?Rf9y =6T@+ڒ7?Է%B(2G}Pr;n=n(JD`\SP 5\QmNŖ5-R wWJ`RޘD-dX[ u}7nӰw.jgt\!n+߲iHC%t>rؒ~;xO=Tv"pBbbW(|v3i#L_eV2<`c\&<4ܸlm0H a:IxT~>-br?JT#سP9ÜS(z|$/hpə@4Li3as>]C J՚iXr-::XKd#ohlǣ5ڇӻ{h#" *3jCZZNlJ;'Ԕ͡[.[9C%@P"r­n+`N5# RLaPS˓]ݟ-SQ\=|8*ɦרqn^pT G;}<* %XahW:"q,x=7pJHH<(s3rafL{-n]G Sx7\)ŀ량 yӔކhQ!a#ݞCgLk;gaʅ];ܦWJsJ/Qc #PA/0}WSXм<j@'qacGE!N` u%"In.,G*0Ř͸qO?s<-&џ# `6AG e n" "lMm;|9B) ?Y|qCTQfmmm˅nmbZkk^c \oe8`4d$c b@\NhJXwڑRwV CMER AnS\BvKͤL*j;'Zabw?k.ڨQQQS_5[XHUQ1h=5+jo&C?whN}fH-``?3(C3 *X0# %5|VNjm[cCVQ[.N |%<,2^{ҰQ'igg$F߸5{O&}8,\T^$}/٣H`Rm@|WKR,j437M 4g+|eF}?Tn3s+#hrtԓ5bGҴuHY~`L'N+'͑=m)g)@u81}18~L"Vb&d!""4J:e8{Hpòbz["ö*A(wܘ $E5Vn8G7f/ϫEDfw*[E(!ʬ̿H5h'EJ-RWSJ(cWX4[wtq{|uWL@#e2*k'iDg]sٓ HZvńXI>T ˍ{'Tc58>Ǥw?RPMH.9,5 J%]ayhH`*HyƆt_:uϺ"8&T}c(T6ho$ b I==2!}*4D AnT@xciOd3%);GXǫ]w35@wj]ޚAJoԂlz4?Ȑ.O?6ir+ls´+a8}eA!bP7rSml:d_c_M,%/?-}Y>b25g7dr͛`لLBZZ{H}r拇APUޜ'O[Ɠ #=+dkF|0,T_bGPBG2Q!<޼,_jL]?88'T\$ \-/[*3&Gbhb 2 gt8rzsOghwY7! H_rY|?dY*<Ī3UvjFV *Fξu5B}ň/?a߹{>mk-)IJ 6j P0M_ߍx|cK-a-3 K+;O!c3a F&幥.^>P/yW?NsT1_/eڜEMI9ev4o (/luaRY@qzV!vEߚ ?F !_Ve5vP\P=-??\-Lg*tHtYU]xmc˖|W9T/]$'*_*/I{bu;BD}.  ZntfƷ;oN-3Etneee>kI" iAڜEZEBEGw7~Qu/fI~RR{"!f@CQkõ5'BsZJuY~FY64bxT~<-l֮eysP2z.tT}ˍeGfe: xN@S A|qt}Y ( zOպ8{)_  jb (v''i BR^E^PUK4(KN P6~~aQ}W)|-=)iU^NXp'2?M h8#n_E xmZ^*wB?;jP S;ePĀept ߾Qqm^ \|mbwΣ*zq@C1ǷG0`2]f4hiEfGXq/#g ?\hwxaQ֍R#Tn=WoLh(.FE7y@дwM/IkE̎&cf&NYº̙|b^RMLO|\KtD.skm80ɀ0wa =$\&77S臿F)U;Ғ yaKٙjves׎vÉ΄4Jt>v0/oOޜoË?ZY8Gƺ^΃CB8@ r+ nsk OUקO\RX3ET*Y:&Id?83ਜ਼\X2a]Caod4FWpU 86I &'g9mo߾m_1Z<*?0_O.wbG 9.AӗV͹:U >zmZ"E4/6i Qѩ`D{lT*qk ȅ\6ғI_P &>AtL&\Mg|Ot5?Ũs8q+3 <3Gd)l M0ʄJ($ktD,6WmOmlF5]f"'c4mcPŌMtxH~Al1wQ\L31/mh{:^gUrr/;Pqft##G*j1鄅񙔥W N6U[a<#Uj:܌d@G,7/wE ZJ=mΊA@,r@܎wRuJeFUކG^zl+rrvN/NӐ49*S8/֙Ġs4wSZ?Z/O޼೛u6 {"]Q2V"+(ZMsw7?<&Md5u!`BAYaxm tK夾CmĹCJ.:Of4~Rθ?'˟z (..&X>( ׎äb)~;QU& JmG<]@FsŽCƄ@VS3ZYS3W'G^Ii&^|ۍyDIi屫F {?OU:iGS57ST@PLvDN|KLX=o CȨJ!a(~5ЂDt@ Clm:-~:ZM0V)|!T1I$HNJj~`@w>ܨ;#!2>] &=.@j Ǜ L>0(aVl/8Q+_ķ|uB LS wՒ.}nӺڏ|v`yӫEH +!1u)2CPѲyw'*y%ZTC1t ?$ҴL1N!XO-[sDF,԰}YqeǷDIÛe`Ѕ?ώ9&\l, {_;,ߴ=54n͌ZI{ec^ȹ^V>z2#//hv{] 6} \޻,myx1} B<)2󏖞CY5*,j׏T~ޛeY(-`|?3N70K g>|Dp<..%|jqų@A3z󇕎`^)?Q=o j6cMtX T |4>fђB*0Vi\|{rE:q8:?u詯vWT7/ :ۂ6rFpBRhPu؈hu}я@;SYNE#[>!}ij;:%2i:}AA{UÅ#3hitwdbL Y \1ÝDoԣ v?0a` C?{#.wxZ1=5Um?^5kOZ vC}Xw)3𓟝}ˆ ^Jܝ2AGf0[;ld0ip &4r匏}`s~\ȰvozѼ'k>멽FNP%&& '|_OaoÅwdMnKQ]x7Dv JӿƍrM{/ Zw RI:U<'}o} su|gϖ*aⱆ0]77wD| BoN)hg2"~,3/ImV[s.`X)E^~:^}5=.]`慪 '_tY6WLcYl)-|C%mMRNN.U<@, )/v|Ae0s},Gl;0CJvR8$5]<?逬?9ؠr8MACۓ;5'Ÿi޻*YixӉ$LF3vЇnZ ]O< PSa9LF!qst&B"n$tCQKcЛg6%!7&A./O}TZSy!j7lnQco]MQW͵_{ܙ b܈#~leQM|cx3U!sJ S #ӓCp1SB]RpԚ|l ZΪgw/~"ġ+%Z.;̙$ESGsB kp;fj0١|p4^uB6gQIb%(h5yE"soe^6-Ԇ /~>K}ecP 1ۚE#I=MOw^gl8"MXl1LxW߈-z\a e@4%ݧJ0Hf0 ^ ]qa| &^ ~|"fV+<0H8yb/gu?p"Gp[@2* m|bG3qqrv$eRڟ_s5ES0 N"_Dz! .AgƔ FfR@))˦lf4:]ԟɇic{q[c=@&>kWXVUX4ajɰeUf5c#"Pk1Z8&m270gQHyEW8y<c~>9&4Xk;"l9X177_6?GޜIԍ>KZii4<zQM9I40Hߟ["2 Aps%xJGHOh#*<{`:vUTͬU9`γ:";_ǞM*t '͑Jo腱 ζI }وH&>+OX#ռܟ z Hw=ZjyeGZĂ)2`9@;=D$CDgPA0vvSB#&Ym؀v!}R2|ٯlz;43W=0`sƍ}Af/ݔ[ ":Q=^zOR`c&}DIU}nGbBҞI֝0QT}j;$>PUСyf lktԲ4QW]6Qq L/MW\G id{nPژU«h5xp{GEI H=E´mAt""f,k)Vo"ܢN*a(tA{ُy%#V$@B}ΞSȖHzaBq[5B@5(  J8~ldPTҟ;-*o`ĮUI6hBI0l )v?ڊ_}[g4amp*3, d(ɩ>2Djat!6΃$ m^pM*Oڇsx TuaHŒӻJ _2m %"0-M{7di; 0gdQx$s7ڣɫ^R2]qN[ R>vO؝cMsp7)=έF'l|/XMQ aȟ$}O~wW۴d~gf_8dH)/F":z J!ys L}aycuyTZc5|V(/ᩒ n$3uQMwaNҾOtu&LKY`\l (L|IŒq}(ۅ} 8[00.ZI*#b8},KdoA_ll_~Nb 4߿0"fjKe ]۞nBF9퉓H'!`%W#;Mu!=Uo )HDQk4*Qs߻CqykIцS8JT~ fe9i1ٲkO)Ubv^L8_ xw)"tY`ռ48[L$iQʌ?ZIGkדgɮ 6 4x淑 .h_aJ$dY.xP.Y\ 4 $CN)aj bQHw0 I< /F' BZNlao<5>haQo]#lD D +Y1~ڏc/#8OѹwKfW}v_vqUWXQ[kw[W21tsp #D iぬ؂Ou\v.+!ǣ=P@SA( 72 (\giI6 Do,Ad$MPKlYWerr.iconset/icon_512x512.pngUT sKgrKgux 4}XT.tw7H#ݍ(H7HJ7Kwt#tt".[ٙy93HuU94dbd / ^C.=?!9뺀@B#j9Zz8[<<?+CF w4˘GCsL^<*J?jhiLbGeID;PZ]]M@i?G"41m[akh!bȇ9Y̌,,]o/#;- ۾94^YDv#) \-њGMڬ}(8_^r3 hITjoooϨuS\͑szǀWW@ƃ?řB #mB 2\p fpfrT`G|g$!`AuMBnV=u==f}q*cXRg9p7;!C0b4@֜=jZɠY޾8vԏ1*d礍 'BVR_)#.S@vЇuo3^CiUC Bzw4#A݇倗@,J4p^ќX\nD0$ 5lŽ!yzbx,Rx ev߻>qUy_r3w -'ݏ`T- qkb`3G =R&M`j50\a4ÅĄ##Ø ,!@B%˹d f445Ƶ[n%rssKA*w~#yUX}'г^Xr#oe:_%WU :m@~LđIS'{#:b&F8%=~mlZvot:* \gɁ/'/ϑ-G횠UT s>@0,S]G{hɹ9Jݎz*k^IX˳)MZ~:AB3d}hh_!]sʓC*bjC^c;X(: i5ӊ?~`-*2m6ne7 PX)ODEs\E~7X?\O `cQTwJcO*>- /?qGN1*dT&g5 sw1㎵'N<jfJ&}< _UDR( dMBn|o<"b{pìqO,Q+#PA qfyp4*([SIJL]zUJSi)>*؈oӴCZB`Md9.8Qգz CLdjA`b7-L wͿ 42QrF\kڌC Z,͉œ5\&m1\ ],A NbV+ (7R l5P_bH_&)Mx%0hFZOLAcG}c2fS.d`&Û R}Х )߈7,x Q[m)MrPX%`qăr=pE"_U|Q;"`ˌԥ}L+TX[v?tׇs_4+~|84< *o_S 햇?b'ˬ^lNG1 {<}qwɭP}"suRa//&m./,+C]jv!|6ADсD/h@#W#RH;ݻv.o1>*N h].+DFP zJ҅ q4>^,JԀO31 $T7{׭2fm5> Ʊ J4jW3%fz5SZY2LXE;cF35?[>ZRkq l˿9B9ꄕrªWfu1KMx| )Sֱ-az.$im!MY[tGW&V6yJE1R( ɟ#GF"cf0_ LyS3- N>"'5eȍâɻ9ZhF ʌ {@:,8?>|%O`Twӻ1&> ?gʻ1r=AW⃼渴bcݙ |((Q֍ F?b oL0yz >mpN6l^9:UPqC"غD5B5+b7I*U?NM|\-U^G$v U1Uz3:ۀ[Nڭg ỹbP$ӝG%Fn\%8_h.M1 GE= |Y;KGqj6&*WD:c19c$ Sn-)/XWءEp #CSo$%}bbF+! Nܽ:x!5 )??Uɰ6${) ,8v75OqQ>x3/~[ DnuBPhrnr8Kuci7tcyȍGAʇWOyĵJ2ϜÎT/#4a?%]uK- ,De:nqGRL9l!>xR HPLHDŽi OxL7-QdNpq^fge]F“Ts{s#҃oэ#ЇlM>%vM_՛Q~Há@q(_}ͤ`cPcr|8&'0kxcQ+tϮ﫧 ӚiC+ڲ 7_~Z 类v xN1DydRyѽѽJY? Yl2us,r.;]@ꛀz7l*E}ap H`+RZ3JF#(JmBy$4 4IQ>$/,7zK{d8)jOਃ*ޖF#R^KirZv4&t|!E fI[VI:'h D 4rztCL\}Y"Eyۊa&sA@X-6JN v6Ifb᥊KflwM2*Xș[d# vWٕ/y\M{q&AV,}nZģ[q,a8HߙJ0J\5bӎʿחbj_l*sՖ W&(%`lBThPT,3?yUO%Gw}7'\F'ǣܢci>9$Ft%S"1y1~M>jdF ڞKyGk9ҧjvL&λJJ@5P@FF IU^MO#.GbDǍ$YqP%y탪̓- e b5a9%c/]QeeyAK 3!٣s85'jWkK C䒵iXDDkbhp@3MdB%:T\ШmˏSt"|88_wq-4qroiME%z pB]`ýa~[&tzVZ/s0q;zjњ BCmfF.\-'HGV; % .4tuH`AC ѩ? ˼j`u:.MB<:^AmK-;vٚIc7?l2༄:*B6QqE4%P) H!v dVځozZ4gf{?xa38hǶE~Ku"Iˋ0h\&6\@|S*j]xo,G. J0ޭ&VuNǴL '++fLTPoi|0%UWZ +شyjϰùHׁؚƗOdmSR96$+lGp($lW?6))*,K J^-9j _&c_I[ja1kuK|}>8d-A%{I .*jZqSq|f߀d أ EV2~YU|FDE5.g:3=Yg; DݎT32Ae>U Slٻc̤[qAvXf(ܴ+L\Mە=Up0DAz!!1{h9C 鷙"+ &Ijȅ{ 7^9%7!0=*BjKGmxLw;BHX|hP笞ъXGiLFIɱM81<mfk LUbLBTzZ@[gĎ<#bsiN9Ǵ9~:-z-SwREU\bꥏPP> uRqRE$ eVXȡ-)H#St*;]h(_.51wK }"7*\[;Fe54)+Iv$uilavi:/|iMnI<0HSƆ !8zgG' * 0G$%ؾk?4H#$sLJف&Io]tVP J`L1(s4(/O"Uv`PwWT&wհ@HxU%0uy:ڲ4+JzAu˓ X>־w8 |c'GdXk]rS߰,,.4 t#lT]NVYm)r뻨Hù6:w?0 7ii?+U־ +P-&t4M^]tq5%<ZUsRXWuՌQ|X4m(wRBĆUztՑ-rR;(NCΩ\a',6VO3^n2/:0 ȼr,h8>5t5̊aN/Lff7ꐚ\=&T+I"LXU;$+0EI{Ps$UVA;nƧ;1қ-`l0':9c  ~] 5nӟ|pzaNCs ^Ԋ{^b^{S6Gi=M"m/jAx{!/-iE~پ& ROKkY|w^o3bw M@ERD@b$?G,Hv\jˣezVmǣ"A4118\a@A_0`>2d `tFsInkC~^G_s@?C2barvrv}OQ' s.`Wïz&utuhbт-GP$v(t~1mJZOa6(.S"&gml|Z|5D܊|jT)ܱ%B+>'ms^6pX3PTȝ}PGr+qх2zvΗTҹ}Yhj {Êk$E>c,ӠN)q\;@ VOC.[+Owth#8B7r @w 1l-9:h&k3?V2F"^~cYA THs\<8jJA}1Ԍ%Z7ewսEo9f8N32~׋囱_Ica%4 _ALހ"d o)#p-666wvuw0`{vB%$`!T⦌7BGiBiJL` 鮵FwfߔEX/u3{E4%*ş&z渆aS~tC4 bPإ$;d0$Q-vidAV8hsb="mo(-ž+vM]ӛt~k }z7YI3#+KGL4u5̼UĆMbķ6Fó =?F h@G5p1 0wOy_23!K\)Na*6z=eF$tiIF1PP1=I&!KxK$WiF"/E֓hJJ՜_ob@ up ? PEYu+ (pɒanB%Ɓx |r?ੴq[P&G]_E~bFwI۲1;xQ7+KP!2+n(:Y89"I!\|wh8/Lp0r9w-#jo' @QWm2oo"|X~V!WMXfDNB=^.)ģ>,;QJ0$!eQzP3[e4l#%ª%~Lu':=d^1DasBѾ@Ne܆tJjB0.(׫S2ƓYXXt]cswi{2?$*** Lz䃑WoXA0 DiL8B6"jO9 )-W)}l *Ϣ1 [ vZDt/˞]ѹAxm('26 ^X&FN;%q8M %tǮAB%G1k&O8.3pT4tŠ߹Dž7u!&J!{(+@_nDo60b#?dڛ{nBޅ:#+R0܉d"qi0[gGz3R)əg(߉q=-:kS l9j%h<)sT) z{8ψ۬ץ/ۆIզۂT ̖ I)mE~? HѓP0nBH$Dj9=&`qݝ+s]λMD7A%njwYV=RS.UwC6$H~z.""Hr)[Ĭx۱mԺ f[ 6;Z{J$x*3V^y 7AeLs@RoxjJ?rJ5'sJ7PsAŸޖZtgvZ)ĎogAl*3Ƕj,Fyjy6܉)%Br:U%Ye^\p?9젔bdyZ]OIjL870ӓ>$@]!4ΞI~R'"2<C|#WLyE)It4'YnO׹\}']A" @ OI1!`% }nGqыﮈ^f}iEX!0Ur8C #7V2q~?;JʺGFJوTI̝̘Xf1KӜEDgeM^ϖBU֪^Jd~/alɅoKf  ʪ =x t =h0ͪ-Qŵr>$~âDWJͷ[m [ VG x,w}`>2: 7lnh˰G}CЯ^|ǚMR\n\>w2mnt˜r"BDiͲ"W!g:Q*/pt˱DdwF'2"#>BDg} AWmHmw)]f7ZZ9Hx i/0 H"G\q@afi+ۈe,w%q<&KEg{XA镅r>2j=t_ -w()#Tq] #}TgUjj![#q/(tC"Ps G\LvYvNGy.mNmbP ,;K+=~4Ug*DyCO)Uo}7 dIZ Gf: h83)0yɮdaSi(JTОT.&CMmA82w3|["XРT,I$L˃Xrw::LDcZZ_0y4нpW d3vW0eg~`3#\ J+M $Aݞx-9׮L/( hF18كDfgk V12wR4VYx_.T04gP>$L=M(N ݵ 3Y_/Q7n^%àc+Ɠ^+"`O,Dg*ϰ(7$QzF9^RK+f}<,""Mbt,Hgđ;͋M#?EI`"J@$ "\sP8|11TcH+v( 8aM,sFr"J8vg-XoDޟ]4@m{2\ EY ahEgTZU2Ƈ/p=%`ŧp|́C)DyEK+3²VFkB1і'yd1fksQ]@Z6A:8_< )o2)uu;A6 \Dop({OiDm@y'{vY'҉ L g]H-B#7n8Ƌxm~?2$M*cHAyi|Knӱdt[:z`ǟ~Du\`j/";^POvpݳoH "Hf"=H3=C}<+ZP%bv9syS k-Z;Z<9 +kdʼn|x,UBeYDŤX}>$47\iUEB31PqT6+vfYèc|@dd8',U}wDAkeL(Iyw{T L.m+0,S-%k6"\뙣xdb ctNLb]%.2`Ax$dfi Sߜw.F C]}i#gRSICuVäF+K+f$sbi2!G[bK߳ YXWU t?FHNVukg[Mɡ߃ep0|M4S=_ۭFeYWoZׅ/ĴާXB 0LZ\5k re1MDr⻨:>ϟ~~¼śJ*i2 &7녈鍑>-0.ۏ#l!ҟ? zy5ZM)|l nY:Z5>э;55pPP43nMm*ҙb2(S04?i}k$H3PP@r?Y>?{ <ͬ*,H_~pNQ~f$%=i9qJ7{/]KR#= k}5dckW_5bHPßV{nPٿ\hp5!&:ATpPkXJOĠ_Țh泬7HrcꙘ_Ç!z '. {o65}S$hp4zJ\hN=hu7eE1 [7'H 9EՋ bĭr-mz1dk8լ7 o64/ΤBxzJXpRgH5'BuMMSk>l*>޼p]E)UɣA:DcQ? p L|j mQG@=U?FVWEo߫n?KK_7a<|su.@N&y *+psE8MnLm?If>HMIP?'Tdڀ^d"RòUpįp#Z@k֛mv+]*ѩD{MC/v&޷/NYh3( $$#b~rI9t i;)ZYv`;QHRj=&<dֲÛ%]Jm!FD$5EL3FbWֺz"yt+'A>_[kh2y)mC4pvc̃J##d  DnGɦ1m `E~ʐ 3Y}BxaoDXD2=ś]ax銆v?/z(UUL=,: |qdcCkEIP :*=cg-REԩ&sht*H[}?ӡilG"mmmA׈XȜt9pvB}|˱Vv ˢ/]_!R S$*q#t;_ $5NYą~+Ž=;_H! ̬o,F"yh[ƃثO7,v/j}!H8ɾ+{[nC.}~MN~+Gg>Hk7lLii\ӿfq \7Vq[-)Z ܌fL~0邋!§K^Q{pGJI;8L#4D NoK{$|R1FXtFө4Y&\틱!*|ܮvg=<<"Z .o\*`U[CԠlw uLQ`!qd ߵp1Do9,pp8:BdIvSz^P~y !!Yq5vf}`+6l (ahEquoM~k{dX-(Z;Ms:ǬU~yxUf27!`P!{*)|[N5̋L2e9u!.UW$bcR%#b1d9I~I$"zӽ5O,Ի ٬NGY?zXYN>WiYzڍ!sDuf憔:y?nH3HNS|]ͯu1]Ch9MwY¼jzլҊv#OoΪ~Kp1h#YHvs0,Qq:,aD$ W"3]9"MߎNDVrjR[5'vxbo\Ȏt!leԱ2VK:KjJ]Ϥ al53~b-ܜBN(}ܳ-u&<& u"lO WqQ)3S8{HcGhI 1߈g4CLp./[_?8-=y4]ihhpicrqB H@Cԏ\ɹ-vo%xۮ?>L9E aĞ̥gaܸf˶r2y)A_2222sM{/ CQ9p/[(9l\nyCC&eddRtp^*V0-J\1?:wj4 CRi;`s?J)] EmĺPVׄ9򐐁hȭ*R6`h!o!7Cͫ ܋,pZKL_fЫ#;;3|j ـ_oXBI!t_5=m `[N^1G}fe򽈭j;ޟso1}$P_xLH.?Y>y>?m%W1x  s]5 8켵Ԑ3X-uQ 2_JF5Jq2(%Ng 30k&\ Nnjw fďгӮ$wWl턞Xfl3W_y] \OH6S9+mp8,O/T~TN%M퍪YOrk+Sx*!sm$c4VC IȂZ.Fkb/w{j4N/'S^:^ӌNf\0@$4K3<>hb=t/+:gy,{5mg(>|((.db֧ uk{lrQpQ'Fۭ+)RRww[6%U+V|%|?.a+l&͋CN};$U({|DWYZݢۄ( P ./ U*B׻?z2Ȑc3Y\}zܠ!ۜ4of7ӜxPۢk=8' zR[ =^s} Պ̞YI| xqz:ضY>W%({23[c#(#ӧ&$NHO>l~8-zxAv8tƿuuu$! [cƘ1^m7c H*\טg8l#~h04K$iN %8ôm2W@Wu5GW_23ͻRuԩ+*;jscuX"x S&ze'>ZeLPr&_Ϛp=^x[2dr0`ͣ%#U 4Nkq'2'Wr'9VWQb1}a ӌl%F%ɚӬfr-v筭y[/55,9^ 'o])طsБGt[_8%N5Mz%t%6M%އu׃3O^O#kK|3.e .Л~9 q$-U;qibpΞIpQ*18~ޓe0(ԜosMGg9Z9 G#NF;LZׂ؏ '7B^;ܣ.m&q1>ِ95Iuv</+R 5a'D]x~xr ;vJiYa]O%3f *5uu$Aogv8Vdl_kf`󞰚;3ok_?29bƌ/Zj~/+P;R-݉jb$C)Ѡ0'X%tڼy0(T*,> )h--,A-I#nV(GۍC;؉R[qBP`LgV=m ~0nKk_knOfÃ/39ᾳn~$X0q*)HC~<t"NZn"^MUt~7^FASϗ D\p_~].#AoJkzGxڅb0\nHVdΫ[Ը5Z(h8%R*fT4}zepXPzrV{!/(=?߶8HqOAXJ9ќa(&di'.UoAuV&U21A-mY:> .QcO 8u,Hϝl?=Y~A]I(-Dz" ތx<b [yhn~Q[/sfylXQQ7{-N߹K`-. ٵ~7Wz X>IǕeG꾎+,OZg>6z`c %~}{+(**:Ӽk?#}a!dL }P®,P]9fNdk4eFmz@+vB_S/'FD|x^m /.FH5(xV@=GZ5IH3m.wcIOt~ӸoUTWH0u}60n}ГKv.unǎLXB B'@q|kw+~U],ic笃GS5mVqc ßC/#p~>\m犔r˲/ʂ!ƣڿXp-z )C0jP/6'f~jXi_J/RaF/s:^rw}8ׇեC!Fn7+~''iLH'uuZ_(tGej$^lۿ fB d(s@j@0)G b =/bvg|o,0ʋָa_Qҹ"gs ӀbO\h۫9g^`ܿmSF^rKVA w>&%szOزҺ׾0Xm'".-`%-z3;J3/XI_5*O@,HelӅn/vJTeI˘Ua5!ٿS6|,v41};'3Lx\\c^#!8hD.gE*uU%;W\zÈ.v_# {u}W?IrLT#˺Ysӣ"zJؘ s|Ҵ7^_4,"zU֚N_-Fxy24 3y_4Lz:vāĊ|UeF_2 8>ѫNH̽-Pw[^ taLYZ6ٶH@\p b-oպv8j$c٫dc/Tf)O7YBMwgy籃ɧ#v-Dl;2*zl 6iVsmoK.(UE-"m2VegOp[4m;&R^xk)O~o:l3"|g%[eq*w(c{#Df'^\Z}TX|pӫjnm#52F0lbq3CH[}c0i(!Z\ fZ䱭aW_Ww$t(}S5qP&4ſL?A <_g{:/r&\$~=^MtObB7eytׅe$ͷ]+D$e6pOMN -q9">W/Dxc*kOzVr0pҲZysaF2"2t{$7FeVDZM>xnx_%-EByȵ RϗlH"oadEFK9l^)i.(Ra]bk޷'Ϟ>kKÇPjg0AmOW|ԬSg?nH-;=Îw [z1᧴Pʕ]BP+$zrtbCQABm-U%Ϲ/6kŨq&J`B+ t}$썈TBh"Ŧ:!xc_ٴ7NOT+X#H+F[wUN$"U}6%\?K vW泣fWUSEB]@Kxv/pֳ6'`;c1\o`J*vROjQyPB]g"8 i6wA=o> }hT uil/f}%f{*՘W$3GIa=3ԡ0>{=cQWJ6v$fTrk 53ooGYwGoGDr| eZ ѕWz^v5ϢۍhɛZ6E8&}lja oNvQ3e g?b ޗrzg4,&|V IJ,4SgSl`\0D%}"oJ뼸vl} D~҄J!Jj{F&3sxh)eci-8Լ.NDNlZʝH%8A|ؐ3JDhDZ,`6fJ&&SHەR d13:l ;44Իhg3/#}E%ŨSCSGY, O."tDUvT dSMW{{Si__rx0<-`8 w!| [c9./F Ehe1qcyU!烿JfI>M#""zTs?^f6ސ}Suq c{&PU':]/{퐵E)deeMT[( ~}im49s:$TB2t(z4d*3:]E:Ink8S-4b ҙ BVZ.0eYv{*nn|/& ?ή:vױ }7RBf]jp]_  *#8O 3[~_n?Ro\F8m{o=9&'F}]γ.}MÞerVˆ(aai1K4L=0DծTy=[Z.\4G^.s`b ێj$o\Dv{&lEZ {~|E=2!xS)m1-,,JYnmWW)c@i-zoҞE* Ӗ yUU#5SJ钷V,R{3KnY/vgԯ}TĿ/@l)VlF1~yy;ӿx5>2:PRPqbz^ZWMvy}t(R92ť*~۷os==s=O).wCCn(-/;9BQ Jn"٥H(Aw[M 4S)^[CHfR 10{s]/5o5p{wQ(x:Sqp L^ uȷ5չ74|diR ;dC /8r$ w DX~-}o>\$d#H#Կ. ~[-PlpNrmԜ{ZU-F:*5}c@%?-H|| Fk܇f?[a TYmH|/ظ U\GL=ݼy_@Qj`|}i%BO޼n4tNJy~\Xkl~,\ܐ| ՃۼiA#-'BlT.6Fg h~GO.tl2 L;}Nֺ.G /0Weg)%@CAu޼ǝkԜ5x08:ԉdF"t< ? d,CZml`g8~calh෯5( VR.F d ZԚގOڟizKr)|="rL==z\2+z(LD0@g8hF<:] Hm>7q>cU--}_ŝ8*] ۮɤ %z?(#) gꊿzk(C ,Sf[<*<>"=ٳ;OF0BG̤S'JF-)yngʯidbB}Eё_1A3e8Drk"L(T--''疃!%15t4iӳ2t_n|qdܭ0u +}X8e/W7n;4Ņ3-1RUhIAAawӿ@PL"|C00 ec'얚.&zʳf*Pnݿqfg~>ssWfCEjNt hS3H>pS )Ti'wP DŽ< ~JUcN1*qx㩙`+a\sSsFLDE-֫Y. ,,X)T5[0߬?@@Y1egd(0vtrሑܙ)c!㿴̆'+;Zx'Jpp&͈rE;[&SdTPwS9D"3RSÿ} HIcЈ$ eJc3~UoĦϵc Q`$Nͤ2{J&xe$?J=$1ŠD%e$nðI@3_ YC Q^9Ol@ zŻr}:UYꌫMEk8:04$ Wҗ/o =OA/ gPIZPΥv+L*E: y ֠VZPQN)L[@b*[.LZГD6;w\-D+Wx+Gt uK"WWm PcmZGs2.\vEu 1TCGZ}=kJ^|X{a=S'ʉi"ɑthpDD>[z;{Z^:ZP7 ]- qu& c q\cAmĞ\ŝV!j./[]):fDӊLPSP8nN̺BgZ 7h(@wy?,ꯎm.v`p,K䂰3+j{o;k?0kVqتj$!$>Upk $PR4.w4fFnK7%=?Xit@vF VCYEDqm wӎDfqIcQ8otr6*|orٙ*p[ aZs~%G'`3v.D!m׻w9JGO0utg_[}І Tu=זgOK{:j9648=8#3'^:!4zȦ0wn_jaⰀF<*Ri/\Ux< ea?b?ܮ33yz\+//>)9 `ήbL.[5KtiW5Fh Cx/wV^_߀Om﯇ {Y1r}ytaѭ[* 8WO7h8 #i?KcnŞ:]=}meALn:5a2գX4է.WCL7*eHd /TH[*Cx+|<$+?SoPB [ͤPtFiTS%|\z*|q^-ʍH#qhЫ٢B8A@4V{kUrT00J Cg5 n79SʅT /B #xN GdZa!> 9 !l8_^]Y;^e#x#dnnnnϷ|SnbE6 #qBptɹ>N;>@f;r/؞9EH+FO#,cLONMxYPY DgmnU9(yz/ yKID F+3NX B2?=5bsuRlv֤ޯ3jP'zqKl6D[P~8Y@a^ʠ#z> ;Ed<(XW )J ^uͭ+/=h4#@ v+Y< y(f m1J`{ylyrl\4.5kjvnN d?vfRx=.~pL3G(Ug4D5Q{J**/14͎tX՛^G3u,c% Yl܋Lb:t?%l^C/"k=zR:[;W8QoU5Đ@!xJEȋ"mܝm]ch {dvvvii('a%Am|fQ`𞓲VIp(G|Oܜvc%<9Ч ^NGLƼF-2&ܛ\KvENM̱ YBs_6tl|`IA>x˿RkauQ(cioELBڽɕf ̜x+-PYZ\yDkX{9{id+31!H,tF˽|3×ͷtzsA `匞V?3,7h ZY ޢ@ޙP&͝`JJdڿ)2QXsU+9A3VA pT!-GoӍ}jeP&e>WOc $`!Ҕ:讕Apx\ا `2b!avg|3Gĥ'>>>K+/"=,@1tx~)%wmxXh~@ pq#idM]O?syVb2ܽrd7𝓇E8v)qS3\r`6 F R"v&3N[.etfT՘mg:fʦ=d듮N--Bg=Kp?duo/vFU<ʟ_( 4&jPkVQN)hff&u%HJ 9TD@){+ܔfj49XVPX@m |N-ū:1nnD*? b'|{lKHx\ِwzNg)vՕMfz+ `SXL.4z& K _Ie#Z[AvY涃(n"R1V,$JO^n^/SڡX BxGX6]Vuw=$W/aΛ( ga$/-V:DH{G,\iqvӸFԳkݣ;(Q\ o7ӄE;3|oؔ>VKA0)4  L&-~m6E?iV`$r edLv'ĤD\H5VOyY>;,p*P,zw 4ӊ=)d" $vsدJP6DƅPļNԞ'a9?CPPFGA9"(`OOAc&B/8C`dN5z HWcaIP)&$t縝sy@_8g}un 8PЍzuvV݇7z~XTa--otU9I"Ut< ijB2M9Kl;gC$ykz}ļEPPАL[s UOb  S'vv**B7qREŮuX"nq?C+5YY_VeKMPRísi=SV)w\ah">'63l^h$Տ(Y^. `$16A\`Orq.قx 3d3nisS_L}}}_{r9.[!$+N>僆cz_qud>ҵF#KMuʴPiv~EO*: $Cg:\vMfIy#6x,tA YXgݙŠi[k 3W+)JfU&fCaA_zgggnU2'yB>DzsDp1{?o4{2ʤ%ADq@_EEU!tgT֘>x1(S8̙JL=<>77G  ry2^uGऩ5;}vppt4Gm-x' WzBDTT9>sh 8&_ OV}ǦAD$B!"n_wlo"hҏovy|L6a@oճn[шŕQ-Dz2 щA]\\Z_?V=m^_?\zl}"o!>||:U5 L /Š; ,'r$Ymj֯fZ R#N4no`#tܐ7ɥ1a k r!싃RbT2BYA@#dcC׀?Hc ONo11Wp)P\s&e܋^\Zj*@e0X39uиՠ"qm-U}N쳳iFW~c'f؊ @Vڗ09 gDI sJTL6Gz S+j N$n=q#u3M׻3O#n׮f=C%.5P~jƪ /;0(oQ3..nֳ;wn2|7۷M?b[[q?EL"9;U8#9Weyh*2n-) 2`FmX8˛~9f9>@hőbM]HA'Yt@M CpJJTvc4_ !ڥ%wdRs YulWRrb<ىH>߿G)^!m&F;ٮt%]Q|*\ TLMc}奫f.V]2;|&!J4л=ۣ,YLs 񑴽Z Y?h 2ui}JPgǥPoy8(܍8;L|Rka OJl+YdM&=>Lf8,nRF7oŏJTe9͇+6$P=%:O^mLRbSIx }2Aq $vn\n6l+UMIߕX(&;ջEA#g9k,OsbODÁ7gg&QO2x=+VR#^L1H `dt^.&݉KhUr҃U,ǒ;_]:#TwuA-&;9w'tA86w}}O3L~W^1^!*ju%}8C,U/ pd_)]uı;|k o0y|_; n\d.;3~gCLJlD*ݻ+Xڟ̠(AIA"#u%f(7\s Mm!k g*v:*]6'[|0odZ Yerd[4f3@I=X}TF#iس^'-‚-c7ۧ`B=jxgsvQH0%O'aӓAe:@> %}_urqj4'22ǀɶ݁4u>AtV} 1o*%H!\֤z቗ M8X78Sx$ٷ7MmgGpF/"{iX'%kMh rhTWuD`$Y y5L.{mu&3+5PUGN\yw 3M_񩫻i4txdg\7|gg(D= ߌb=d!9_}q/wkj=WerU$ L/Tttt}9"gkn”YYs\=R+ROB AtR(O7`V áLN;f4 ptk K-9P{׻KG( uS?_6w Aknj^'~K(8F]4!l(OPiCT|0 xo*zAu06<Z!;]/=FxڦGtg$j9-8ܐ}#^ܵljk~E~*3[ na< 3hd%OZrc>|Ijb{{; `z`Pf=Hao}~$6Q6J+4B4>;PJ`Li*vL\j/Ҡ*kbxw^mI['m}gz jm$7V{\ˎN}9e] l1"(_+L'QNg/7<;6N Pv$喠WU'sBٹv/c ,06=__*H!Oa0BCEH+]F/5{ ,΃zx$ *δfns5*iܦHߢ ]Gt\RbJZ'xZ~wR#۽cI ҵgM{v,rE4ȱy6+iuUEE\$-||LB-&C_g!;Kt;#b_~&7bBj'E5D h OgxL! T"ے$I-;m0ʶ̅ `mOсjQ'\h I"CéNImRcĔgyO˃> q|D%CktA0B3g"@swۀ;P`uLgE~HR@GGouo'U,vr(Hu"Z1)x Q[:_}_M}ˊDt(!cG. jyf3e7vr3eOKd:?֚ݘ"Hl-ʎku _% R^GZ@1ɘʓve͑:aU&; ᚩ*OEDED[.3\ԸŸ%%߀ 0DĤ2 I*,zir(.%eo.7m\o "#%OӕD$ 㻣 X7#4!2gpsg~RM 8g zHtپw9ƪXnŊ> -7Ї8nB[#`t>ϋn? ~aמ`RU[ u:c-cx/WecH^ GX[OzyX 1!cPtx~h*i`0?8>ُg uu׼~ڭU]wݘokJ+t!GFDnOstpho6I=\cHUe,hPf!&&ɧnågV,rWj =v9.Sk\I*m1}DP ٕ5̔UڷWZLs!RW8x7/ʓ&I~3iN[KkC$50& FG'(Sɳڐ}[5:IzvѩZhM_QZSd$,^jŭ 2@÷>03%ClR)sPVs"]Oa/5q*fBm?/c%4ꟕ-2=w#pǖH1E:Cť=ūhUS \+߼a:-뢆c!6, N"\Ok~~-z0? zYNʼ*C1TȂh=;䘑q>5˅g镛e99;r]ܡz+J]iattQyw8şȒ퍓}m!W{~*Wt1Gs C~//g;vGs??8 '#c@켐"c$T% GipSʶ;l{ZaRp6^~{{)PxO$N܂=!Qi3U%C4,8ABNt_zn SӜOj3 d| =uVZ1g8(-M,MnfqӺc{pAmYY'x):ƗƋ]Pb^nVEУQX*%u/QOEq ٮ^*ީY4M*ܒ~h CWHӯGS%XYlffCߎ+P X%.Bʋz"l< /Xݾ2?s*,^4xҏW|p7]/#_4/ hr 3+.QGwy2{q-Ib 13ruBgRl3L DgEQCW`S&!A&z[qssJN--)q$~kl[-E q'K/lp9J"{ьyG GVBGC|"E*z\k3^4^h3TfygBיMWZ9',RFO J?jdZ.ֻ}5M}\Y21mtm ϡʬBD)!!$v8tq5OwrDhPE #(ȷ~iL-R>TY6112x3 8R(yC拕U0g"'[(K"Ք9!gU3eTc)Hgw&2VEYnnz/#{/Y>:RcTƎlMu uHPK\iz=g$vb6JKPO.1R>WZ}hɛLVAw`3+⳶ʣ:Wʦܙoٟ̹큵* ْpadGQq*Iy%)3r :=.Bo?G ߤ}sð_:,7Z9V!h#rXl #2&X'A֟LAe_<vL++W@47l(v?>ңC ܁Rj-Rnq| '4^SÊSX~G֔!&WiL0sMǷ\L̼4)9tiZpVZIVǁ8,"ma#Ǚ2 Ȗkbd5B 嵀ߊֲe͏4ʵk:JS@ZeF)#zGzAj U yLS$˔t߸C^i;MyuKHG-YZ%??CyM6F݁fl]E=5Q-dD JNuƌHZUN\r !qIτ7(¸11WQH܁ ոhſ._@ujR"IZÎ.ڽ>H}@_#I[sL\9AHuwܳx&%, Zw)g3{45vxbACM Y]Q!!3GW +l{(YeqCE0#kP?-%ER}XuWDnR= k} &m4`RDw݀Wh>zIU=zQk43O" Y M.YV^_QgËmR8UoͪKHp$#ehB,$ɟџe'dQB$rR()hd!:al?Xoۘ 1M#cUDn9xS;SN~bUO̸DZ"߈FUBcap2D8?k?LCRu.vKM.v+旖gVTjۊ\0L o[Q?(_?k߸6B[UǧÙW FBVOYWZmj()Xr 7;1M w6z6 ;oAUYʋ?TObhn:#{CrYujK_SykҀ=]ؑk$~^M.l`Ky2 aaR,&FFJ4!CqtM' MD U{`/vORD$QlgI1  58nFr%Zc8JfO_ :AldTZ0g=FS94$P8v#zM\:$xq>vfs$QʿY>6/W~ioоt J+i5680ӆmǙ!_3DaBCh)vzw&Bi&T^oT _M2_ T g4!n'i"^*

g []):ƍrp MP~ʫ!M>XVvQ2Qg71{b8J'rؒ*z[RGw Ub?Jz63!ߨ`uWT>u -.fZTJMjKb Hx|{{;mDx&6e:NEKMHAD&<ʷMWK1jUxt/0nH3]+5|s`EMm:: svGC/G{=33ַՇ`=@VR$) rJx:l\sA5xYacx~^bRV25l7ot`iyRȖ+"ʨ1m_ P?OgPӆm@lCt.Oc1OW4E[[,`l8++=p,ƪ줊9@K 96*WgieG':Uc%pM쒭$m'qa^DZQa==F7o0wZ2kIC즽,oo-^rqß?k?Nw7F7>^dmgLQ_0:L| o<<&=qk}fѣjun?KWHl] uŅk8q)zмu4YzGau5|1'['ק[ nLw<#: &KK5i뽇ER*@;yw-?>\̈? U^ԝthH,FmH[?I:H(r3G\'\嵖}h㷲6.snF (Z$bcb|v_>lmԭN";C$馨Nr˱2u^D/# @H ZC_B3^qVHP h`ە}n/n `,K0ɛ3@&nuئGs! 0/c;3^܎tRN1Dv=}}VLTKv]K@ %zIIьdg*_o5 eD`)c1W+ aD) dyߞ6;C'>"HM-3Чlu͐(nBӴTv! ţ#73W]Zp`HV+HK"#-MY8삈m.gL" ի7h)5PckWv?> _)5GV,xЇYkɣǾ9HғqwVQ/7G +iJ֝=9.z(`^%Ew"B*BbFۺ=}T@ʝztԲZQ6>3bW:X=eiK\S:O+}[޹ݎ(xQ˜^\dP /"|#ofdكIL֝y}~1ӕawvIOOϴ_3 }|Hݘȶ)R>F}пBwoǃpo,{a5}S%CNoc?1Y'h;Ty'} f{L a{w6r7O>ҕ|=<}cI\ IQRnz^44mf||.JX,(cx`f}2O=vmIB4 FH$OMMrBM0tuaEeئMƍn7BGu$I"p8d|__g^vK !azfwD8a8s&<YQUJ^^VZ1[ b ֡wij*+2:$) шjfaZsrr.={vYFziRx7~)&I̴BBD#jRlFU)]׿rsm4MɰNOc{!n#|`0`2' *fEqL$* D/(HvFwQAb5k㎥]@|I$1'iZ}1t ەjk=DFb>OݻKD^}}"W !o'O~_K؈yhLLLk׃[PepSݎӹ!`o{TU%̤Հ,˩i|^~sk׮23tRy3` H;gʕje9u (mm={pk4xx>V7'Nk,I[oNƎk4Cؽ~D2k׆xax 9ywA(4NAAFΨb qc-#'W_]'*-|}MaJho~=Nx9(/EEO+17yhܥ\׮YNU44,رm8G[DcA5A-7CEE)ز|>|@ᐸx{ƽ4ӱ.*Q>ggl<HhjrB,M@/ @$cGGp!oH$|UUUF!6W ~/aҋIENDB`PK lY2}err.iconset/icon_32x32@2x.pngUT sKgsKgux PNG  IHDR@@iq pHYsaaøtEXtSoftwarewww.inkscape.org<IDATx{tTU[TR@HxD4"AC <QT؊ 8=ZF`y*D# !@JU{換JRmgYuk>}-IAC8yf|LM Y%Y,#Z=c? ߘ'NXݽ{I>( ,cju:JJJ _>|)cB( nۋ),D14EEP^h[7Ap'$^ $\.. AH-ZwgW{s< b|ut;vOʕ}&H-nN'TVVU}m쥥+w97ި_i 1B~ݶm(\';СP͹so+'@FA 2N^'$$ԢE#F8 ~]#na0b@bDxx5>#ӌ5 ))ضooPx>N'(qIIPdd䉜QԂ_ P\T\\CkQڷrryYc^_jYCǰyyy>B4yѤkתիiYl9< \KUBZO%t𐐐Ub p䓷HeehΜ={z_%IBT)@BP~Jj&yyyH 34_;>WRi+ sl6?O 9XoE.,Wz=xssss$@& $ 0zWTs?̋8ȑq{\@j|ƧVξ w d AsacƠ[/+![Zh25njj5?`ZVAht Ff3aaFNl6/&)`iQB:y{héxb2h޼9:H ^EvqVY3Y6m۴iSDZcXv>~\Te(^Vj1c6eEE j=n+C \?ZX]hX߃,nݺEaa!Bt:Z"22шVC(@Q^PjZ%I wdJNTN+111rssٰa _|7hH˖:l6bN 66D FLL $Tʼn7sb4RTo7PHe7Ο? ^LRɼy211zWWӌڵ̙s6l !>juhZmÁpr.T.JMOy̝$+K`RزS\%$6AB$';Ynw#+Wϒ%W^O $Iz}`K <Ǹnڂ뱦68ngeqXyRRL  O^Oqq1GfѢω,]jeX=>:Ù?MLVp&VA+m':u]Ǐ;h=z2-e˖>zjeu'<,_^O(L.xag֬^3׎=D\~ݫKTy .>p0>T]Z,6o$ꅢnB!N>-:v _}U#O?!ڵ3LQRRRѣGW-1>|xb^d6MmۊYD+\|Y(}.]ċ/Naj,'$$Ѳ7 ٳxF8KVDD-L>ŋaZYh+† ŒR#1.\֭>\v|{}$$4>WyIErr'о}M"cfll1luks kׯ7.ڵ j~ڷkm3ܹ\f했t[=U~Ew߅%K 1zȨvN/\r /_ m4ODEi0m}QT&ŋ0y2ջPTСN-aa:fPà N8Q] }׆tҥ1 DTwށ8s2~Gp!%EMv2HKѺu{йs|A8* &MY no.WP2U%U6)ЭJxRS <}Mfr=Ov(Y&AQ2Eh mXUCf*='23HMٳ5= GF2.jU(NynE=9**YgaHWt֭:\={ѷo`EBAо=ݰ1ΞfݺP_Wo.vMrPvҽ;<dgԩЩJX DG&3s?mڴ &i2U$Ob}[7 y?޽h#?O 5kࡇsg5 }FeKuJȑ#㎊Pf"yc*FDԩIHHd9^-xU^[xAm<|?_6mQUĉ|7W@nӆSrB4tԉ7矇QYSuS8p@ϑ#mظ#6h>`mtgM!F=7"G}/8L^Oj'&MV~~m`uz0J.xZ̛6ne^[Ț5ti#zڵh޼y@B#s}QWt4Ɯ7MQFC۾%K(6f$3sV&))QB@ [s9w.ũbbf$Z,zyOs9sf07) x,vD̛7Ox:$|ok۠Ac^c?\3+V`{L7Y 6ѱkW~޲]hǴӟp∋ݱ 5G H`Hpg/IU<)$4 0`'|rV Leթ)23QZҥMɐb6xA>KT[7n6{7A#?L{8bc} x"P~[_& e146gB@gCÒ$VI$`Z͒$5(?W^ݑFׂ$IEEE;y}7oѼw)}@XIENDB`PK lYſerr.iconset/icon_16x16.pngUT pKgpKgux PNG  IHDRa pHYs\rtEXtSoftwarewww.inkscape.org<]IDAT8KTaw>F&?FD(t1"rڸq&ڶ &堠b)dR{ձ{g:6zVgq9y^CD0MsLJ9ab/ mT*r"5:+uuH bYض-iJ.U|>䶶HZcY`Чzt$(& :EDX__ }/~?`Þ/J)‹Qg`66l 6L,vWRlogm=׉woYYB)P*py'KMilaj V,FS<_pǩxkGpolmp1Xڱ(" ӌ28B07T۷Go,:lnM q0S0x{o_ f`1IJJmh(\rU'&zZk9$f0 3xAkL&vwww"HEI:88j? ;,IENDB`PKlYOrFerr.iconset/icon_512x512@2x.pngUT tKgtKgux 4|XT{$$Dn!TJ.).i0计< σ0眽^{s/i z H~{ t/H/MnOu^:[y<==l]Z9Nݕ&WvWWw˯^5 DCab}YH3/Rih|YoqSG|\Bq5V*jOZv"]{Cď>IR5܋zr̡0ygk snC|/Z]". ~[зd„ּgTp_KjT[`7Ey8ݨZєM~iǼKlkZfeo0eUsfE3.3[z6]/`μ,-^{}B@&oE3LUGmEK}3ajyj-!*sPDa,I@}$PDYd d@! [m}WX,v;UY(c*лm0LƳd{ nD}kIa(l 7?96fyW 8/6 .X6u7"0W-狏31% 'qVT aHoN[GŬ|m1 HweG/iFH XAv_vf],{1=w&z4ѯl0.p-@poJnohغ4ZNj R{WnL.3Q-7e~+ܮIbld  ꘔLΜ%+Е5fL01KK֫リL>-c t!`BR]3^1bg̘4Q4QGMdpcii 1R@l,'Y|t*:m455cjp lFpܮuq!rF;wpeJkBF}U| . "c{ЗAjLf 83cΐ@sk㊏No}D2ą0 5anpt!Z:n7YeM7#[tg@{l-s ݦDM;0X^Hjh9h,2a+2x Ixa5w|ɿ l 3h~[o@؂"@1nw?~a^稺lԇV7y'_FdV-D7| &D.66|IwLeV+ cKN,3Xxv 4wQTVv5;'C㚭qаs])OǠ';GP5姿g{ [OxJd%dAK`U8BaoYVFxűNPϠ[3ŎiZNn4x} ;TRI䩰rZ?~oeu/1_f1N5?T _y4\_(3c 4bhSu _s*h.jg8RLJ%O;zC%2*_ [z3gMk7o; hAr#mՒ'l |->{1%,'ٸsrRWGkIU/,)Pg?k&Jiَ<~=@r$wz۸9)b MF>iW2=♻$nzwr@tww'4Zbz=%r8i= ٪/)caj $v迊 =-$FWfɶ[%PDM|h/ѶN6uE_'> W Y]4'ð^aӤ~R$~k?C4yLM-5=YOMj2|]s /: eY5W:TʪXg^c0FmFJ1X{5[8, %u(o)`Jl LۺPo&LEi݄T(|}B aYfx]f5m9GI4F~GNc#E?e>"?=l+UW6;%Y EzE61(^4,FQv8m {xr3KmytW-Ap7Th>y!*5K zCqnFq*dؕpX2D i2~9?9ra-_X'DV&J3Uե9Q@_0\ =/UlV)0Dw۩I,&bS,]JYGK#dN+#XG>jI\;Dcc0@~߀VQ/%/Ji ۭgI>&Vjׄ#U926 `"i3 zP8KFݟKLToUƖ2.smӦoUJ7ji0@>H42<)R >z1RzU~2bmє:ⲤćV~X-yE_]fmgYaC(LMfj^K7vIo7ݦ2;pJ)M e{!6&ٻO̔kqd>ڞo=25(y?]n?ᰋ)#`](}0t*.>-/Ip6 k:8^,cUG̙ŕ pqYqzV'yFSCy=|>lpKrFݾzٚSЀR>iهYHY wTs:@]ܮF_uV RzO 0+=US=\bPW2)!kG:L0 PGx΃ ^;S 8/ؚ*6 EE^ڂ=K]ZtTʼ ` 9o0LXF'`ӭ|3U$j+ ܥ[+FZ̻Z^7RC 4ng4P8\deK-76)E$_ryʍz׎@ivvH᥂!58Cw6so,\aw9҂%5b9γ5l=w_d0\*q=EXskBc2ASvĺx袆1FNjP8>믈F?팏tRsK f`57yܤցAldKLt0CB@W="cr`OpԪ`20}&G9Qi@]Uf AKy >c371}(YcčhFŪx#~%oJS1o,-:2>nP E2h0̭=-Pf.|=3XCۻd{$vj) KpiQLоpI@x:K{#ɱeV&.J܃ҰĮH '7+7T8u!*DxzAFՏ+!]ܝU7nPΛ2lBCT-FϞR~+zgwћIKvf&<]zr9'ylCX(92!z*dc^ыbLcZQP+}0"ڀן A<ӜkzOg571?$=Y:_] ٲŎiԃfvWL1xʅԦ밮5!@u%i/Y$|XS zݹYZ&96Qvwk%tQoJ^QL3]sC6?Tx|%vӵ؃~ or+SC`!۽Ȱ }+1-,6ƞ5꺣M!w=JnMl!K_܎1Q(u KwF)57#1Dw lQNȝAVjaA.rs vyG>q*r$Pߺ߰aPԷQ++ۻ"1Gfv׵l*d7C]X9Ğ? &f{dܳJمx4߿>w ̖yفՇORCXw0) ػxs᣻2:s+xhiCyOx-sk5S(WHdF0bE$׏&@y~2EbˬQZU2+ of68>~ tF!v 6x6M톻,w70,)KӚ}=0pE̚vzXv3Z[ +ߋF.F5ވ"_!k"m(Y;3b#BqVV3 O=v|qS8&]FA{GƷ jBjTZe0;kok^0u[%ANi{W'c/O& ({}7z7<?`eEh_?#l9LBys}`VHOny" 7l6:"CrнE=ĤaYo*Å 4_ 6򲆏W} QQfMGMH-eizBRmQTлLMğ2Ы<i0ySr&^zh"!;ShuGD*nblTO~KȑIl66g#Zl5fN[X^g%'JJh+FF8o;Z˪ph)x[)w_|ST!Q{^|19r{ 7A?Pwgi"{dr3#ۭG@z ew%J3.0Ba]kGUVDR`mƘύV<1ۧc<3FI[ *Q,3}L|N=b')d-wʩxUEA`OJO6oBF<( >EfԿ}li;~W aU_Xlh0fL wPdn9<']xf>кY9Xa%A =_]Qf|y>$rlhhu$gǵ>=ޙ\_;]jc-1Ad=M@sc$iʚh0qT4({/8NK`B2g"8^l SvυߧҺ|%B% pݧ@ƦЛ/P'`0SXB U83鉇 㥻UqLw$2̮22=yC!sԝ_ {j4ٟW]%L0ڿ$U~nA_'yE=WB gkG8̕;^W} YZZ80g;Dʇ׵78A`{ZA|nÖwam&S>úÎW01;*`ӥ {GmVRnBO-ĊCN>1ImIVbo.U \_,E90=N^*^XZhI5֋?*|Dz[y?nL.7^WmV'.$9vА՟-5"eSI\We)݇>kpt_=fP-rяw%쯺`M H2ՙO }1a{v 2 )< -.ckdxu 3aܻ~:K"o|-y_Kh}'̯5~w?t@dJf^~cF=l: Y{'BaN FvV?=ݖ%@=,')vo1VI7uPD./HUl' IDji/̽lӬz>v7,A2EׁfY6pkNG.53mzḝbn6a6irū#bm3GS:U; @$~],*ܛڎ?".O`b~(.{lܴ|oL]f&9,L _^Aelsud?ַO6߯[J|8 \ I׽zί٬YkJ @HF)b|W^ze~E3OJ-Pݠ磊Ö9fF ~Y`~PjiqMV12~3%\fw>OG*"nܸI*0A?[mCBOrXgRcOLqA`?ݿ=@O ?ֻG ZcgCԭصu;XVXYԁvbQz$w tFZlsCz r(Yr:1szy<ʙ C*Tes',˳<t,}e]M5*fb{FOS:.aK?@]}kr=7In >S1 {yމAMym0aqjc X_kd܎h /kD%亰wJc87"ALږhLSqIw"FG1 s ktuC␎j2+Hxws]qOwiRL.gۢTA?ojIӞgŅKc["4Q]#RghW 7E Cl0G)*1xK,=VE:_ zU7Ke)bu7μdzt0B5n*x ,`|{"J" {'CĶMx;˱>Qp-²!^ْ{9ِw[ pdG*cH g8voT4eb8َд Y~CK>PǐKӲ7p'2YzVMDVo#ԦS #MH=߫x&Է'ZO92j2yWů Wm7}y̘|FTLJLRd֡/-9g }5{t {o.;zA'l_x<@z"Rozi8hRCjڎv:e~εGOqߕؕ$ ұ\smL-,YANwtezL.VNc_ަPBTA0ma`j9 󡼻΋mFkETF!8e95ƦD%&.WOrp$Yq NĜ 8lߜ k{oHOtZFj>]BzNQ֎]g4w?Ҡ)wP)oqmgGm'db~H5E {tKî+F>}28T_w'PbXm{!,H+(FO=g͌hwTc_D{US+6&\_g%5M= WbE&[/d~MLP}tmr;2px> e,%zi1ҡk4Aeͻ"z`OUWCbK %Lm?|iֹ}I;v r!"wj_[uSXsbl'#_^JQ{ÄD)}+7$VI PjG^֩6|o;; "]K-NƇNwH5#or<*&e.Fag:D61Yze4~_)*S'\r ;qE^_~UڱjY]f4 x8NI7 ƨWH -6_F)@2б^TCOa{<4[0˾>pYM MJǻYڮZGZ#0@Ehexz@-:QMuAqbG=^oE<:ДkSFΈw bI'xω/RU8PS {}y*ż8S{3s_PS#ܖ/=Mo5gpчgSU-rR>'mUwu_E<*Uכ6G|w2 :fj0=PgQIJH~B k-}~BD`B'IHx2L9a&,cbFc++|񰓼 Cib"χ߹{`֑NLVg1V dc>>ƨynźJ?(JV9&~p(Zjfn9Du`h ]<-,흵z2,3Lք(|-}`2lUaa*beuy3oabHu{d}I{YUWnMfx]1eG뙓oaTnB3&2r1xH@XB`kxxyuP(?$tJGy@K9pԉc]2Ld1l/47<|~jxi.FE\9uص.Eoϼl57"*~RC$ێvgRjdWClT]\Ys ձ6 `kIDYn +AG^, a%h墇7t62uƧqQ jw,OY;s\s:"Z lTT) h6Mo6A>·ʁٙ9Aš$Fe{ǓV]ERU|cyx/!=9לY?IQF167D*7SB{#ϲ %9wG`۳@15PZ wk--uB]F=H%LuNۀǩtaQaYi5yU8b7hGo#Iʻ6MnzdEm*AuY.bEca1Jf4 OBYqcŶc" N?oPҺEatišڅO =X;χq9_\K?Fe-Ed8!RG8RT/!mބD7- ggkVjϻe̻ӝRK'b I8CDBl/66Reg nx[3TII-,:OGE3Sx!.]db5jڻR$9Fٽ^ {h^}4 f-0[.scd.nZFrଈ>qyyw7Wɡj'i' B¬gyzED܉cPM}b2f>*,32ݛny37gY)jtڠM%lZ7?ǰ锐P2%~ +v}4i.xp{֘8\n_6NXܻN)iɿs,8%պ3%!kG1ҸHA~4kJ @GYn꙰ԏQ hjqi{lм6\!V=: [L`o!"Y1v995qPa_}7HwM?̈"koe5RMVQޠ>tk)pmvn۾ OS*8%xWݳT44#4)+QjYC#0,qmF{ylG[|4Nmpk-o!wZBcqqA@rXngl8皴+w㇡dח4)Ԉ !~1Drc5j!Bu ]Lɉcش| 'MGG1|oK,γI 5)S9;UFLONDž^tOB]y kDǥ^^9%3PZ< wx9V97DU=Ǟ,&~#W<=9)*3ۗnb kBy#j'DK`=,YSІ |#%gtv}&GJY{/7/?J ZH5WnW_M7)[kWEx}`U<2/01w'?I3%u?`߀xl;P[Wf(}ʷ?`sxY1T ;d+CITx?~ ˊl|-y zv?G:&'N Nʞab|wMPhFQN|嶒> rLyLo()F x%#Ŏva R"WIH:q=}:PHH".r86!a{ͮ;oO쿄tL蘚դy s.уyaEXݳ5ۙ 87n]G%Έ.a..Y@KQ=3OCa7pZܰ[+8ib(-{^A87n@F[HU-3È^^&`Ǥ@##dܾVhpVCS+m=BuϲTۻ~bn'bLNr|^0UD|aW*.BQw[?j3~]!\ܹ#1 f^3 huTq͞'/k*9$I&u&sel; 6c{c'c#?֣ r|1fl*HHMYut)6I(7x05Ŏ Z nz6MZEKnrnm%Q^=UJ/u4elPKSvXbp 8ދQb 񛨰%C;bg黳?1AH2rw=>"}`>#QѠRC*6-˂z/].U _2Za5mp*j;eԉt4'l@@~(RUCj6@x$UܹEbx&S2!l3Ņ^VZ.Gdwʢ;zv]mTfz$.4}># 5q($Qk9/hL Ԋ? 8&!f]5'KS6W,(\00Rj5 J#D՝&cϊՒaꎵK_l"TLzH(6c{;+hTWzWJghS Jn41TM;ȻV\wKZU<+ d@wOǾ <3J[ïcU_y^u|E?Rhl{t=(x]յ_f9^~vR{ܭT#'[ 1Lpj٩F 6q,O$e;Po*_;#]w`o܅?Ԛf/ ;b`pB2@]|PW 0Իm*GN6zd_cwTG_Zgk_3>)wJ`K74`aO<,opq@D6׹Q)KVB+`JfV|OaXZX U;X9kZ^O~WMC)Dv pP?Y֐(c8W(|&|ߪ?w"' ?ܥDfi5C>ri@$mTgWDLiSց_;\piAz;Ln\w2ze*o޸$.V6 8ct8FJ#AJt܋ eD1f~ӟlOS`xDE]jI ޴ر̇`cE'}e\b >gڶx۟7Փ1΍8 "!S)mٙDF+%*A-p/\>$!%wr%p}l,%+M~d{>iǶ^GMv^9DLa_aq~WZ32c``Cz2CoX0hCβ`>ϼ 3?ε]Ƣ4=>ŋϣ\w.!P}3N k͡ 4&,_gS@fGBBBLʙY!['%?{_>(+b `[.),`^1DxY8e SMLA}i$5 fO?zVNmUi< q31P޻N'2:)k$@PfC}bq9VsXʲ/HV[j K$߮sF gյ~kJ"bD66e%gyd5gH~]z]̌ ߥ(l-=]v5V&9}AFkf(CjŞ޵σ+=/''ZvzM77<Pj]g,${)tGr~'Lp E@ekK·/23ּshgAiYiZ?nZ>6sڟ32_S/c6Pz9Xu_C1{[:HK[eۑ<M:rꍋF.vG>D5CQJ]40'" ‚xelvZ3cԾTwʑkN 74Zd>@뇦oؘ3*###G ?`+z{,_bwэom"-B?{Ywgl`B%lй%W2ztxXBDJ`8,*Y‘#Mxjy`GcB0h;y..i=b_*o(D[M$;Yf!EߣkdpOǒ0E_>O-{9Y4/91 D  @NHLPlD>:Q1@J6?e ~9WGŦN+ԣ*@lElxv|)[ q$2=kf:k\]bG#Z(АOrΤVLߥCs[=,T_bK12ds7&m`4QfoEhxsIE0.81ڬT'P^۫2ơ{?쭮E) &(vj^e=HͲ٨9vPS|,~HE&Dس"jG)1c$j(kk dëgADb#}TjWcS/Bm\gU( }ystǎ!{% .MwB6I1Q[z9>)=LC +GX%*{` %e":K-3i! "ڐy "%O^ie&ce[節 pDp !a) 7P/6 KxH L/+:U;%_R?Eʝ1GHݲ >ȃ=1Goۜ8 ;8^=Ws>?:93)bg F߾*9pPo%g|ֱ[9*Mл۸?K$DUcD}9`2=È-c$o M'Ö>>уx tJtfR;4C%B} ZKKıx"-zԝ nrK+-ۢ8&njYX|caH:e%ƙQ֘6J=%i̼~&E 18!11+ړOsiZs>I~w/tƈ;Y!,>Z\!nsd=30Wm 2:7Ϩ>&wSfjpNI{+٤=(E{ZzOrIslL׎|#+nuoGp`;osnp>9\E0nFĹFS&RYgD؆Ri~pj7QRi'T rJ"x6}Dv3[ $jnY]T :VW?{zgoɵêP DNv6ĨML'777 ӫ›tXG~"H hc 4@{|dC9h^]> C_fv,9h?MLy4g[ov, *oq,s d{C#6B N2DfZ* gg>m<йuv{kc,"GQH5#"P`k}Ǐ}~P+l8̲Tqᘀ?٪,).&LDÙx@f.7`VB!o&!iQ @v }oЮT3YJHi`ٶ[)Q-.z4Yv8[oNiՆpR~j]t] $i/`&6&##[?UmSgVO +}'dݎJJ=gݏ#fXZV"cxkm4#@RNA{1ΜH.NQXRchwBK< &_BrbJ6?),l4ݪ19$eqq?YI=YM 9-rC ʡo93%׷?1/~@KRRZ`1[p(`$>z7U}EGg{Gjd(l'>pV"Mn5W+6Wyx@ʰc}n]#HW,;涩3ӡvLᶇ:fSCAJDL<ѡ @dkssSC$搎LՃ4NaBsP7P/uȮ\eg'b䨁и5n>EkaF~ݢp. Qi[]Ҷ82:f1=Xb|;TqS,9?fh\ گ}ӛݢB씡[a%ӕ4iO3kN?JKj=ng=DIϥ]1&@VkN 72B>:\I)ⓑ?BO5iC1#yQpZZs$qYGɚHwܹc[BN)YC^V8TVXiz)8>FީsZn{ 9shEᇼ$U )$>Ln-`Iy l ~ol[rb@_(մ&O؇afY%%D {R4\Ym\ueK,DL-Ǹuά+]e'VĨLZLJ·EIE-y)XmIgM 㬁+Y9x k5R6+Mƈ8%*1PX3{~#!)ƻsRȬB"p*!xDmy 3)qߞru=MS-QJ]. w:D@t ͎E~P[GgJ ߪaU6񀠤TybKbR)&S֡ 2v]4_>}ƄO7pK,gƠy)":E;C㛻LaW2|o{˾uRrU^L4b^VV MLWZ[ꈚ %VdA 69=\!Cstj:OBslMwTSP*wbӶǪ-ed]P6lCzzYRtplBO(F%c.ܒTQH' y@dߏH%"Βq_9UΗ|鞓UM`MBUjj ɹFbxٕ*do|q@(?v}6$;q1އfA,H2h!P 9BDtSSWe21p l0 u|M#Aߺ3vz t(gg:0%Yf_q\2miJh\/f\3,/$c~ƐN Èt>%4_S\~yf}8T[\0E f'l{ԛΉx^u:Ytpi1P]Ғ\Z P/&x\SI\=P%`!5t`X(zΤ<wܼϊ s9Gte[$8ur: N/~2DQȪBQe)35q"{]5O" nnY 1~ةc.m$N Ep_?ɴ4k㗆A*k[ 1 o%U/{Z6eVvӤ4<{9Jb:yT+c[o$\E4n5\.<!^~Aad4Ҋ˯\!G4R&~xK(}d*lF޳x &\YaV4 ѹTzD5W~*qΟ"uf;)quR8!i[ E };E؜ !I|xq'΄`|O0%QRV %fnO>% +Rg4"T)6@f:h!M_+|<޲^ %֤9xTE'P Ȩ1>a,9):8%m> '9x'֋1ˁ;!`%L#Za|ѤPvIJ{!} e3b2 a2t*a`흈g (tشkMg2'`%Gޏ?*f)Tj Iu$e>C0xU޳ Ol:n\SוG/@rQ,#`e.6F.qׁZTI,kU)^O uJkו+o\G&5L9Å5Hy&h+q+0#}]_ z<ɬNI\{B+&)u}ځLo~~xV?5`$)x[OYU8V#Er5Z?9UذoYiE\~4mlGV֡nR50H{oӸ|ʨ!*Կ~-LeUST, 0͑2sn(Z.*rN!fa)QTtC"T?QһlMݓ΂pU N0I'^/=%?Ol"6b!D\7W1NiRU2,CztjEZ߹y(;| Zf/UTѠ89*OVׇzf2![L͜~h%1rA_5W;=T(^I /rM f 9sww?IT Lz6dpyKf<|{? 4pg%1n;g~꺽ú12L<ͭoS?>o[XT~w{&iTRSU߶.12fN(`ssͭaqtWTSC R @cdumPu,GKRH瓿u.HdI}ܘ!3i Ȭ' mے(?^;E f19L };1G(Cgf=gĔ\2$91xc,3,s$RLLǞ^nu {|իW.lz6$%h9~Xȑf7|_~Bs_c^!NT#*?T%RyL{}y$Nu+\hF̜Qvi úX*ʿ"8%%bEKλ*e"j yWYòY 9`Q|N#~|CHc KY9tbI\ %ZnLeXa_|Kǂcs^дf^+A*SI{jG;pOVA,Hɯ F?t\&W[FǏ1[7}a*2? 쬦&:28) m `ip닡_W ,6~%G)8 "euSL{ i cQ:X:ߛ39?YRV_K VܯftC̈́7y%+xsbj,3ͩ~S {н/uz:&a6cgJDBtqYlx*{G=)G,` Ǻ9PeիW9 硇nvƔM,$I i5~>)|k5B|:7w{C_Hf8yvV9*&Ի0} C ΗG]+2̏Fa %&̝b5=,t0%wXURn0=W)";tl" ]?UxV |)I\,{~3uP{mWDo7 f4Mm2cqb\Eongeens׬xk`_0e/`c6K6D~dqnaʣ.kHCS3K)x!I{D,:xY]&;C"F:L9n~;_L0O4k]>Njr+o$Xj2UQcTf }BUj[5 { m3z=5 8r}`- KԠK+X*wAIl+{vK,';=O!z%.Lf ?ƪZwXO1_%$_MhGd'gjAP6zM҆=Y35-'C&Ϙ`?'dT OkH4讄(&?縂}`!Slo5X}$⹏kx7qTT42D;]`%Qf UraLNX_ 0㯒.ե.%whjjmDSS4o8hNu2IdY 'qdpά&<>Lx*ר&K~̣C Ջ-J8Oe=*$J ]/@6U&b p)QQn 3ڎ80 32],,SgL|fS;@`cBKoRj[F9,oM\aL{Ūm~In#*I3ɁwrGK{@Gܤ8nFqi]ڧymCnÝ|ll,{:Әc X WEh6lFLoФ2*"K|J$z^s6reָl!EUOiJ3R~9U`5 nRoQ(gX@PJFj%#{:':@SjWO#E?h}=-8+z|E,&W_oN܊+.X@7nPh2jnDfޒ+&WפmU})O*Iб$(iW~Hubߒ?ҡ-ɂp@egGJO;0/6`lݎ d+򡦫{X[NMzXuBFFQl<׳d f0_- >pՌEPg[bUP&u]EK)$,'.Tuw~`өϙ ,O4׮Kmj=v6oҎW"ը)%b*e;H>eٔM­I nNd_U^[fZFpAΗHF9S?.D D<<LX\ڍ ,N@wnB, ][ 4www9̝fSjZWʒ^R(=+ŧt ?^MY<%7ST^zl1yݦp8]~ ʘ-()]LQ8̐u(#.%SÂ]*۾^4nb~1Ɍ FTyC0„8e X釪v wWk _*;Lt==9݇z#n~SE{?AW\(dGF[7keT?P"Ϩ|Jݕ\~n}``3B T?lt/>ߛScXSqqq)ړݶ((;r_5y*92)*.pƄ?l\jM8|Q~ܽ_ 25H/4qĿ,'f='+םK n>4{$DpZ*rY[ӟ47O~C fMݾRB3ss1q;]cE5& .K2M JK/*FTzT^G{Αo:& j2NU #$j,oAP7 O`.Yh!>{z#J]`»mh%OS;SNwAUaN-=BůkptK~~9g;{h!aH=K\nݪ!IǶ;@,DžV ;YBCIv{°Rb3U d*5~X}1vJ〖!b 킡Qe7RķӺzzٹ]'/L҅BX{'! V`jίˮ ?%d=֯0GBgtZgۻ{8eްۆߜ(Kk2m QX39x`ه+L{NIuڞzTۮ>.c!dx/WY_P3-퍦5'1||빿% "!SFdH4Q!Yt4h;%q˝w4(YYoo<&uccsyGQw73Ptl1>Zet^CmYt8Ђ06t휷)YLty }F|_"/Op]o?l:"1OJNsO&S%P7(ƣHs_,Q "7z;7X-BUMi[jkd)?=[N7 R*nL^%q#.Zo< |3c^^cvTY.9__p=ot׍_4X zحu瀻IȮnb8ƍnxX^B-T VG2}Wa K " K+ &A[*2[H2({{ IWjG eOg9EEaY!Q9%?> g\ rjvyDԚwT*ܱcoيr1?ֳ8^'1An4՜ֳ VϞ/yxxժx#y `j@2iDnH1;Yx$OJT/5tц}C胎`B{Ciظ[uK‹!rZ?RnH;;MCgN=ڨ\ &͞h*DHEh' x Upڶlfrz@<'҄159>hGA~m:^g=7e6b&-[ 28467Ɏ(B%?zzhF)()b hj _ -!akӗGԤP %sM& SYB{Cz3=i %!&o0d5JctY;G^QsX]DA뇅pOLD)bvO|wpOlPt6,Ax[NY;:0x@l7j9up3mpp]1\׿#/c.9{!d?1J񸹹kXcp,TMcP\9)GXYڎslZEᡪ i4h/ݤŜ'N=8O~-=bivt*DŽB|`mu@@ M i2RrS+Q#h08_W͍^w|Y<ܣj-^Ԥ,v3khd* <[J?EBQ父iYc5L&s;\uc>Ԓe{rO #6 li,s7Oҏy<]U7d"ɑtJe&ߠV֤shHjf*h6@Y4o~D((mHN.W"1x%%1 ܕS$ZLK4^/h.PA&*kVv Ѻ Ru@~^ZʛBG5d'Kў)!71R|r2oOMR"p.]2ṖQөV4u*~qO4'9OD3ٿ,;mlI8r"N"ȡ~vˬdx~:M(2ɐ/NTh.Wc3R-^-?=9GǠ!;2-W$+?- aGUQyoOlwbonx ljv]s[U |u}$. lwՔwQ}_$~栭l%7鎇t 4NГ?1|Ѓ q`uNi֯ųSg ;냢;݉Cs7^)NNGV{?`-ԷPhF$fu =ģʅ_p O8,=&CχNa(.A!p)7 ぷT 'QT&'(\pTd&ŌǨq=>otFS_eӌ}4-c^_`~ǻ'؜+BI#gIa^' O~wng;_m.eQs̓Cz}@`{>: l|[;p~YbzJNKj04 ߟ0߳2OԊכv!NSlxWCAN@vxt)X2;}nQ6c#=r\ede%jAdr^YV?>zaeJv]w2֝RrK-N;tXQfa#V8 [Ҙ>1\* _p/BQpc_9:Ni: HI9ˤK#(҅5_2ˤV"TN0rn,r"c99ËT}=GoC27C XoIR2irsi-=i*8'ԒgϏ˂dT(DV)Ί?ڑ(#;Վ`[@%δ̖e*5|6kjڗ!ECz?C8xsP17S8\iN+:HOZV-e7R  kf4ZrV\~u%#kʉE9 O[gmCyA!|Z0$fGRcMDs'bcg|O3 F+iJn $r'mMōmlSUD^7<ǿ}%2Ϲn+]8᢮pm[/WD CZ=׆Gّ!L_<NG<B}ڟޭkzx!=@"m+T V߄㐁da餑 943<$n*^|vTN7{4{߿ PA^t~uu|-uQj2 F2 A)e?_V'/RC%?|w>#_Hٺl%b ;@vwp}ދˉ6e 8,F2a^Qt?eHaR /R;_ZjJڵՇ޵2Ib] s݅%.o#NH*=!1w? BZj %V91#1J176?"sP5I.z m.e^b%EMAۥ3dI$kbLEzrmt?و$>yw*>}i\FXWZEieZ-Gb^G-V Iuteaq"ϥQ.!۽^Sx<[0§9O6IyP:)7֎%_Łr=хB([SzH~%-rځF)!rZGᲢTw qd?;J9>@s҉}mZ ).x`~?W)\_PVVZ[ϒlG"gl7[*=j&>&84n9 + ߿COb"ꉸ$RFkM@6{P1'IO(x CѮȶaѱ!,rqfXO.< nκ>kK ش cQAջAt"!)xzt|p2*'E*T&+L}K#!NK\̢ԷE< gᢔ YAtPDI6KG0>쭈Lm٤]x8rXmIBO~z@.O3i墅:,G9V-]YHy|AHpEG1L-39j/A~S ih,ϺqpzoDڰy~]ezF^/ԟFxZ)} [8x}=_9 WiLsŻy@}GiX@>'DZ|6zvaw}RSBB~ߥ2 JXǨ LΙo"a6 Eh%Ug܄vC,qG! v,WDF"^R\¯N¡׎lnsFOfoK>~ eFmCb~x*}˘חɅlR9Y4bWd6$[s<'6ؚmgTDrFӛҷӥ&`ZOU6cF^K[-&oU^{ěn$ENxβ~`z%$&- Uƿ_@b.Dv#.}?}ݍ縃/إw2O#uK;.tLju^uNUQoe׀KV>GL٫R[[ m;\G z՞ޭ&yi9tpU~WכőRBj7hrbsҕK>w$ԨkLFGB Z[㗴Ha۫_3tZx|.2ȓ(M.0rӄ7i/#{#j>T; %B-f:ι2/~I ǯX&r=^I?xԌ)]kr4s*M>,O*uDʍT*Cr95Êt!+WC39ȩٮ$xVl#u.SM;k&_h f]p4oQ>ZH ١覫:w)3AIg>B:BҠe5 *N\a33C )[H@0j >t@𢕴@7RAI 4j)ˎ VZ)*ko& w*Ø_|e6Ɋa-rumSFS@7*HKKo_( XTzc>JNz2Րq<!On:AR-q@%j=tUv? tu^d oiW\N!!F4?:R^ ^-w)wO */pB$}Dث> kCV EK2iC+mYLӊDN@2ZZh'\4!vn y͙u"F| |y{)F1V-0ak=Ҕ3G{]ǹ}R+Rt2 j?j6U[)) o<ah]%@2ťbUxR]te@8p9uݸ PE7!<@ T`r߲}ʅ˴aDD~['ƯJE\NPЏ{*G.FФM w('w> (xdYrn4TX9:a"%% T4D-^[Z?E-bw3fNΥu&*n 1S$ߏrͧi\of9-QB|ض_1wKZY~1Pxݶ4;q8}#pffE|XW?h>uG'd؎X&2nAj-Qz§/j M ;/ @!Fb@߬!&ӈ<PÙ{!>*@B2:KÎu;K1K" NYo-s;>7t|3} eE!K6u@OYeYW"7qC/կ=:i{8O !N%"*\a7@ _uuvK<=A `2a2;CEG9yOSt:.lCÎfM#"S-*~+˕itۓ!!ɋSUKsf}G6NT`G)Nem kc$,f -+FfĽC~6v#N rgO5)R5!ɥz$Qh@pRSL0X&M%{9mM`wuu{1&P yLY{{]pjRW,c{l $>T1 a-c&1i֮F}eҬ?x?q4>4*$<X3Y>G0LIx/}G*ͶU2ʩbd`oNYWβH"*4SU|^W7 j Iq\tVN5‘lxj{ kM|jֺ-f-]IwL~+"4Odl?E~ Džå>Dn^}-&DЌ 3|^L>gdir 9IRlՓ?L [ika#- R'}`ib޷Ppo[WriD7(^\0uYCڍawZ&/!``@d>+,G>N;0%䨤\R7hsޙCpU%Nw3}?D dE4GAѢq@ۣ-Pl<[!x17_*)W<(L h !i9<0Lz{{]]"ƊVbƺ AT%o% zP.KaǷݢOrW$<=Rg-* "--Nѳb8` ď[vRׯ^M>!BɚM7S5#> 7%@B J{{^"sw Ȳ{j9w {.fd%J-g{)G k|ӀĪ7rP}A1ִɦ0<+ܥwun^g<'>(>&-Duڣ O5!kq塼6! =QJP&% ) Hu4Itsmq(c>?O8.UCR49ޅC0 ĺ%>!iv1rxQ4n2=u:M?$tnχK:7YK/Km0"e~я -L/ qln")#vOu~cRA75P"7ǫE +|U?~T uoMaB[#6%2FݒGn EU=mܲ{S>̎:) 1hpaV]#OT46ջHI̩[W E폨 ]AZ_ܵJt~Ġ;~&˂$?EUW{ÒHaawp@I{+7iLG]$.kQ5?照0,Rȇ_J;<{P/,z_kgha`enQ}04I)5鮈g<+4_L˨fEaS,bJ9YT!$?{$~*vVu"*^{(u'a~h|{#uzrvqoԣ5RmmnO 逨^]Wffc6Kh'^l|!+g}~!p13[y*Y~1g;izru )*H:Y\P ;5K'9G"/55!cto6'^nujNu[f@2Ko+eB'@}UFYǏTvǶrc/ߏa 3WLzF,O+}}0mد_i Pg? ar\FDz: T Wbl<¢-)@HB`*VZwd}~)qAǾ[,Bh .RaHϖoNnDžWT=W}2O U"-p,~ˑzO(.!LڧT= ;ڵx&7;m1Ɇ?YCR~oiXr<{NxXw5 s^55 5㴥uGe#on'$H40M\_$'x-87l}[lbJAp~zCú_9v= ~';eʴ$}6m؝l Znd6Yx!8Wy׶<ƍ'}}ninI] |ʲ1tCB̗&bk٣N]XP7eDL3Mv(ˣ2'[_~Ƚ_^u%gҽ6C|<Żp YHtv cak$pcTcgJYn@/oZSIx|]}Ŗ ˜G=?籆t}Hzח|TLLLS9]\Qm N=F.\Ң42|';Qx}*AsA7+ ^gsoLIcLX1趕5*&f3QHv2Rs2IP}iy m`RL|w l(3uJ:$x{GP4оGU4Z=y‰漣fכ6鍁b/6m; s ^Zp.F8{/K/tbQMf 9=G |ZXQɝ(j@W}TRoظ [PPF¶K']:=ff^k}S7>W ?> ؘ[dm >߁(Ӵ- $,왮nܨ ug?;g :abd-EaJֽ٢LbY00c1W;[ZY Zgbd|V#*QiUL,anƉƱ bzۿ*U~]Va/_4ka ]h1n=~/&ջaS˷}ԏ15iQ}7[АKE8:ڟz/"nd0P鋍$ XݻeC }%77MWbHǭHdk+t0M+w~8:W|4^Iki9g~ IF ,2A;o딛MC#DAbg]ziN<ګ6^^"S7˥,Gk$OฃnΉXc[}U b_wr5u)RK;i8npeĸ8~t\"jN4r4䉥*֒צ;u%櫳_BӼP/\9XaMJL +,<=SO_ BzOO݀(gI5o(e{@Zh IܹB޹-sdZ3oH*Fڷ4< ֫uX%ԣ#k88.bwFbꛋ:1*WI<̶ UYɤc\\HNHDaGmh\qKDsڻ=ȌѴ*q^,64(Ƈefw @D)-:>? +2Ww7&F=TTT@FC#][ cm(>0]9?fsf05G4a1a 1 9OH+dÇn ywsh!bc'YMt[Z&׵n(54c>+'okɁdW'Z7)FȘmi2`}̴ -X~rc=^x1 $:DSS&0B'mL݁P]vDy܋%u;[#uWx5Cn藻IKWb{hA5A 2A"ɹOq,OL* Nj RD?7'Mؼ+r1pEHJtH=6v%,M z h^_6Λ0TGY 5B:y9-gXƝkչ-HW z:t[4ttwޠ*s(fi rq\0cW>%`x1d6-8NO$~ ^aѵ(-LAK[rk5ƱI[+fK+ t# -fO+aD\XQ~apqʙhJK^LTG||ƍn_0)E^(9 /n?j2ju?x]px:W@׽9MVwS[4c>:f)&v>3踳z?;lk0]R5 Ś.8 K^꯵?SrcTpr [G@bacG3)tNV)I+ E{Hm<7,Ȑ].x+J2&S LRpQ6yvCxQi+a_%2&l?U $ji>K9P|Gqqo!Zy <ӕ` Tni"JoNGԊk'owf:::x6^l*z]\DU[ĺշt?*+r pE[> Zϣp̭zFWj$ y`KϿk#)}ߐ"=;m75*] 4sn<K y隯XX/uMJTts{saX"rE&G޽O֫<`}+0zJ1zwjzym҇?q!Ľ.`FDA kEs#Q?L?p\)Z^="6 a'-^EqՎa-X b A []~6^]N HSɀ؜$kZ*Y?Yzy`GڣaoH3/SKmb }LDLiS/<$"nvPC/FO?Fh?=V_/W @HyiﻞƄBXo$vvw)൉=Ub1@mYF/=+T_gDarh-ͣ#x4B;%U"U$y"GPm(.p4=>W~tzv@~sێQ~wF|]Y".;ťLy.ao8tp _3Tмy[Wm.|Ea)YGG', PW>v/8esv N'ي .e 5gKHEE=P!#0۸ciF.84!{eoXnqXỴ/fbytՉ{a徇I;'J)~ m;$M<p8POL[$]k~vT 2Bd:>buY<~!VGׂ/4-~KۥEK֒fF,F߿)b W.pN?Iהk cNF j[y+&}y*Cwq@TtwVpȞ j wH bW)Q3hCRd`P&;1qOb  a =6ia޷S#1v~}% ,罪Ņ|{ļ1Zus DwWEk̿Gbzϊj9; r l߈OKutY$HHsGPTX &s JШdT~#v_XTxPYAڥQY+w9RPPIxk H d%eA8z]T0ؠ8͉7ޠ@&KQ{S=rHrR/\ItZȿeCwXx;$,NCQMp,#)x)&bO݌zſaGsش r~8P2^N l۷BLAh'>kCLHOQq۫ns⸠?$A4I Mt>^(xh/ Q~[:lL5\[ 0 8qyTK :6[@emDJ+"7HD<'TvIC^7q8+hBⓤur <KDNp~7N-52%^(Æƻﵚ:bMGX?5e"Pzj>l1KCj 6YiUVŧQaQiHЗ4Z #}R-yv[+SNv[*N ۉISa,t\wq0 >( Lt.;+ة/VS##׸j*FY td#,ofUM>ϗq08tp= q܆PIƧPw7ٹY~Px?tفL>$TnnraͲ!wv떎MWco V]mjKj6nXSx#B~U|6g\F^{rPC깚R^#Xd!gnn*rc>No^R"b J),s좥](pM-īKH鱡=C4t/{uV)5yo ۰TߖF'x,HNDdx'PjRhvlk$8_`5/'%w/Hvf2Di(5eIdl և#Av &$ìts,2i^O$&"N`xEשi.8B웳y#*0_@WLF a7`fKuTWPxx%L 0Au@{A@_׼LU|!((:&&zQ2뺲o]PuߕB޵=FFK{\7]aP!H?S"]S(Y%ٹc/;{8vBEmmҟ hl~񍥰TeڰSքEwd0%AU6{/>[.@ɨmw?$T zxQ!zwnx3~Jwtttt?3Q-,w,?ڛ#J[us&+ H*+o̒$΢V{K9 T^r_aܰQՌFw6n0i-LσyH)Iرt1NG +4xˀRf("$=<$}hx\[MU*|4ܟk9x( uA哭_B^h?1;2cn.k/6@^8jԔ]B޴!)Bys +M!K"=& b Q$^k<`B ޘѴ]PDL o9N3!zTqqzVx&f,[f5 B9>XPPY LkEQ$z%1/W'"(q:;#IZeZ*' 52e޹X2BQc44'T1ى0)눀;헿N"橈[$96Dۜasyxxcϟ?Wg}Df db67lcyhܰBG< B[ɠ8D1L0-Svh3Um]ޞ ၅ygPMt_o׻e b"Z\76lrYi<(}V kpr}3.;~y6aZ`V4yV%IQ#Bvp󮰂GIŽ:?dzA{{D $Zpco_"rG,{Ԃ߮d:FfůhCAQ{#Go}g-?ٝm Yl`QI,Ä姷FԶ,OrS"p+ii#WvxJ49ذ(_^%?qwױΣu -d]">x`_3kkdU| 2)`RӶ&->K&ƣçNJ~(,\>A;Ut`o+,\*%r1?=zu9.7O+qRt$6.)WfvnY0}AqC/qgpSϙpHpѐSPFn/$}'=qh_տ{h`)\@$X5e*[̤y"SN/H? (cFCNPNzKu R^\t&O.lWkn-PVNjPYݐw)62Z/ЛRիcW*gkE͵.,i #{nh{ *&Zc%RjUXtVD $r*~h[10b_y`Rm?C^QQB7_zi?lԯz!. ~;;tG:9e)֔U[  n`0&qqy)pY=$% tx2𪀟=I}Ao G0~]wy+*2 -O;(u{('u:IhX!קʪfy 7$e(Tv5U}81(]w-f/bۋm|hk778LpY6nn|1ۜ3C OH)dK5ԗE3z @co:2mwȟ9M ꒋya^'.@G-dŭZ! @3\HeSGI{q~=z]mM H0KnUQbaGӅ!nmmb;NTqOEM1\/mҍ?m0I#]Ya+:Eچ'UCp5mA:Lɵp@ ,^sTHHtB-{+:vG3)P86('d;UlrmZlmme3n|*d?``Y|헀f1Rg׬YK[ lK8{N uɔs>ZVت$Fs^!b[eVe Zz}k C09aFIi 5 b/Z];T[1)(=ɗ8[6ra. `+E/}v#!'pDDBBr3X.<%HP1OVPoQHscT7 n3!hL]|c'*’Rւ;]X4 %\q`;2\Vg`fFW@O!mRlJ2r7jgg-Bi>Da:e|E?_5Y0mϙ `or`&M:FV,!ZoY-&LOހ2ff1A wbivs:cLL s8nonbOO~~X!VEzj漟֜lC@Gzo? &>oy={FRff:(ܩAO-ڎQ0`g`nTs]‰ÕH,"sN#hP1 nCTԣ&hOoN 3?J^KɎj4{9s}36HOIee #}bUT!aG 4@Qbn=.8il1ԡV6Fz ֈpͮ{h碆$L="80_&^+d6pH[ޫ[P$"!apcccZMQ^reFXbugk 7[ā?+44NG@2 |,Vsm͇&^5@nPqz"AZLʗ ޹sFy$9C)jfIh=B/0fP8/u4L!_W^NzWa;q MTE5N! Ȑ-աJ=z7.6#{p 20=#o~9[#@O l{*Q-J+K!))ݮ^g*=4YI, (6!EwXHOLlȮ v'5侄& ~c9@&7V۞:KqxS;H<9az?tK׋ bqAׇ(٥M~ Z؂8ZR7?y@WJ_ZZ{^k/SuXFg׶e[Z^}==02N" ]]w9K2l!u>qr;[(!դߓ1L:%HJffez~)<`0C} _A*Tw^$ݱ.%xO,8}Rly3Y$RvwSΨ6ٕ0l O!zez (d[#Y7~`}_&HHr94PN1V,v"MQv }w[h,*odd0Ǹh)f_s)ڌ3C 0 @bB*Zot,@NgS3mmR~A~s,JS4.oPaO)Ulp(8 ""W?7Sgq=HĜn92""o<HD=륢{E/r@r;TȝEܨt WA}fJ|,8H$ 7盳 (((nSEQwOVEc;~j( с]ut4 =a7}]^<}x*H\w &X0Ӆh/?o>(K!6@;;@pfN`=(O( kr{>55%-@_ xOH^X֧D~OBGdH2qmi`@<jJxl$^֊|BD_橈 |qtt|/Zg#y*F H7dwHϨ\hu!¤~l=$#2ӺS7~t nczZJe6%́[ yj3D @/ ϶m`קSYUS6A8rNS)4BUg$PZ֟gB{a?hC~4Y8奅}c-9Zۣy\, s)"EP=r`y/3 ^`0Uӊ{LkrCuWĂ}m~<TSh2(XQ RH[ mS{6K\UUK%n OX'_Dptt" *{7to۰ȗ`g۷ff,GxDjWo{ȸؾ^Q-~ς}{u"o/p[h9i=uԩE0LGE(Otxu"SF<~|Vysr$M1zDD\oipoȤ=ŷJTJj}N!eQ#rj-9b*j? :05y”q#MaӢ!t6sJ?߬_-gB,`R~;76:)w .|:u{s&7{Kmy 5=YcéJGltW9ߓ6{??=p٠zYWjmXkv9\Ts,7B8?fA[X20~@<7W"B%{faixdeI)qsxv &n(f vO !T7ɧ, [T&,ⵯQzoV{'\O͝?b!6X~j!Ţ ٟ%z-no;LsD#(G*5p/Z z;3{v-qܠ3*7@ s(F&~7R v~JM9޸7uNDFs;BG, cx$ o7 }?H\Чl<`<bJOizLzA>V̓ǶPvƐ-H2^Q Wg /^W#\Ql/ r!"!$%NdbQmhq)U-l WdIj{Lz9*c ՉĵΘ70u:tZQ dn/fgNi3i{ȴ87N?Iڲ7 鄶MCl؋/JG{v]&|*-}'YDN;Ng|~ 99!0V?_"Ij|qqGJ $Ჸ؜ eX5)|HQ (6oUh|CPpArqGk4/ʗ:b3OxRLrsY^gGHqb{o(kI7L-B} f;[Ȉ5iPS6duBG!&4s Ɓ'FDh 4P"@j{nV*4bs:+!pPjs!![i^7&Z#q8}+{"tʾC'g򘐐23 $A "ז): 2P8PmCY4> ,m|8<nۜ^ZF(z5:pϪ)I/Z AXQ/"iRJd/vZ{5|5ԓuv*v/]+aVM$PBK^CېO)ޞn|TT>VrБpV֛T|`׸6Omq3ٯ82邥ZJ] ywd֣Xm&^4aΑlCYzi7Óy)ti=$ Dt3#cߏ_=svsC6nwWҒtĬvYrsh`DGo9#xY۸lc#cl=m}U%sn]ce4S_}E-bD Ptb3٣Χx%x=BB BpB)"JhVnppbH>9lmoA/x_6`Axfƿف&-R?1ko/aT,`?A{`M3 yW{}} 45kH--CW g;,:vzr1YdlX}W"vrgJd){e"y!*aEzB 2NNA!=]!+_G1ƑBJ,pJ1=N\v ءY;OyLn;a Igo@l_] )({YCȏImVpHئ?:@ 9˳Mzp"Itt~橐!-2'aQ 1$؛P~ԃ kd+/"$GzZ!iR?A74IB'P-M;"Z {ySx zbRZƎK2IBr ջ\`aGB킟V]mؿ;/X% DR+|RWO nP7ܼ0&Bdt4j[݅i3^3?1ekO1P vA]*prbHȬiy: V1FN'*ؘ.Cz:=hӭ%`$x` *& ǏUUrnT'w$Dd P^j+t {KꧪnpbC$}4uz6"M|[E:4Tqw\EAj! $$AO|9bncPu-8F Pj q<{_~ J4%!\!RBJ7/%x6k8u圁$ÐLn_7+M<$dΓO-w8tV{!o."Mȼ /_JAZzCo,u^5P6Т{u#q@&.$VEur› @_OGOmp+BeR qoPP@n-+oml.Aɚjpp6tJ8ȳV~Ϸ, K vx&T]U*US篾_^Б:&*Fq3^Xe5)8<i'έ7&6 ]a݋iztRHat))x55uoJĘfJ*|o , ,5@D P R1ϊ}jz&x~iBjIڈ`(HirC9`: CzXhp0 [twT%k~Q Q{*#߸tò%,hs%HrH$a{XmxŠtvv~j <#AHV`]7p6MYkmVj WCi6CeWG[Z[OQnCk:m޼zַ]Oʍ܀C>^]jaWe"D ǏfVL&(T1Cd,* u.ulN+6ƭ~)pVyq=!=9WUY@7ǗOa/'|;yǧo,Ы+АY:^rϷ̀]Bf[jN>:4:={`*Hƌ|bЁhyAV+m;KZf©1貽;_˽4Y._>(]< pfS.ewdx6\0Di &5hN\UTè^K HK3g~“m3Yt}1$vlͅC(5G)KdS()F'ܜWlq-[ml@ VM%&&W !..ItF+w郾qt >5>5I qYCqĔg׌cWlf!ԍ%y& lT2gU/=uӠ1[W 9yGp#扡nUvpw 519>9]xMgzG Ha$w͒咭d[x7B`(r^q|ˀ)T vl CTCik!K@M#R"kl` ӀXЩu@]QY9F++ks|lKsqۛ\pGja.`_܂~caN>Z$<ٮcُ +/z_y"2@E:;3Ea̶pv_G.p ԭ5A4+u3@»by>3 X?5SW56PgdC"g5m$@AGˁTKfҟ3X0_ aOfg,H JR8O隬YQ)~XyfۜI QȔ,+sG?fAٛAVk'D1?x!MnjEsKRG ;iO~ GK~y1~B൒RqX8g9W9eee%¿?9/uuoh@@Dɟ^Ϡxas <{#ϭ؈}ǬL""6L -DApAm 93Th*(3C$0SvHC}Nj%|d>u65ҝͨ] %HNȾV 5Kٱf㯨vػHL|IB\eqdD>Pf8ttT[Geݽ4R  ]]" R% uά5gfYkfW}g}u{c]?nyM?_~@ :̮prqa (蔵kqsts֚.Ze[33~~PDzֿ^';A|PR 򿵅V57F zCWX?~GÇ,v_!,gDUo:zߌ!~`m\k&ϓ(`@kcZZ(qU sxc5 % N?Y/[[by=Ћ)@AI_{z{K H>sn0K8v%#=:_x ^:^LOa֜!NbS,@zѡV BS{ۅ)MYW+{P%l*ie%uj7ntjQ8"Aj`5 EkhaOK۶ϭX>VL Lym 6`Iƭn =#QhUiIE:탶q1k/K%ܩZ- BOժ,kȸqj$m*륜쏲K/Q1OL$ȵ> (a}~txfZ/OIYYP0vM~- dI*HJ2/==>z?"ɸ"#tKQ'US]Hϟa}rsBӔwrD5#}15\)ؔ7t9PJvhT`Ti{f~`{AO5;LI.1 ح= XP 'R ؿ!UI6MLcwUF8оnJMrzjjZ*hL89_/!}nOTճ~͉NA)8jTDŽ@kO4䌀5@gMxxߦN+.0Bl"l}4?x3%.<2)UzGg"="]b@}sC^g~DtަȶUHldwaTMM2VKsZ#tn=Y2 BuDPh%˶(Fmst YnBΆTԁԍmL,' o&ꪶ;DLiaN ZV)mXTQA9?bdtM'OBSU zP/?c*t`T4{DI/=`%PZfJiՈ|dπck0OYfq6:c WEW=>ŒSomw5мӵМZ6Eس"Ir(Ϲ'*PCNrNjGMLGB~3uzuJzY: "@L1OxH f?QgչX#׫FSɑ?Ƈ?/zgrxUb zx|(<Hg&Y nmh '7~8r[e\;E䘲n:Yi\j'6 P`Eِ~E'0 䗾:kq.~ Ms$gf̔ V"҅Qxb:g008 b3rJPPII @vjl $g;@?˟{e Qzu8l/]shPQmGl Y9x^=m$Y5Q)" SRY$p{j~{w "R .UpJ~U p%䞩d(mz*;-bd4涩I{ !7 Q<vcD <[lE*$;PMي8.}ZX !ir[cYrk߸󢳝#/333r՞Cbr a* |xr|VIt߰eDu3LRaX|-iЁhUٷxht|fd,*4ssg_La/ R,fDt;(T+qwco$IA|]qqqQ+azɧ-J/PґȐ|"i_p$)yŽ)v-Ds;a9DSD ߅M ː@j:XāRxo?~Ԕn҂B}MGY!X#oGҴvQWk텓#q8<}O?#!Z>: ,YƇ_.oWM XbU~c@;4Gʓ6y~h[VNI{;%2ؙ>1:Ͼ\ yʌj?y{P7FGQU+mP_xsĐ" w0?!-p`voK]b?L/%\cIZn 'bt K3+/W>WPzve:Ǩjd`sZ*ZޯJ6vD*u:yUE X"EW0AAV!K'>,^ SaLWbuDDs%`=XdW=|G{k gapQE_H<率AdC6a)FUx}b>l~]M2P;d>CJȱ'v~!" ;GȑGr@U{קPy:]hx`AXOW6%em'*:77"fK~SQ'+{8&&m=B0j&~|g:+ a>3Y,."=x5La5GP:yCMڳf("##O/>x ,gًJoc>?JqǍF*Dza1Wt~i1_!Fj,ZD#,???Bbb⎗ȾKhPqp#:6Fz,yS}JıCRqC>Oo.ZNnQӞ $f.-&&wunKKGRR_c:Nwҕ3! Z^^fVS&\>eJ_c$HP3(7ʬXDӃFlͼ{˲xMηK'_#b+G @Uib&hkp v;&ˌ ;4Uxr }5a7C1J̬ep :㘯/ U?|B [) TJ+PW\75|끶ӛ ֽ8g`@w9yP%5UЮM NF:̔ޟs[|PS'aTɑsS.tVJ6e%Fxg?ޡ@UB.OMMĝpzGr슼kb"B"$͟yP)HVٗ^&O'ƫݑwcemO|He=Z$Pi:a`"KO%z&J(=Ofn,;>ɛ[|ɁR|37C񥽰o3Q~ Q2&ݿ~6B! 0Xuu8vAޱ}B;߽l=WO$ޗ\ QR> h㙺X]GHjtXv,R ~IfȋQ1-=FDq㶃VLcDtB*$lAқ{߿uIQ'? i$#qC&OQ mz6,uQ(ǙE ?9fƸQ7_Ɣ@CAikc>h*R Kr+)gp.[-}cHQz!g!3BУ $!R,߻wW:|eIn?+r0dVfⲵ??΍wATߨx SY@8 Z Ń`L=E MDԏȗu)BmJ^z l5yBc\j'~pcba-ʫ9BzCOB&{~iwT : =ZxY%qqA#9LLf-/SӋ !!ЖdvσN柦H[l JPw=4\M7ϑNVJAk+qb:=`IJJB9*o>Ѽgq啕2 ?y ߚ8]UO1$׈HbHRh>tK2_(}R6}5h9#'JP "Ba&+93' ߰^x>%zqlb4C\ՐIRlS4{0"4lW4 ئiID{#3 V4V*.?)gБ'o鐝QsG(tx,'Q5XGCr-97S+W%n{uN&|Y>l @=D:u.¤g λFעH)hoEȋ}~|.ҏ¦001EQSܗAx dΞ1u@^:|GZ 9,}f.%Η/i&H]F;3=s gRCzGftt(]DҒ` $#s~\HjjDMM.뛛طˏO2"Dcv<=pCxa2Ct10ad!hoGAy{!?dbt#3ʪ MLlO[iC7?NU,п3MJb gxS#i$^֔jt mgPdɾc#[ZznՄz?$Tz96փ] &:pѧ߶Zz_9WS-MsUHTP @9 ,:&<5S19#@WiB4ZU }q'o7-zAoFNQqC% QtO(*ZCmK"w;gG &x.:CB̆O|||]iHx}L6ent{ʥ%ʚTxYTH}5m-Z.[KȀ  Z6=C/VwqgfsX}kjxc_tt[vfYUl݆tWh=|k~Lp7Ofg+F-ao{ : h<5|z jصV3ZLNiBh{7"R/GꕌxVB:]&(_9%g;c OGg+]|!uqk`Z;<+o`m>O@Eh`F7"_GgѠwcyŅZ$]=7>fMRjp:3MUX1 =?[hԔhGuO &*&f8-OZT.XagZ\M2NJl*th^dFv*ۿ"xR^7;muJV͔њӝ Dk_+r<Օ NjQ^rǧ7W} IŔe =bC =vv?+-FbT{XN"^Jj0]Ң` ڿgz@Nz\=hfCG2 \}Yez6C̫}ʡSxeҫ=rZ'<든ZsAROeyggTb*;6Vn[ W"Ox7ת>b3a!\٩Muɖ UqK1-[o= [6=fhH,d0$(rAr92~^rZa`3rxɸ̭+ֈ]ˬ.nTO5Y. xgJ$Et$ ;sAna"2>'|y/#cbI/!f3]絆Qnsܢus?#'K+4=uUh" MUaBS;#P(ӿwi$Il3(}|l u7pl٭*ӣo>=0M+o{&]rqw5v+bt]óz":l@Ò(vV3|qgaD>vO>& ꥍALOGYpGr:q}#L!^g2Fl2!Eu88fݤ3Sm#bm Sѡ4_ܤc6@r>ˇkP0*Pex\T~- E?+w[iU-;q䶆**wf2rɼU mxMzON^qym٥j # on4s?1jUSWk;5E2 ^Z|0U0]}|5$,3gȈ+9h]j+&5]pD4} !tɋl?Ni'_/H)sWW.oLYfzϯ˒g~g4J:‘*gY#XQ=OFW~!ܿ-ve]VqM=<-y V~ g@4CkXv_P6tVqk:]E/P/q]쥢G#{y/50weߕNEHjU5?[Z2:|TH7 di|Uoߦ)ݵEOaBnO3;?] yz֯8:d{b$ (p_D b{@Ou ztmںDXA)T'Ȃz?ªJ&`mi;76?γ?]?Xs G t:گbbDؒ/ZyZoJ?!%K8>[CC#n-e)T֯k$C/2E}k$\?s }P 1T޵ PyuΝ9-ߦ3,6؎96CGoXsZ40tBfNFfh8eU-zך(yb9eW.N\kyHMHzL^I(tM  a*J*E<]\̇tSщMfMi!MZe9>"eR_"5fuPˁB͊}@Zm C1N>&e(?\kH%-8e [MEz?@ ZeT=?Jx~"z%$7oa`gF}ħ&,I4,$"k l{k_+y#YFwE&}- -lgmMWo͝d/ l4im ' UDnTF[I6L lUe"0wύbA aμkбdGG3;_>r#OMPBIztʽ!e x)NGzZvnm kH; )?fZ+zYSS;b{ZKtX;g :lOo>`>|q{1ǻ+&&tVjQg^{sd^7/OL)_Rg\2<%=i\"t>^i[ {A5-׫T'xTA(PH2BJxMGR~|Cޘ}sF+ܢ>a'T岭99~iJWho>Ȑ0;Y k,nrR]DDl}E4U&#S !1k}cVtbj8`̈PNvIu0$_=vfYx;sa(+ݳJ>83ɯnf{Mk}KŠ_Kn|.?Sx2'bu<*|:6=giJNjƅ$ cmLsr=/*44ҡ*>$􊚚ZI/Q WJ^ %튐+Vz%"U̍CnLj{-p8-P)F\z* exUe9fs۝M! Hr}C*DGXWœ!1ZD!H`wgƋ0ϯVqD#'$)\)#RĤSx~Ԃ% ms/Q1JUAf3#՞c2h llo1Bh5)D1wWcY2˅7[cɼ{Su!h)w[(JYA8*9Б)gݺJ甾|Bt5[-ilo7zWQYrZJ64xx! xAt~2.;^IUF+`RC- 6@Qtoq55$*^QD,ʹ}oKNٻ yO^,v7  s9i;RqنE!v|*"vtRŤBF,k*#BEW7%3Xo`0d>~79'ay&o{׸M2 ^lpX:nKK\xjDrV}gU B2_ϑJP.j7]?OO](d6{KI))#8,wDVu-5O% 0!Stb>nNՑehКR—\KĹf@gxbYYkZa_Kj>K,_YvQz,26fbz 3C61gi{/Wm/+p @啛<]$.k;y5?s.uP;qPut Ѣ-K_A#| |$P ?~;bcĬt/{nv9ÑZڹN9OfRg%>˒]6 U,XqÎr@k8^ >:o u=̑&ta+4bM!iT-`~iBn@q.ZJbrQK[߾VLrՏ<:mޖj m8%%n`~|hL&2*6lN)VN2?ZR2nA~hY!d +lz 'b ;,m^_hc`Ǯ2cD|{ALLZ/xU% tJi=÷yh Y?t_`iI>'<7A}ecs1ޟxJJSo"=iޢ` jH ))teLؿ!CG # @A3wRKE_s|Z,|Ǽ/%?{S ^d&=2'bՖam1H/TvsX#Ώ_m#`%9Ykotrm8GI꧅{.׋ vDjyz7,'[@6t51gRN˧}]8&eΔ(eU&Ͽbwm*&OJay Ç]PxVjK}o8uZw ,P~t9{ϟPLzi]qBLꉀVzDV7P/И7 Q_U7~|LKb++Jt>dImL2#'|Vsc_6۬->7@pׇjʡ]bV=ΛZ\itJi"hC_( s%mD3t_81fW11^G5O w2q~V]Nk_?xL ;ؼG,*BQ?\"opٱT_9mABŰ䗻nR@lZL`sF#u "}4@3qmGV.7;9C>IofV:} fg1m% )4yQd=4㰹5gh6WWNʱtR iKj)6z)h>]=z%xh-+V*OLd<=+ Ez})<|γ-vH?+Lfc;^8M!o".M˝@ʌV2`e6\j@=B'.jʎ2ỶRYRN  Z*ZU~W3 ]Ǿ\"|_ UZv2[ĵFD eZ蹽@^|Cغaju-ʲ\cnfd0g&L6Ɖ"Byjh$|-oh_dHH>\ƁMPj4jUi5Q սB~/DHBcpms5i:O׵c,B01wPħ`REíjlTb,EH@ׯr}#5Ω󫥯"W\I ύK͇U ŨjEYSp6GF.daB~&M|ž;=Dǖ3lo7oH »x`qm-ѮCeqW'.\rFF),^>hH('`IDl1D>-25BZ$,~bi}D0:巸rݛ6(j( |z*Y^03` 4LLw@1{;3Khg)?hoK |0yNO}5 wYQߏysp1t?'4 z#7 ߞ~Ej: g2[uoeF|`nQ^PytbNW(|FXm2Pa7]ZRHHUjaɊg_lY16h(fqڳ \–_8"DCG_^BNH8#[A_k퉴'lx5CR4붒,E|HhO_KklSz5*Px{pV#_+ e*+_TZIk^hZg _CYbF^O\A ~n4̆a뺺SMv]Slj5Š_vuMdԿ0AOpIZ^;4ygމLH[c}K(k'g7B\tN4^txjRi=uJ##0Ovg˳&}&ú}Uܑ~!Iz_I%DKMd,iokiQ,AħOS/;Z "SimT#_/pJՠ5zD.onE^Ge-+|Lq怵.J9;Y{!^4fmI u5++U˜#G58V~~O=e?gA0JKԩ !&ag+:٩ih"##Xv?^wRߦR)Dw~p>PkomD~3 o#vJٽ'bW홧$>Mj)#wP=Q|M6==RpqZ ɬw/: ׳zLJ{$ e܏cUg9&qĆ':ܟϭ#&2P{nP(>V ˱[  YK}Eh:lF ? :-Q^_| {n-y4fB:&5 j'U_:5#y^ T_d)lQ|o S`je:nZd~z$:LN^޸z nƽ6uo-ssŴva$W“R%l瘵ߝje;/ {%c5qx B}.0kϳ~wm[XDNM1]W{TR[U W&cɶ]>Ck}ˢSJ#{~R ]PZsRGrk=xi)4<w fk}׬ I<aH47"N]hj7TꞣKK]^MG+1%cV~+*))LoP6Lԇ?F GP=0}xA3@,h^ҡ2G_-.ImFKV{K> F KRYj+]w H۸pdaϣMq=^óRфJtm[n\gNk`xM>LXTimm_r)dgiHUSKv>|`Q 'kJ_+2O *Pz< .?<~[d[-d5Wd#*/pSYW-AC̬y4(PF`kHzۛ/~yRs\{[?ɪlcoW(S_H41)$ ՓwlwLѽLN4m7FδAD0JEuUo{߬s`\ϢlSδً7}ģ(t21>&˝yBlW+pZj(ݲSW8)`>UqxR+Xb\\[aD:Xs|nzɵȨT#tN1^<:a#KF4v"7Ϊ̚ߧz`blނ)EI7Vj 'v Av|2}2f353Jîߋar!1&=M0 h0ot0b8\Gnys 1z+hiL SlH[kлע/Kbc?%CtUex$g3UWOƍ÷; >Xl"W80aʦnxo=\9*jdH,0Y$(wƬӈ#cVV|^ 4p_6#֍u n:G6#om&_i=3<ą0B=_V/ڼtxGc8ٲYK{[/C|VŒ X"WҟdevlZɦITreAάʪs BZ][W%, C`0H NkIc<{v//ǵ^*d>npUzn㲙iv~)5}Hi113[;)P >2HenՋwN::I>NJHax>j|ƲM1;:ry n,i^u4yqWSDdZs"[&gM*mL`s ,AꎘE'w~{6NlOGv͝\v uvJM9%^Fn.ߓV}kjoj0'#^/):Ha??Tsμ6۬i) :9U涟ȊEp#/B4J.K.8)Ù|N Wi !o1o#1(uv[쿻~2|@Rδ2xk,CWqP^RX)T#܀,^F"2St,C|U-юkQ~E/?LWY1&kV1ƛƭlI RP=:A݇MWIɍWZ8?Dp`LRW{>>[c%yLz2Ryzq&%LQIN6.ySfVӕ[LEt={5|84-7s.#%-Eԡ?]\~4>[_ͪa=k%ͺ:K!: S`Vu020 *fX{m1&Le#~%]XKo' DUsp( 4xw`[>F]rbF^ $ @KDh /h'5 4NV ~W4"x&s;3_U {72(k[<׬}I}ZiBU3ϕѰ~[qg͹>*qX<\^g܌U/}RE=H7tX& 2( @_ eE +>Sy2HDuZ1L |ٗ q[O.Q_U"JtH[ױ蠃! K?fgpi/BSJ\e+cc я.6奷5DGeh_ 27CaѼ{a"9q+@]/ 1QYv1.kl1 W#*LHi6wDD+==*gǮ*;ߟ- 05al1T^P3+ ":zi^ 19 ~eeeY,w|\UwE /@?[L`WB8sC~ϟƃzJNp ("T=,mTUc|>|B7UG&!-3&ʭ1Ѽhgi2MŇ0Ů*`R#ӣ?Mo. sF. ')ށ~K]UU9A _:!OA$ϵy uNvM})bL&l Ge3_58BbxQ`Nf(Y5(eʺF-^\:NUq1g (jar?::zIK$Cm=W!v̓+ӘFw@+,/%{TUxt.!TUM1e!]wOOtKz/y},PA, ōm[z^16=.pS Cz"Nc FȨ%EB2KG!1?ɔ cl8ӳmԸcκ_#r. IF_wxxQܒ8 bz)5 D{ƈ1n0iY٪luZjkLFE"S0'sRQU*JnrvрX@76u{q=O?AJi%Vj oO:[a`᩵诛HVfWfmU}' mlw$8m#A *si>Un]TTui}u(iy -83q{n40xǂ/+3='ٮDW]MКd *0DSDUy_8&N'̏Ʊ5AiQ i#lk{M)}kM3]h žs^OH6JZ &k,I:=>_CjDY`km* ܸm(h`הw3ߕuˢ_d쑂wGTBME/' ^[rllV Ö0atDž'+;b3f#sÀ7*Āu2.2!!aEO-h6'Uf+9 0hMiܾG&C)[WeUO1Ym8ð5[S^Ҥv@qGȋ,zcgV׷U7mQ CN8"EbZ[^xz-QuB'c ')t'\oP=1ɤrI@d17?-M T}z^X<k/d( l0I,'2"z'Ikf$g# 6DMXyuv6΅ole֍`MN(ă:}aQ/V~Rh7C0NTYN'sSN''7cQ,//'vx uiGI4` xNq ъqگ ?]fdU.(o?.%S0mՅ#qUkePF¦@$&icxK 3K%7Y{~L}o_p1.sݞΌ]*Rlu띇 ׯ_j$F[r+A&uH` }Jg} k=eQ`&-m}97PzIBHA6$nJBt$W `Nawc2lze3ɷ~dZ*mR^H!Bi5gQ{~mHWjZZ1z9|x| Uiyg0E*;׈aq& w|w]W$ۚq٪4HP(p @Q*ngNd+ `\zzzj*WVș-/~ph^BUUKё THllHG]OW)Q-:;ŀ=ThUwE3* i7ߧ(4fF=ZBWɨX [bψ ='l,tjۼG( }{R+Q{4@옩*<3=nE((y!ݾ8~dFX:Paٌ%#hoVh`d"{ѹ"Odq$z)89Đ$#Oi)Ѕ&;v&0WI{{7ޞִX`.Zv`oTV`0-BtdϠ?}^R4]'P=go-Lmt{Vbf~n{3T3 uhX#]vP@ f AAXO2)_enij+j[)qs\?|BY)Mª&'vmCyتa#i ݓpw, RRG7y)_(4WX{Q,'Udj$_-\H$ުa/prdt0@޲_ ' 3}f^c`bL%6J%ě/|EbtNϛJ+i-;>@}4b\nK3SAWAn$%Ǻdddr .$tHss2A< ;6&][䷑ʞo:MċJ{<>tT]6ltIm__JfvFZH·5QxrvxF:>>mEl~G! T et=z5ӆkE欫!~y Ъ9+U!/#ERQ:ccYB%6'2|MɩMjre\> 1=5edϐceB=% 뫹t39򔾹9\":Ͷg(uL;[uFKS_(iKܰg;ȰiOZ-z|)>jU4q@XZ%p0Hx,(g]w">:&V'XDe@8!;ޝkNLLݡOz[h_4Ǻ Y5DI]xQ,z2]wOÎrTTQ ې~btJmU (OjnRHn+= a7C"O(o_ Zy_x w^fY1<@˫O F~@B_eâ)ĀkSkEPArPUͻ!wKvόzSV$'|qeh҉\`:BYIoM|ԫE O|-!(#Qzqmywf/ K"Ru{/rPUg:}Z]8ƾAmgZK#pv}u1.'cIaڷ4>)<̈́GBr+Y45٧ M*էso+[YςOyOҁaDOzzs9߯Y)o>\eE:EuEz˘5mGeNŔ ˫H`' kKaHtޕncZM(-IߗTHvƑ00eCܐw=Uut6-KuYQ YրDL&z^E yq4Qs|O>1:fѮvYI ZZV~mM!!Zg4т eyMb+a Mׯ~ Z 9+bo?7ktbaQjVAv=тo6Ϳ"ަxHـ=\$@QK|^ )w|ʳ 0L?BGgq)П6^^G``_C8)}*] %YZNR=53ġVpv%mQ#{M=h wT##"NMvhNׂ֞uHtQB,|HW؝wxW+bh׬ɗb$XeO0q AOVU**Q nUi\Am*UhNz4e+dd:0G+_pnK}[$P椱~x W+fuЫ!ӄΒɽu`etIrBGZ]ݟ1(,pid"ʝxf{/^Bv]T ݴUx 7Tyr:2X@CNkI^nZBo\3nLH/5全Q)vM+lyuqc{ J~kOdL=pL.halC>ӧkhȌV)I WZ^Ш:ݮ^WZ Fq PZ\髯sO.1at]@,g/PYѲh'}!jM^dSq=˯ˮ,Q!41& 0ZJPMn>p+.;Fwړ2#p94;x5.xJ{7ϓ/ %#N?P>b/+WpB# ~6U9 l@ ULO+}[L/ħhsU&Z5*{ {] N;VOd{r=vi*T\jk5s6P0Ђ}CyzD*JOS Ӝ)Db%T~ @D@4b;۳(1ǰ=ׇ! 1A]@B!mC @`(3Gu) oiyçZxrVXgJ- }C8(iElXO} ?t,4%ti>!ogJVCL oYf4eoGckMT)YtZY0S _VX9QU}!~)4y2BGgdX{m<JTƱF&U%,*-k|eM{5` K/9~sϳH锽N| 9b?m1}'#跔N0c Kح\30LLO_,j ++`+U8b.'mz]aD6 n>ځ0T`?~a[=/ĩM+3Kk+ 7v=1uه*uA (\{jE&5-Anu=Qx>ێe|\ClL &<0U,^&vB7gxوdD{d;֧_u7v=t,#u:)<*A Qk(̕FqYМ/H-YU׏ֶzgn]WL/ZпӮtYzmj 8w+|SpFcGiځ>н[:w}86p}RL\aٓ&Z]0ۥJO&6_¥2񸽱#e GJ D;׫04<^%t72 11ǜ p.1.i;ko탨TT3F¦'>hn2_0~`a-7E$JE5_,Ғ孌o+)OIkUAeB\YYNv87ͨ| $㱹3_u(=/ٯhx4' V"6r(YktW++Ho˼a?1 T'1.~kpsO"w5goD"Qa3B0W([0gIkMK'Mgo,ax,^>{GN R+ӤuIpGkY =$Ҷ5.fEiܧbH'91Kzo I6n1d8DT8[x(ŭŸzx-b024)}5Za?HQX1g8,,|8cߖk\6ĐzdߊH `7gE j j ;̙h8CsnO&\%o }&[b$&1 Z_TRB 8uҿɰL%xpuN-sYAk.Yg(wϷemI?۷DHK{];xTV5=W4YCWeb4ڐs<*W_*T!zp)0@䳖YFj~8e ԙ6*o:6KLIT_;['RgpW5:Io~|QQ SJLfsBŞ>J>QF͸]Bt5iRLߏY$+0=D0}irg۳| |6ǩߙȋ8Z/r5Z 7LvT3ϚzD0߿?Z0PlNگ7d˩6Xk)M֌}HT.Ԕ֩W 4cUߖݴ O|^^\l3Pܘ r@xdz?@HFF`U#=<)@Y[faT꽾J%QrmX  v!3302ZvЧ.4W>DF>gui{BglxѺ#A\0g*쟾ew0U=˭m0t^,&o:IUF_z0jܺ  K%~dg'ĉAA6=@[|si] T~[\_߳~kHe!*ԵhYߵ1nJL2U8<PH싵3}PPe`isF_Cpu}adcYX #z[=djW~JQrBԴ*GP`$T>S?S7x0ً)c]~:9ʅ><+, < Tm@`몺ŲAٌ2138)EMFכZz.iCkŐCԾ&ќN8q{sv)gt sGS3oj2Qk0\]s~x\U7R`? pem-XX՗נuoҡ Kf1M@!h)vǧo1+w7YG9m0뫸U,v[*@|koյ ݊AȦB?Q/'4J7.a?z0iBrv_aoC4Hi?>J>: ϏdXU"%xpǁI/ ]߱n@h u bP0cy9Ԡ Opu &eC}!zH*^ ĝ7Į= #;m -XnMqF? eU)|ﲝ΂e5\%ڍ:40400s"wM*cz @J̰-dO CF2Iұ36?x)0\OKhMQq,RՌ{}~fNȘVaN9"Hf{36x{mz}1TĻ"&³;nw,֐)K#V ЗĄqͯ=Wug9s@Nn‘OwF$ 6GG3Oz4}] X+qYa) O!51 ov]]>7{?S$xsM^ofE +,ً򊵝Ipr nxP?|.RwxD:rܰ?-LHTx! yArFMA̦/OfZ⸱ْvі:lfܠĂ^Z^KwTE~DU~~~w!LڗiAG|Y+DJEws>3M—.00D҈ٻf!!#^ H~u}qEs )>=Yg$wB"yyvimN]SZ[A#ݧ u~#g$voq џk$Dvsv7b~L7Ճ=pV 4*X=[A?.;enTjN_%0`8/kNM$dy{oѠAt|4wy9(g-Y3nG6Gͭ6݌wWܻ]BG~ vCW >mk!Nݹ Zd_Bć&X_OuAv">Wvˊ2ŏ&_R C<&:-SwoQMA_Oqn庑36n'2}k&Dv殎=v ڐm@oζ(0n܅hGa %%KdQfnvZ}($u.OG=<h|B/5x_=06r9S6@fV|SY?7~ fDr}ϘuO^P9WYu5DEv;afg܉e 3Wɧ{ZPltk>bg _f|"ے:ٹ5%:e `Pؗ" iN5 ]]y6oAl ,з%|qK(5 з cQI^42b5b~:fOv#q.<:k+l5p~+;q ݧ ca!͖ Σݢ3zܚ>wH~vTubrHAW-nTkuźgs*[!<-ADOK>a8T:FJ$nD| L`iD(a3F.B5f2"{Oxl$  XyYQ'8!g kDpޫcNkԃ=O?^U۴$N`h n3;D;/(o`wBsB=giDݪ'a xL[^"{o8K]FP}篯`+'h2 #v//qa0*b->%.iN{ j#NY uؐNgkſnZ㷦 ai% A)`k0c=L-nYl_uCvkoA?l;G_-  fZhkwPKlYWerr.iconset/icon_256x256@2x.pngUT sKgtKgux 4}XT.tw7H#ݍ(H7HJ7Kwt#tt".[ٙy93HuU94dbd / ^C.=?!9뺀@B#j9Zz8[<<?+CF w4˘GCsL^<*J?jhiLbGeID;PZ]]M@i?G"41m[akh!bȇ9Y̌,,]o/#;- ۾94^YDv#) \-њGMڬ}(8_^r3 hITjoooϨuS\͑szǀWW@ƃ?řB #mB 2\p fpfrT`G|g$!`AuMBnV=u==f}q*cXRg9p7;!C0b4@֜=jZɠY޾8vԏ1*d礍 'BVR_)#.S@vЇuo3^CiUC Bzw4#A݇倗@,J4p^ќX\nD0$ 5lŽ!yzbx,Rx ev߻>qUy_r3w -'ݏ`T- qkb`3G =R&M`j50\a4ÅĄ##Ø ,!@B%˹d f445Ƶ[n%rssKA*w~#yUX}'г^Xr#oe:_%WU :m@~LđIS'{#:b&F8%=~mlZvot:* \gɁ/'/ϑ-G횠UT s>@0,S]G{hɹ9Jݎz*k^IX˳)MZ~:AB3d}hh_!]sʓC*bjC^c;X(: i5ӊ?~`-*2m6ne7 PX)ODEs\E~7X?\O `cQTwJcO*>- /?qGN1*dT&g5 sw1㎵'N<jfJ&}< _UDR( dMBn|o<"b{pìqO,Q+#PA qfyp4*([SIJL]zUJSi)>*؈oӴCZB`Md9.8Qգz CLdjA`b7-L wͿ 42QrF\kڌC Z,͉œ5\&m1\ ],A NbV+ (7R l5P_bH_&)Mx%0hFZOLAcG}c2fS.d`&Û R}Х )߈7,x Q[m)MrPX%`qăr=pE"_U|Q;"`ˌԥ}L+TX[v?tׇs_4+~|84< *o_S 햇?b'ˬ^lNG1 {<}qwɭP}"suRa//&m./,+C]jv!|6ADсD/h@#W#RH;ݻv.o1>*N h].+DFP zJ҅ q4>^,JԀO31 $T7{׭2fm5> Ʊ J4jW3%fz5SZY2LXE;cF35?[>ZRkq l˿9B9ꄕrªWfu1KMx| )Sֱ-az.$im!MY[tGW&V6yJE1R( ɟ#GF"cf0_ LyS3- N>"'5eȍâɻ9ZhF ʌ {@:,8?>|%O`Twӻ1&> ?gʻ1r=AW⃼渴bcݙ |((Q֍ F?b oL0yz >mpN6l^9:UPqC"غD5B5+b7I*U?NM|\-U^G$v U1Uz3:ۀ[Nڭg ỹbP$ӝG%Fn\%8_h.M1 GE= |Y;KGqj6&*WD:c19c$ Sn-)/XWءEp #CSo$%}bbF+! Nܽ:x!5 )??Uɰ6${) ,8v75OqQ>x3/~[ DnuBPhrnr8Kuci7tcyȍGAʇWOyĵJ2ϜÎT/#4a?%]uK- ,De:nqGRL9l!>xR HPLHDŽi OxL7-QdNpq^fge]F“Ts{s#҃oэ#ЇlM>%vM_՛Q~Há@q(_}ͤ`cPcr|8&'0kxcQ+tϮ﫧 ӚiC+ڲ 7_~Z 类v xN1DydRyѽѽJY? Yl2us,r.;]@ꛀz7l*E}ap H`+RZ3JF#(JmBy$4 4IQ>$/,7zK{d8)jOਃ*ޖF#R^KirZv4&t|!E fI[VI:'h D 4rztCL\}Y"Eyۊa&sA@X-6JN v6Ifb᥊KflwM2*Xș[d# vWٕ/y\M{q&AV,}nZģ[q,a8HߙJ0J\5bӎʿחbj_l*sՖ W&(%`lBThPT,3?yUO%Gw}7'\F'ǣܢci>9$Ft%S"1y1~M>jdF ڞKyGk9ҧjvL&λJJ@5P@FF IU^MO#.GbDǍ$YqP%y탪̓- e b5a9%c/]QeeyAK 3!٣s85'jWkK C䒵iXDDkbhp@3MdB%:T\ШmˏSt"|88_wq-4qroiME%z pB]`ýa~[&tzVZ/s0q;zjњ BCmfF.\-'HGV; % .4tuH`AC ѩ? ˼j`u:.MB<:^AmK-;vٚIc7?l2༄:*B6QqE4%P) H!v dVځozZ4gf{?xa38hǶE~Ku"Iˋ0h\&6\@|S*j]xo,G. J0ޭ&VuNǴL '++fLTPoi|0%UWZ +شyjϰùHׁؚƗOdmSR96$+lGp($lW?6))*,K J^-9j _&c_I[ja1kuK|}>8d-A%{I .*jZqSq|f߀d أ EV2~YU|FDE5.g:3=Yg; DݎT32Ae>U Slٻc̤[qAvXf(ܴ+L\Mە=Up0DAz!!1{h9C 鷙"+ &Ijȅ{ 7^9%7!0=*BjKGmxLw;BHX|hP笞ъXGiLFIɱM81<mfk LUbLBTzZ@[gĎ<#bsiN9Ǵ9~:-z-SwREU\bꥏPP> uRqRE$ eVXȡ-)H#St*;]h(_.51wK }"7*\[;Fe54)+Iv$uilavi:/|iMnI<0HSƆ !8zgG' * 0G$%ؾk?4H#$sLJف&Io]tVP J`L1(s4(/O"Uv`PwWT&wհ@HxU%0uy:ڲ4+JzAu˓ X>־w8 |c'GdXk]rS߰,,.4 t#lT]NVYm)r뻨Hù6:w?0 7ii?+U־ +P-&t4M^]tq5%<ZUsRXWuՌQ|X4m(wRBĆUztՑ-rR;(NCΩ\a',6VO3^n2/:0 ȼr,h8>5t5̊aN/Lff7ꐚ\=&T+I"LXU;$+0EI{Ps$UVA;nƧ;1қ-`l0':9c  ~] 5nӟ|pzaNCs ^Ԋ{^b^{S6Gi=M"m/jAx{!/-iE~پ& ROKkY|w^o3bw M@ERD@b$?G,Hv\jˣezVmǣ"A4118\a@A_0`>2d `tFsInkC~^G_s@?C2barvrv}OQ' s.`Wïz&utuhbт-GP$v(t~1mJZOa6(.S"&gml|Z|5D܊|jT)ܱ%B+>'ms^6pX3PTȝ}PGr+qх2zvΗTҹ}Yhj {Êk$E>c,ӠN)q\;@ VOC.[+Owth#8B7r @w 1l-9:h&k3?V2F"^~cYA THs\<8jJA}1Ԍ%Z7ewսEo9f8N32~׋囱_Ica%4 _ALހ"d o)#p-666wvuw0`{vB%$`!T⦌7BGiBiJL` 鮵FwfߔEX/u3{E4%*ş&z渆aS~tC4 bPإ$;d0$Q-vidAV8hsb="mo(-ž+vM]ӛt~k }z7YI3#+KGL4u5̼UĆMbķ6Fó =?F h@G5p1 0wOy_23!K\)Na*6z=eF$tiIF1PP1=I&!KxK$WiF"/E֓hJJ՜_ob@ up ? PEYu+ (pɒanB%Ɓx |r?ੴq[P&G]_E~bFwI۲1;xQ7+KP!2+n(:Y89"I!\|wh8/Lp0r9w-#jo' @QWm2oo"|X~V!WMXfDNB=^.)ģ>,;QJ0$!eQzP3[e4l#%ª%~Lu':=d^1DasBѾ@Ne܆tJjB0.(׫S2ƓYXXt]cswi{2?$*** Lz䃑WoXA0 DiL8B6"jO9 )-W)}l *Ϣ1 [ vZDt/˞]ѹAxm('26 ^X&FN;%q8M %tǮAB%G1k&O8.3pT4tŠ߹Dž7u!&J!{(+@_nDo60b#?dڛ{nBޅ:#+R0܉d"qi0[gGz3R)əg(߉q=-:kS l9j%h<)sT) z{8ψ۬ץ/ۆIզۂT ̖ I)mE~? HѓP0nBH$Dj9=&`qݝ+s]λMD7A%njwYV=RS.UwC6$H~z.""Hr)[Ĭx۱mԺ f[ 6;Z{J$x*3V^y 7AeLs@RoxjJ?rJ5'sJ7PsAŸޖZtgvZ)ĎogAl*3Ƕj,Fyjy6܉)%Br:U%Ye^\p?9젔bdyZ]OIjL870ӓ>$@]!4ΞI~R'"2<C|#WLyE)It4'YnO׹\}']A" @ OI1!`% }nGqыﮈ^f}iEX!0Ur8C #7V2q~?;JʺGFJوTI̝̘Xf1KӜEDgeM^ϖBU֪^Jd~/alɅoKf  ʪ =x t =h0ͪ-Qŵr>$~âDWJͷ[m [ VG x,w}`>2: 7lnh˰G}CЯ^|ǚMR\n\>w2mnt˜r"BDiͲ"W!g:Q*/pt˱DdwF'2"#>BDg} AWmHmw)]f7ZZ9Hx i/0 H"G\q@afi+ۈe,w%q<&KEg{XA镅r>2j=t_ -w()#Tq] #}TgUjj![#q/(tC"Ps G\LvYvNGy.mNmbP ,;K+=~4Ug*DyCO)Uo}7 dIZ Gf: h83)0yɮdaSi(JTОT.&CMmA82w3|["XРT,I$L˃Xrw::LDcZZ_0y4нpW d3vW0eg~`3#\ J+M $Aݞx-9׮L/( hF18كDfgk V12wR4VYx_.T04gP>$L=M(N ݵ 3Y_/Q7n^%àc+Ɠ^+"`O,Dg*ϰ(7$QzF9^RK+f}<,""Mbt,Hgđ;͋M#?EI`"J@$ "\sP8|11TcH+v( 8aM,sFr"J8vg-XoDޟ]4@m{2\ EY ahEgTZU2Ƈ/p=%`ŧp|́C)DyEK+3²VFkB1і'yd1fksQ]@Z6A:8_< )o2)uu;A6 \Dop({OiDm@y'{vY'҉ L g]H-B#7n8Ƌxm~?2$M*cHAyi|Knӱdt[:z`ǟ~Du\`j/";^POvpݳoH "Hf"=H3=C}<+ZP%bv9syS k-Z;Z<9 +kdʼn|x,UBeYDŤX}>$47\iUEB31PqT6+vfYèc|@dd8',U}wDAkeL(Iyw{T L.m+0,S-%k6"\뙣xdb ctNLb]%.2`Ax$dfi Sߜw.F C]}i#gRSICuVäF+K+f$sbi2!G[bK߳ YXWU t?FHNVukg[Mɡ߃ep0|M4S=_ۭFeYWoZׅ/ĴާXB 0LZ\5k re1MDr⻨:>ϟ~~¼śJ*i2 &7녈鍑>-0.ۏ#l!ҟ? zy5ZM)|l nY:Z5>э;55pPP43nMm*ҙb2(S04?i}k$H3PP@r?Y>?{ <ͬ*,H_~pNQ~f$%=i9qJ7{/]KR#= k}5dckW_5bHPßV{nPٿ\hp5!&:ATpPkXJOĠ_Țh泬7HrcꙘ_Ç!z '. {o65}S$hp4zJ\hN=hu7eE1 [7'H 9EՋ bĭr-mz1dk8լ7 o64/ΤBxzJXpRgH5'BuMMSk>l*>޼p]E)UɣA:DcQ? p L|j mQG@=U?FVWEo߫n?KK_7a<|su.@N&y *+psE8MnLm?If>HMIP?'Tdڀ^d"RòUpįp#Z@k֛mv+]*ѩD{MC/v&޷/NYh3( $$#b~rI9t i;)ZYv`;QHRj=&<dֲÛ%]Jm!FD$5EL3FbWֺz"yt+'A>_[kh2y)mC4pvc̃J##d  DnGɦ1m `E~ʐ 3Y}BxaoDXD2=ś]ax銆v?/z(UUL=,: |qdcCkEIP :*=cg-REԩ&sht*H[}?ӡilG"mmmA׈XȜt9pvB}|˱Vv ˢ/]_!R S$*q#t;_ $5NYą~+Ž=;_H! ̬o,F"yh[ƃثO7,v/j}!H8ɾ+{[nC.}~MN~+Gg>Hk7lLii\ӿfq \7Vq[-)Z ܌fL~0邋!§K^Q{pGJI;8L#4D NoK{$|R1FXtFө4Y&\틱!*|ܮvg=<<"Z .o\*`U[CԠlw uLQ`!qd ߵp1Do9,pp8:BdIvSz^P~y !!Yq5vf}`+6l (ahEquoM~k{dX-(Z;Ms:ǬU~yxUf27!`P!{*)|[N5̋L2e9u!.UW$bcR%#b1d9I~I$"zӽ5O,Ի ٬NGY?zXYN>WiYzڍ!sDuf憔:y?nH3HNS|]ͯu1]Ch9MwY¼jzլҊv#OoΪ~Kp1h#YHvs0,Qq:,aD$ W"3]9"MߎNDVrjR[5'vxbo\Ȏt!leԱ2VK:KjJ]Ϥ al53~b-ܜBN(}ܳ-u&<& u"lO WqQ)3S8{HcGhI 1߈g4CLp./[_?8-=y4]ihhpicrqB H@Cԏ\ɹ-vo%xۮ?>L9E aĞ̥gaܸf˶r2y)A_2222sM{/ CQ9p/[(9l\nyCC&eddRtp^*V0-J\1?:wj4 CRi;`s?J)] EmĺPVׄ9򐐁hȭ*R6`h!o!7Cͫ ܋,pZKL_fЫ#;;3|j ـ_oXBI!t_5=m `[N^1G}fe򽈭j;ޟso1}$P_xLH.?Y>y>?m%W1x  s]5 8켵Ԑ3X-uQ 2_JF5Jq2(%Ng 30k&\ Nnjw fďгӮ$wWl턞Xfl3W_y] \OH6S9+mp8,O/T~TN%M퍪YOrk+Sx*!sm$c4VC IȂZ.Fkb/w{j4N/'S^:^ӌNf\0@$4K3<>hb=t/+:gy,{5mg(>|((.db֧ uk{lrQpQ'Fۭ+)RRww[6%U+V|%|?.a+l&͋CN};$U({|DWYZݢۄ( P ./ U*B׻?z2Ȑc3Y\}zܠ!ۜ4of7ӜxPۢk=8' zR[ =^s} Պ̞YI| xqz:ضY>W%({23[c#(#ӧ&$NHO>l~8-zxAv8tƿuuu$! [cƘ1^m7c H*\טg8l#~h04K$iN %8ôm2W@Wu5GW_23ͻRuԩ+*;jscuX"x S&ze'>ZeLPr&_Ϛp=^x[2dr0`ͣ%#U 4Nkq'2'Wr'9VWQb1}a ӌl%F%ɚӬfr-v筭y[/55,9^ 'o])طsБGt[_8%N5Mz%t%6M%އu׃3O^O#kK|3.e .Л~9 q$-U;qibpΞIpQ*18~ޓe0(ԜosMGg9Z9 G#NF;LZׂ؏ '7B^;ܣ.m&q1>ِ95Iuv</+R 5a'D]x~xr ;vJiYa]O%3f *5uu$Aogv8Vdl_kf`󞰚;3ok_?29bƌ/Zj~/+P;R-݉jb$C)Ѡ0'X%tڼy0(T*,> )h--,A-I#nV(GۍC;؉R[qBP`LgV=m ~0nKk_knOfÃ/39ᾳn~$X0q*)HC~<t"NZn"^MUt~7^FASϗ D\p_~].#AoJkzGxڅb0\nHVdΫ[Ը5Z(h8%R*fT4}zepXPzrV{!/(=?߶8HqOAXJ9ќa(&di'.UoAuV&U21A-mY:> .QcO 8u,Hϝl?=Y~A]I(-Dz" ތx<b [yhn~Q[/sfylXQQ7{-N߹K`-. ٵ~7Wz X>IǕeG꾎+,OZg>6z`c %~}{+(**:Ӽk?#}a!dL }P®,P]9fNdk4eFmz@+vB_S/'FD|x^m /.FH5(xV@=GZ5IH3m.wcIOt~ӸoUTWH0u}60n}ГKv.unǎLXB B'@q|kw+~U],ic笃GS5mVqc ßC/#p~>\m犔r˲/ʂ!ƣڿXp-z )C0jP/6'f~jXi_J/RaF/s:^rw}8ׇեC!Fn7+~''iLH'uuZ_(tGej$^lۿ fB d(s@j@0)G b =/bvg|o,0ʋָa_Qҹ"gs ӀbO\h۫9g^`ܿmSF^rKVA w>&%szOزҺ׾0Xm'".-`%-z3;J3/XI_5*O@,HelӅn/vJTeI˘Ua5!ٿS6|,v41};'3Lx\\c^#!8hD.gE*uU%;W\zÈ.v_# {u}W?IrLT#˺Ysӣ"zJؘ s|Ҵ7^_4,"zU֚N_-Fxy24 3y_4Lz:vāĊ|UeF_2 8>ѫNH̽-Pw[^ taLYZ6ٶH@\p b-oպv8j$c٫dc/Tf)O7YBMwgy籃ɧ#v-Dl;2*zl 6iVsmoK.(UE-"m2VegOp[4m;&R^xk)O~o:l3"|g%[eq*w(c{#Df'^\Z}TX|pӫjnm#52F0lbq3CH[}c0i(!Z\ fZ䱭aW_Ww$t(}S5qP&4ſL?A <_g{:/r&\$~=^MtObB7eytׅe$ͷ]+D$e6pOMN -q9">W/Dxc*kOzVr0pҲZysaF2"2t{$7FeVDZM>xnx_%-EByȵ RϗlH"oadEFK9l^)i.(Ra]bk޷'Ϟ>kKÇPjg0AmOW|ԬSg?nH-;=Îw [z1᧴Pʕ]BP+$zrtbCQABm-U%Ϲ/6kŨq&J`B+ t}$썈TBh"Ŧ:!xc_ٴ7NOT+X#H+F[wUN$"U}6%\?K vW泣fWUSEB]@Kxv/pֳ6'`;c1\o`J*vROjQyPB]g"8 i6wA=o> }hT uil/f}%f{*՘W$3GIa=3ԡ0>{=cQWJ6v$fTrk 53ooGYwGoGDr| eZ ѕWz^v5ϢۍhɛZ6E8&}lja oNvQ3e g?b ޗrzg4,&|V IJ,4SgSl`\0D%}"oJ뼸vl} D~҄J!Jj{F&3sxh)eci-8Լ.NDNlZʝH%8A|ؐ3JDhDZ,`6fJ&&SHەR d13:l ;44Իhg3/#}E%ŨSCSGY, O."tDUvT dSMW{{Si__rx0<-`8 w!| [c9./F Ehe1qcyU!烿JfI>M#""zTs?^f6ސ}Suq c{&PU':]/{퐵E)deeMT[( ~}im49s:$TB2t(z4d*3:]E:Ink8S-4b ҙ BVZ.0eYv{*nn|/& ?ή:vױ }7RBf]jp]_  *#8O 3[~_n?Ro\F8m{o=9&'F}]γ.}MÞerVˆ(aai1K4L=0DծTy=[Z.\4G^.s`b ێj$o\Dv{&lEZ {~|E=2!xS)m1-,,JYnmWW)c@i-zoҞE* Ӗ yUU#5SJ钷V,R{3KnY/vgԯ}TĿ/@l)VlF1~yy;ӿx5>2:PRPqbz^ZWMvy}t(R92ť*~۷os==s=O).wCCn(-/;9BQ Jn"٥H(Aw[M 4S)^[CHfR 10{s]/5o5p{wQ(x:Sqp L^ uȷ5չ74|diR ;dC /8r$ w DX~-}o>\$d#H#Կ. ~[-PlpNrmԜ{ZU-F:*5}c@%?-H|| Fk܇f?[a TYmH|/ظ U\GL=ݼy_@Qj`|}i%BO޼n4tNJy~\Xkl~,\ܐ| ՃۼiA#-'BlT.6Fg h~GO.tl2 L;}Nֺ.G /0Weg)%@CAu޼ǝkԜ5x08:ԉdF"t< ? d,CZml`g8~calh෯5( VR.F d ZԚގOڟizKr)|="rL==z\2+z(LD0@g8hF<:] Hm>7q>cU--}_ŝ8*] ۮɤ %z?(#) gꊿzk(C ,Sf[<*<>"=ٳ;OF0BG̤S'JF-)yngʯidbB}Eё_1A3e8Drk"L(T--''疃!%15t4iӳ2t_n|qdܭ0u +}X8e/W7n;4Ņ3-1RUhIAAawӿ@PL"|C00 ec'얚.&zʳf*Pnݿqfg~>ssWfCEjNt hS3H>pS )Ti'wP DŽ< ~JUcN1*qx㩙`+a\sSsFLDE-֫Y. ,,X)T5[0߬?@@Y1egd(0vtrሑܙ)c!㿴̆'+;Zx'Jpp&͈rE;[&SdTPwS9D"3RSÿ} HIcЈ$ eJc3~UoĦϵc Q`$Nͤ2{J&xe$?J=$1ŠD%e$nðI@3_ YC Q^9Ol@ zŻr}:UYꌫMEk8:04$ Wҗ/o =OA/ gPIZPΥv+L*E: y ֠VZPQN)L[@b*[.LZГD6;w\-D+Wx+Gt uK"WWm PcmZGs2.\vEu 1TCGZ}=kJ^|X{a=S'ʉi"ɑthpDD>[z;{Z^:ZP7 ]- qu& c q\cAmĞ\ŝV!j./[]):fDӊLPSP8nN̺BgZ 7h(@wy?,ꯎm.v`p,K䂰3+j{o;k?0kVqتj$!$>Upk $PR4.w4fFnK7%=?Xit@vF VCYEDqm wӎDfqIcQ8otr6*|orٙ*p[ aZs~%G'`3v.D!m׻w9JGO0utg_[}І Tu=זgOK{:j9648=8#3'^:!4zȦ0wn_jaⰀF<*Ri/\Ux< ea?b?ܮ33yz\+//>)9 `ήbL.[5KtiW5Fh Cx/wV^_߀Om﯇ {Y1r}ytaѭ[* 8WO7h8 #i?KcnŞ:]=}meALn:5a2գX4է.WCL7*eHd /TH[*Cx+|<$+?SoPB [ͤPtFiTS%|\z*|q^-ʍH#qhЫ٢B8A@4V{kUrT00J Cg5 n79SʅT /B #xN GdZa!> 9 !l8_^]Y;^e#x#dnnnnϷ|SnbE6 #qBptɹ>N;>@f;r/؞9EH+FO#,cLONMxYPY DgmnU9(yz/ yKID F+3NX B2?=5bsuRlv֤ޯ3jP'zqKl6D[P~8Y@a^ʠ#z> ;Ed<(XW )J ^uͭ+/=h4#@ v+Y< y(f m1J`{ylyrl\4.5kjvnN d?vfRx=.~pL3G(Ug4D5Q{J**/14͎tX՛^G3u,c% Yl܋Lb:t?%l^C/"k=zR:[;W8QoU5Đ@!xJEȋ"mܝm]ch {dvvvii('a%Am|fQ`𞓲VIp(G|Oܜvc%<9Ч ^NGLƼF-2&ܛ\KvENM̱ YBs_6tl|`IA>x˿RkauQ(cioELBڽɕf ̜x+-PYZ\yDkX{9{id+31!H,tF˽|3×ͷtzsA `匞V?3,7h ZY ޢ@ޙP&͝`JJdڿ)2QXsU+9A3VA pT!-GoӍ}jeP&e>WOc $`!Ҕ:讕Apx\ا `2b!avg|3Gĥ'>>>K+/"=,@1tx~)%wmxXh~@ pq#idM]O?syVb2ܽrd7𝓇E8v)qS3\r`6 F R"v&3N[.etfT՘mg:fʦ=d듮N--Bg=Kp?duo/vFU<ʟ_( 4&jPkVQN)hff&u%HJ 9TD@){+ܔfj49XVPX@m |N-ū:1nnD*? b'|{lKHx\ِwzNg)vՕMfz+ `SXL.4z& K _Ie#Z[AvY涃(n"R1V,$JO^n^/SڡX BxGX6]Vuw=$W/aΛ( ga$/-V:DH{G,\iqvӸFԳkݣ;(Q\ o7ӄE;3|oؔ>VKA0)4  L&-~m6E?iV`$r edLv'ĤD\H5VOyY>;,p*P,zw 4ӊ=)d" $vsدJP6DƅPļNԞ'a9?CPPFGA9"(`OOAc&B/8C`dN5z HWcaIP)&$t縝sy@_8g}un 8PЍzuvV݇7z~XTa--otU9I"Ut< ijB2M9Kl;gC$ykz}ļEPPАL[s UOb  S'vv**B7qREŮuX"nq?C+5YY_VeKMPRísi=SV)w\ah">'63l^h$Տ(Y^. `$16A\`Orq.قx 3d3nisS_L}}}_{r9.[!$+N>僆cz_qud>ҵF#KMuʴPiv~EO*: $Cg:\vMfIy#6x,tA YXgݙŠi[k 3W+)JfU&fCaA_zgggnU2'yB>DzsDp1{?o4{2ʤ%ADq@_EEU!tgT֘>x1(S8̙JL=<>77G  ry2^uGऩ5;}vppt4Gm-x' WzBDTT9>sh 8&_ OV}ǦAD$B!"n_wlo"hҏovy|L6a@oճn[шŕQ-Dz2 щA]\\Z_?V=m^_?\zl}"o!>||:U5 L /Š; ,'r$Ymj֯fZ R#N4no`#tܐ7ɥ1a k r!싃RbT2BYA@#dcC׀?Hc ONo11Wp)P\s&e܋^\Zj*@e0X39uиՠ"qm-U}N쳳iFW~c'f؊ @Vڗ09 gDI sJTL6Gz S+j N$n=q#u3M׻3O#n׮f=C%.5P~jƪ /;0(oQ3..nֳ;wn2|7۷M?b[[q?EL"9;U8#9Weyh*2n-) 2`FmX8˛~9f9>@hőbM]HA'Yt@M CpJJTvc4_ !ڥ%wdRs YulWRrb<ىH>߿G)^!m&F;ٮt%]Q|*\ TLMc}奫f.V]2;|&!J4л=ۣ,YLs 񑴽Z Y?h 2ui}JPgǥPoy8(܍8;L|Rka OJl+YdM&=>Lf8,nRF7oŏJTe9͇+6$P=%:O^mLRbSIx }2Aq $vn\n6l+UMIߕX(&;ջEA#g9k,OsbODÁ7gg&QO2x=+VR#^L1H `dt^.&݉KhUr҃U,ǒ;_]:#TwuA-&;9w'tA86w}}O3L~W^1^!*ju%}8C,U/ pd_)]uı;|k o0y|_; n\d.;3~gCLJlD*ݻ+Xڟ̠(AIA"#u%f(7\s Mm!k g*v:*]6'[|0odZ Yerd[4f3@I=X}TF#iس^'-‚-c7ۧ`B=jxgsvQH0%O'aӓAe:@> %}_urqj4'22ǀɶ݁4u>AtV} 1o*%H!\֤z቗ M8X78Sx$ٷ7MmgGpF/"{iX'%kMh rhTWuD`$Y y5L.{mu&3+5PUGN\yw 3M_񩫻i4txdg\7|gg(D= ߌb=d!9_}q/wkj=WerU$ L/Tttt}9"gkn”YYs\=R+ROB AtR(O7`V áLN;f4 ptk K-9P{׻KG( uS?_6w Aknj^'~K(8F]4!l(OPiCT|0 xo*zAu06<Z!;]/=FxڦGtg$j9-8ܐ}#^ܵljk~E~*3[ na< 3hd%OZrc>|Ijb{{; `z`Pf=Hao}~$6Q6J+4B4>;PJ`Li*vL\j/Ҡ*kbxw^mI['m}gz jm$7V{\ˎN}9e] l1"(_+L'QNg/7<;6N Pv$喠WU'sBٹv/c ,06=__*H!Oa0BCEH+]F/5{ ,΃zx$ *δfns5*iܦHߢ ]Gt\RbJZ'xZ~wR#۽cI ҵgM{v,rE4ȱy6+iuUEE\$-||LB-&C_g!;Kt;#b_~&7bBj'E5D h OgxL! T"ے$I-;m0ʶ̅ `mOсjQ'\h I"CéNImRcĔgyO˃> q|D%CktA0B3g"@swۀ;P`uLgE~HR@GGouo'U,vr(Hu"Z1)x Q[:_}_M}ˊDt(!cG. jyf3e7vr3eOKd:?֚ݘ"Hl-ʎku _% R^GZ@1ɘʓve͑:aU&; ᚩ*OEDED[.3\ԸŸ%%߀ 0DĤ2 I*,zir(.%eo.7m\o "#%OӕD$ 㻣 X7#4!2gpsg~RM 8g zHtپw9ƪXnŊ> -7Ї8nB[#`t>ϋn? ~aמ`RU[ u:c-cx/WecH^ GX[OzyX 1!cPtx~h*i`0?8>ُg uu׼~ڭU]wݘokJ+t!GFDnOstpho6I=\cHUe,hPf!&&ɧnågV,rWj =v9.Sk\I*m1}DP ٕ5̔UڷWZLs!RW8x7/ʓ&I~3iN[KkC$50& FG'(Sɳڐ}[5:IzvѩZhM_QZSd$,^jŭ 2@÷>03%ClR)sPVs"]Oa/5q*fBm?/c%4ꟕ-2=w#pǖH1E:Cť=ūhUS \+߼a:-뢆c!6, N"\Ok~~-z0? zYNʼ*C1TȂh=;䘑q>5˅g镛e99;r]ܡz+J]iattQyw8şȒ퍓}m!W{~*Wt1Gs C~//g;vGs??8 '#c@켐"c$T% GipSʶ;l{ZaRp6^~{{)PxO$N܂=!Qi3U%C4,8ABNt_zn SӜOj3 d| =uVZ1g8(-M,MnfqӺc{pAmYY'x):ƗƋ]Pb^nVEУQX*%u/QOEq ٮ^*ީY4M*ܒ~h CWHӯGS%XYlffCߎ+P X%.Bʋz"l< /Xݾ2?s*,^4xҏW|p7]/#_4/ hr 3+.QGwy2{q-Ib 13ruBgRl3L DgEQCW`S&!A&z[qssJN--)q$~kl[-E q'K/lp9J"{ьyG GVBGC|"E*z\k3^4^h3TfygBיMWZ9',RFO J?jdZ.ֻ}5M}\Y21mtm ϡʬBD)!!$v8tq5OwrDhPE #(ȷ~iL-R>TY6112x3 8R(yC拕U0g"'[(K"Ք9!gU3eTc)Hgw&2VEYnnz/#{/Y>:RcTƎlMu uHPK\iz=g$vb6JKPO.1R>WZ}hɛLVAw`3+⳶ʣ:Wʦܙoٟ̹큵* ْpadGQq*Iy%)3r :=.Bo?G ߤ}sð_:,7Z9V!h#rXl #2&X'A֟LAe_<vL++W@47l(v?>ңC ܁Rj-Rnq| '4^SÊSX~G֔!&WiL0sMǷ\L̼4)9tiZpVZIVǁ8,"ma#Ǚ2 Ȗkbd5B 嵀ߊֲe͏4ʵk:JS@ZeF)#zGzAj U yLS$˔t߸C^i;MyuKHG-YZ%??CyM6F݁fl]E=5Q-dD JNuƌHZUN\r !qIτ7(¸11WQH܁ ոhſ._@ujR"IZÎ.ڽ>H}@_#I[sL\9AHuwܳx&%, Zw)g3{45vxbACM Y]Q!!3GW +l{(YeqCE0#kP?-%ER}XuWDnR= k} &m4`RDw݀Wh>zIU=zQk43O" Y M.YV^_QgËmR8UoͪKHp$#ehB,$ɟџe'dQB$rR()hd!:al?Xoۘ 1M#cUDn9xS;SN~bUO̸DZ"߈FUBcap2D8?k?LCRu.vKM.v+旖gVTjۊ\0L o[Q?(_?k߸6B[UǧÙW FBVOYWZmj()Xr 7;1M w6z6 ;oAUYʋ?TObhn:#{CrYujK_SykҀ=]ؑk$~^M.l`Ky2 aaR,&FFJ4!CqtM' MD U{`/vORD$QlgI1  58nFr%Zc8JfO_ :AldTZ0g=FS94$P8v#zM\:$xq>vfs$QʿY>6/W~ioоt J+i5680ӆmǙ!_3DaBCh)vzw&Bi&T^oT _M2_ T g4!n'i"^*

g []):ƍrp MP~ʫ!M>XVvQ2Qg71{b8J'rؒ*z[RGw Ub?Jz63!ߨ`uWT>u -.fZTJMjKb Hx|{{;mDx&6e:NEKMHAD&<ʷMWK1jUxt/0nH3]+5|s`EMm:: svGC/G{=33ַՇ`=@VR$) rJx:l\sA5xYacx~^bRV25l7ot`iyRȖ+"ʨ1m_ P?OgPӆm@lCt.Oc1OW4E[[,`l8++=p,ƪ줊9@K 96*WgieG':Uc%pM쒭$m'qa^DZQa==F7o0wZ2kIC즽,oo-^rqß?k?Nw7F7>^dmgLQ_0:L| o<<&=qk}fѣjun?KWHl] uŅk8q)zмu4YzGau5|1'['ק[ nLw<#: &KK5i뽇ER*@;yw-?>\̈? U^ԝthH,FmH[?I:H(r3G\'\嵖}h㷲6.snF (Z$bcb|v_>lmԭN";C$馨Nr˱2u^D/# @H ZC_B3^qVHP h`ە}n/n `,K0ɛ3@&nuئGs! 0/c;3^܎tRN1Dv=}}VLTKv]K@ %zIIьdg*_o5 eD`)c1W+ aD) dyߞ6;C'>"HM-3Чlu͐(nBӴTv! ţ#73W]Zp`HV+HK"#-MY8삈m.gL" ի7h)5PckWv?> _)5GV,xЇYkɣǾ9HғqwVQ/7G +iJ֝=9.z(`^%Ew"B*BbFۺ=}T@ʝztԲZQ6>3bW:X=eiK\S:O+}[޹ݎ(xQ˜^\dP /"|#ofdكIL֝y}~1ӕawvIOOϴ_3 }|Hݘȶ)R>F}пBwoǃpo,{a5}S%CNoc?1Y'h;Ty'} f{L a{w6r7O>ҕ|=<}cI\ IQRnz^44mf||.JX,(cx`f}2O=vmIB4 FH$OMMrBM0tuaEeئMƍn7BGu$I"p8d|__g^vK !azfwD8a8s&<YQUJ^^VZ1[ b ֡wij*+2:$) шjfaZsrr.={vYFziRx7~)&I̴BBD#jRlFU)]׿rsm4MɰNOc{!n#|`0`2' *fEqL$* D/(HvFwQAb5k㎥]@|I$1'iZ}1t ەjk=DFb>OݻKD^}}"W !o'O~_K؈yhLLLk׃[PepSݎӹ!`o{TU%̤Հ,˩i|^~sk׮23tRy3` H;gʕje9u (mm={pk4xx>V7'Nk,I[oNƎk4Cؽ~D2k׆xax 9ywA(4NAAFΨb qc-#'W_]'*-|}MaJho~=Nx9(/EEO+17yhܥ\׮YNU44,رm8G[DcA5A-7CEE)ز|>|@ᐸx{ƽ4ӱ.*Q>ggl<HhjrB,M@/ @$cGGp!oH$|UUUF!6W ~/aҋIENDB`PKlY5(*$?$err.iconset/icon_128x128.pngUT qKgqKgux P;ݡ@q`ŭ8]"ŝRNqBp$~+{$j  C;~11⢠aw ;W|$t6sy{{s:ٻ[Xr8Yg@T OIwp7ϪuLo)== 6d%:L/HtBZH?ǩxf2 G[&W"巊JR|r8r0Դ"ӖՆUr\^R-A:(ee<:p&J0!!hNCt}ׄ;%,~>ak׺A"xQ\ i2 f4x9Z, (_|U4)Vv`:>ft4QeۻVGi&;˞N#WW03rM[OFO Fj Cܓ5VaJΘ <-̽3W1֤"hE ~!*NG1D7SF'6n&}{ֱI:Tg:}2K!fs.ROxK&0sKSh=i]Ʒor\p+0 2 hq g*\-芎*ԾXr (HY51J~>=~Oܯ0)^&bu{`p,d cYsKs GY+6zk HSǏ> }kPu}CP'8 KW^NNP c2\A*MKkSNk?s7W PIiZcȿWpjڦm=qlWmvR"M燫jV fr RpD^j?0a%4j(`}ʤ U&5À1 }J;i7kO=u 1Z)+RDT\i [r&$̃sh?X@&ekߌ;?tj *אqSw Z D 5$SVK-x!:"\Z,|" @$ITEM@jlrBP;zO׷Ru yTMнvFAE5 y<(v B(ܬuݘOaXm4:5an KT,,qbxxὶ#Kta*.dQF1Ps o^`V%uf_.)1)7P8h8VknmL^嘔^iqpv*\yH /d1܀=h_rS4!A:z32DAhtj@g;SHGcҋ o:̮tZ f\y )~+pV?X撳 + ~ݧ?~?@":u:MTkD/ lf~Īk<_[pQ9Z߿.+gNbD(YtVTds'K]i&s2ޖMT9p9WKwe?dnY"p{#R-%!4cFmHIg*8n!. nf8@,pxATB d(yh~hy'uW$1Tl{E'B5.۞D׽rw H|"YzDIm#agD z;Z:j955wEĽw AtC8Vu愌Ya9[0f4ӄaE9t<_|3p݅(YWb((vOJxMu9BD5>w-בӟݤs]ߪsveˍGTr> gB~ ^sRL ѯ2]`@p$,\EU.(,pɩb?[[mF8Z{d UZvݖi>S5<]N&9CDkn~R*L^X||}bZ3<!LYHmHӄqvӕ<:җL({bbB(M[ A^G3-rIWhU~G5cMJD>W*WSA Uw@`i !~_T"'u! ^'+vޫAWLYtkIexÔcqTv5[=q=]0ZxuDLqNDI9bߍ!~\/뎫3H+cW>A;MT628pşA'Fgκ&XߍV1”r~2_UJY{嵡b!~*?35ʽ=Y6 1X1LdzTJ$WrXkۨIhޜțs$Rw%>Z?-0?0XxsBZf18SЩ3>jZZD]]RXP0K$[ttBxΏThDn' &&*{`nkbiTpJ @(DfKD^\nU-Ffha!.'(Aw]Rr(j٘& %,媻km9MC̶epF ޽S1hY&+D(jƗ]8"FFb(+tJ6;m:xj~c-z*`;p,H QHA*SOW 7O-%dL:Z^]\\tz|y:l`#[4\#! %|@G^sTq(7"*l6wX`&mq-^>?77CSu^wh ߦc "3bueZ$qZC38ђ7[sd vi R%!լְz8ZR|rM 6-६̉†jm\_ڏZ51QfF+GS-{(e\(Tٌ4(G\8^r,}y)$ipF/&0ctzk%֨fc>[R4ԹsKKx:28G>;eޞ[J ӦL[Zأx ۔sT^XG88 gW*}ؗjp؁ɇ[޲/]Ae}_ic(IQ߿}9<=֯(fխlu!y7NnݠmR]{<d ?Z[)&@Xx:< QJ(+=+ͲF?c^*43UpNo""U.zG>34l/, Mg]RaJ_pSy3yb1(_io#Q4#ؒ.w 5ˏiS CpeǸ|/(|wRD>i ,Tݝ& S'PlJ8orͯw2 )ަ0@tԶ0ڔsMZPT)5lv Ģ0嶀0037ޡ)R:k4&9`z\ tQP8n~:sJL ֡fu)ЗXƼzfW`WD6L?mx {^E=Bd6Bt o||rmx#ZU gmޕjd@Xu[zBolS.>^d񨕎}9{֧RG˼=1I'R'hd2HOQ=mWÇR}t&)m^hƺն/5]g(_k oCI1y*Օj,2wDM2"WԴr[)qpz/>W4 4 —jlzG%wO[_3o ),0&QmǻmS&$K`ʕFl&P|q U_lJc۠fV8ʩ[RjTd'KX" ݇{`f5HMFjQ%hA0uz4 c8(Km1 9N4ۮdYW{oɚ>md$OHmU`;W&n^0pjT߆ovժ">7ڑ༠4Z=QEq6l2GP;oK"et,=bseEe_?`xf ue !0Cdf`m#V8 g͝glTyPK5"sQl?ǚ;ЌUКX10q/QTi`Xuz0 f 9>0e0 }8:P(Ń?^[ຯ*5JI+&N!*.wW}ݲ%?menOO +!*PHi]R,0#INㄗINR3S!uu<UW?iͯ_Dihг_ >:rc3RpȹR0}rjsGԍeKt_5{ lqNYaJO沿K#D{ 8#:f*v-W!LDb!L  z@@6L7{3j|nӊ$H$?Zuﻌ.Sl#t2:Y}ﴙX`y [nRq`o9K ̕~`W$V"Qv]"`)`>]O5Bk1 ^u&=JBH׭.5׍j_"ޔ"$}˯P]GO珊O :g(E^=MOxlr{{tjHɅS/5422nF/uSThա{^ 'r&RJu4JcdJ |R޿ZБ?lm()vT>;MT9wvF  IթG4;MXjzsJ*c}5j\lԞ4.!$E |7VOJ[};'GA-$,CVJ];Su̻zXVUV4PKlY gMNerr.iconset/icon_128x128@2x.pngUT rKgtKgux }{P\A]eCpݓ!x4[p  [^LM5t{O{"U`)VZ  0p.?Pe#;KWSg Ã{SG gC2%4<dxkN$BrT=f,p~1E"NYႲs "TfaA4U(t(2ۭg-3ؒ-熦GS7F6F|2}~sa|e"|[ϩ0ILբ?mcZ}$θebʸj-I*͌W }^K7@&4WsOH#b1ضn`@F|Z*_cձ|u4B j>C Ghf4U)?Ay3}Z1f ͫԵX_68<,N$//cz=eWћMӔYAuzkn+('_]T )Gd 8 &mJGKrr2 >exd@!xz0u/[a ,. R误?4ڠbtշ9kcZ:|=Xqok-yh_\&:?|+`~9#Ǵ++MSWtK\g7Z aQp~""B9ڹI0`z|D_a$U?9-m2!q0S::N% B1]ͧ3?QPfo!ɦBXu}N7<ÿQV4Ůlr<9|jb-; o(PW1]E/]iۘe xPaBlhp~:d,rg Ǥ!|vHMhe"(mkUD}ݾD)#:.h#S^ yo22ROGҁT2Eo_qPo^7qp<Sފ!Vf)_ZJ_sM&QkߛM0QB}7]҅ lgF؝/z ~䡡:.?~hh.ۭh\Q:ELjʏ;wp৻J\.i PiZ/y^ t.կC__)/x1I_cmO}@ei2',7f:tNfORAApJrcj ,^uZZy򨀒\]cFH  Wp{㭳{,ÿW&$0S`țxl'aIX<)tD#)0ąC$,) wWGݑ9Un!?PwsaF)gHv 3#ߺP ! 6{9Нo 1sϧ5a܎)D:+LPkмg8_d.<*;8O+4ٝM߻ W+ZecpXn{ʑ)JrG_ǚ+* Fd5N>4!o}##aÖ2jӔX BT4BPm6ᶇ^Uk.ѫ3xzZ˟wn*E|%~dj Ӽ!)^( AHRخC|dRdO.O_AUæi9gc@,?:q8hHk K@3: /z:cy>_2ZxKՊ5M}M1;&w&)?0rb8qKiF$Azl>rϻ'X** e1H9Zzfqzgɱ] >lٸN 5eg.oǥR[~?E偂&i kQ(RCcj]Wu?;s)Aɞm"uU3'gп;A!HkHi:Vڝ:-c9?n ēg@wPurcUIUH] 1v]CvC'c=!2DWS዇BԊJBRT_ss@.YSdDiGPGW)b{}9s@Rx+=7 ֿo!ɉ翉'C*QWh?Bv"4(9?zy)flו@ǧd;0R钿nbrcczg$:r)tҠJ:5:6zJm{/{[ HvVx\! ITҏx= 3Uč^~lHR86$=_#idU(X,oa'$tK9Q1BzUA·g[X\TpNx!_ LyLH熌6O ̫@q[>.:{ "?Lwxrt\B{HnIsU2V69˗K3h?kkގyLnT`z QCV'q^ #A'opGNB,aI]y(jy7{yl9d #|YwQ=I|_ b:cc \Zr*2}jο8ë]ISLLK;D8aNꏃl~/Ug/C`$ W^.>}ot&ӳsh*lBXmȡ=lu$y;H*a)*FՔmTSw?(@Wk򖰵߳(hvg*1e#=r\m 8y@ۉj4Ղ %iGo~Y-O-#"c7a6؃QZ/84*Sܝ6z)K,ld-.8G9/3GZ$ԢnZʗCⲍ%08f)!HYmi7>x`5Cȱ#:#+g'3t#[BLz, d߭gFVV}iy:J4k޶ϦF`Zp1M(@C$Re.oT@kax;ҿkCV6%:PVBvMRȞ(Ég䤜:o5*h󻻤RP)T^M]C4RL$P+3YAG0Q ,R9spuodd@#errHz2-6eK;)BŮΣ$<|rOwṕ ?|+X7;yNwO-老U.+sт\IOݤl*? 4]|hxk)&gn޻e0]Zoʮ@'zKU:,t5>ZgpRe@(VmqHG-8Mzy 2Iq@򃨺%9ᎊ"O?5_,E{)zu9{"7MDϗ CCՊȣA7iVnPi_-^) h0`PPryIHGv5p,˂.p+fgZ5fnNv0*tQ>\ 4$3_ֻlDeF-hѿᢧК7xaօO9]>2TuvvYz::z\R"f%FiFY/m‰v.}_FJjbW,9c\ .E4@ VCuB gBtjh?"Uw[1Y֠}i3f?63!T^v6pu]5%J@GO?˵fO4s-Jصz;]fqLx,gΰ޸1jjktyb i &m_[ ;Ѻq 6pwpQ]m_K<Ѝ#2i'I윭^lC &-Ć 7Rr;°ig-U-_q~bWNρxCf:5PZHXöhҖR gח-hbMncP/KK&&c{pwQK`#$-*iu亜& :ʳ[W]7UJݧus>eZ䰎A*.!3ٓ+(M&iBX9߿#NRA),,<:\h8#j` Π]^Izb+>{|ss6 ?Rf9y =6T@+ڒ7?Է%B(2G}Pr;n=n(JD`\SP 5\QmNŖ5-R wWJ`RޘD-dX[ u}7nӰw.jgt\!n+߲iHC%t>rؒ~;xO=Tv"pBbbW(|v3i#L_eV2<`c\&<4ܸlm0H a:IxT~>-br?JT#سP9ÜS(z|$/hpə@4Li3as>]C J՚iXr-::XKd#ohlǣ5ڇӻ{h#" *3jCZZNlJ;'Ԕ͡[.[9C%@P"r­n+`N5# RLaPS˓]ݟ-SQ\=|8*ɦרqn^pT G;}<* %XahW:"q,x=7pJHH<(s3rafL{-n]G Sx7\)ŀ량 yӔކhQ!a#ݞCgLk;gaʅ];ܦWJsJ/Qc #PA/0}WSXм<j@'qacGE!N` u%"In.,G*0Ř͸qO?s<-&џ# `6AG e n" "lMm;|9B) ?Y|qCTQfmmm˅nmbZkk^c \oe8`4d$c b@\NhJXwڑRwV CMER AnS\BvKͤL*j;'Zabw?k.ڨQQQS_5[XHUQ1h=5+jo&C?whN}fH-``?3(C3 *X0# %5|VNjm[cCVQ[.N |%<,2^{ҰQ'igg$F߸5{O&}8,\T^$}/٣H`Rm@|WKR,j437M 4g+|eF}?Tn3s+#hrtԓ5bGҴuHY~`L'N+'͑=m)g)@u81}18~L"Vb&d!""4J:e8{Hpòbz["ö*A(wܘ $E5Vn8G7f/ϫEDfw*[E(!ʬ̿H5h'EJ-RWSJ(cWX4[wtq{|uWL@#e2*k'iDg]sٓ HZvńXI>T ˍ{'Tc58>Ǥw?RPMH.9,5 J%]ayhH`*HyƆt_:uϺ"8&T}c(T6ho$ b I==2!}*4D AnT@xciOd3%);GXǫ]w35@wj]ޚAJoԂlz4?Ȑ.O?6ir+ls´+a8}eA!bP7rSml:d_c_M,%/?-}Y>b25g7dr͛`لLBZZ{H}r拇APUޜ'O[Ɠ #=+dkF|0,T_bGPBG2Q!<޼,_jL]?88'T\$ \-/[*3&Gbhb 2 gt8rzsOghwY7! H_rY|?dY*<Ī3UvjFV *Fξu5B}ň/?a߹{>mk-)IJ 6j P0M_ߍx|cK-a-3 K+;O!c3a F&幥.^>P/yW?NsT1_/eڜEMI9ev4o (/luaRY@qzV!vEߚ ?F !_Ve5vP\P=-??\-Lg*tHtYU]xmc˖|W9T/]$'*_*/I{bu;BD}.  ZntfƷ;oN-3Etneee>kI" iAڜEZEBEGw7~Qu/fI~RR{"!f@CQkõ5'BsZJuY~FY64bxT~<-l֮eysP2z.tT}ˍeGfe: xN@S A|qt}Y ( zOպ8{)_  jb (v''i BR^E^PUK4(KN P6~~aQ}W)|-=)iU^NXp'2?M h8#n_E xmZ^*wB?;jP S;ePĀept ߾Qqm^ \|mbwΣ*zq@C1ǷG0`2]f4hiEfGXq/#g ?\hwxaQ֍R#Tn=WoLh(.FE7y@дwM/IkE̎&cf&NYº̙|b^RMLO|\KtD.skm80ɀ0wa =$\&77S臿F)U;Ғ yaKٙjves׎vÉ΄4Jt>v0/oOޜoË?ZY8Gƺ^΃CB8@ r+ nsk OUקO\RX3ET*Y:&Id?83ਜ਼\X2a]Caod4FWpU 86I &'g9mo߾m_1Z<*?0_O.wbG 9.AӗV͹:U >zmZ"E4/6i Qѩ`D{lT*qk ȅ\6ғI_P &>AtL&\Mg|Ot5?Ũs8q+3 <3Gd)l M0ʄJ($ktD,6WmOmlF5]f"'c4mcPŌMtxH~Al1wQ\L31/mh{:^gUrr/;Pqft##G*j1鄅񙔥W N6U[a<#Uj:܌d@G,7/wE ZJ=mΊA@,r@܎wRuJeFUކG^zl+rrvN/NӐ49*S8/֙Ġs4wSZ?Z/O޼೛u6 {"]Q2V"+(ZMsw7?<&Md5u!`BAYaxm tK夾CmĹCJ.:Of4~Rθ?'˟z (..&X>( ׎äb)~;QU& JmG<]@FsŽCƄ@VS3ZYS3W'G^Ii&^|ۍyDIi屫F {?OU:iGS57ST@PLvDN|KLX=o CȨJ!a(~5ЂDt@ Clm:-~:ZM0V)|!T1I$HNJj~`@w>ܨ;#!2>] &=.@j Ǜ L>0(aVl/8Q+_ķ|uB LS wՒ.}nӺڏ|v`yӫEH +!1u)2CPѲyw'*y%ZTC1t ?$ҴL1N!XO-[sDF,԰}YqeǷDIÛe`Ѕ?ώ9&\l, {_;,ߴ=54n͌ZI{ec^ȹ^V>z2#//hv{] 6} \޻,myx1} B<)2󏖞CY5*,j׏T~ޛeY(-`|?3N70K g>|Dp<..%|jqų@A3z󇕎`^)?Q=o j6cMtX T |4>fђB*0Vi\|{rE:q8:?u詯vWT7/ :ۂ6rFpBRhPu؈hu}я@;SYNE#[>!}ij;:%2i:}AA{UÅ#3hitwdbL Y \1ÝDoԣ v?0a` C?{#.wxZ1=5Um?^5kOZ vC}Xw)3𓟝}ˆ ^Jܝ2AGf0[;ld0ip &4r匏}`s~\ȰvozѼ'k>멽FNP%&& '|_OaoÅwdMnKQ]x7Dv JӿƍrM{/ Zw RI:U<'}o} su|gϖ*aⱆ0]77wD| BoN)hg2"~,3/ImV[s.`X)E^~:^}5=.]`慪 '_tY6WLcYl)-|C%mMRNN.U<@, )/v|Ae0s},Gl;0CJvR8$5]<?逬?9ؠr8MACۓ;5'Ÿi޻*YixӉ$LF3vЇnZ ]O< PSa9LF!qst&B"n$tCQKcЛg6%!7&A./O}TZSy!j7lnQco]MQW͵_{ܙ b܈#~leQM|cx3U!sJ S #ӓCp1SB]RpԚ|l ZΪgw/~"ġ+%Z.;̙$ESGsB kp;fj0١|p4^uB6gQIb%(h5yE"soe^6-Ԇ /~>K}ecP 1ۚE#I=MOw^gl8"MXl1LxW߈-z\a e@4%ݧJ0Hf0 ^ ]qa| &^ ~|"fV+<0H8yb/gu?p"Gp[@2* m|bG3qqrv$eRڟ_s5ES0 N"_Dz! .AgƔ FfR@))˦lf4:]ԟɇic{q[c=@&>kWXVUX4ajɰeUf5c#"Pk1Z8&m270gQHyEW8y<c~>9&4Xk;"l9X177_6?GޜIԍ>KZii4<zQM9I40Hߟ["2 Aps%xJGHOh#*<{`:vUTͬU9`γ:";_ǞM*t '͑Jo腱 ζI }وH&>+OX#ռܟ z Hw=ZjyeGZĂ)2`9@;=D$CDgPA0vvSB#&Ym؀v!}R2|ٯlz;43W=0`sƍ}Af/ݔ[ ":Q=^zOR`c&}DIU}nGbBҞI֝0QT}j;$>PUСyf lktԲ4QW]6Qq L/MW\G id{nPژU«h5xp{GEI H=E´mAt""f,k)Vo"ܢN*a(tA{ُy%#V$@B}ΞSȖHzaBq[5B@5(  J8~ldPTҟ;-*o`ĮUI6hBI0l )v?ڊ_}[g4amp*3, d(ɩ>2Djat!6΃$ m^pM*Oڇsx TuaHŒӻJ _2m %"0-M{7di; 0gdQx$s7ڣɫ^R2]qN[ R>vO؝cMsp7)=έF'l|/XMQ aȟ$}O~wW۴d~gf_8dH)/F":z J!ys L}aycuyTZc5|V(/ᩒ n$3uQMwaNҾOtu&LKY`\l (L|IŒq}(ۅ} 8[00.ZI*#b8},KdoA_ll_~Nb 4߿0"fjKe ]۞nBF9퉓H'!`%W#;Mu!=Uo )HDQk4*Qs߻CqykIцS8JT~ fe9i1ٲkO)Ubv^L8_ xw)"tY`ռ48[L$iQʌ?ZIGkדgɮ 6 4x淑 .h_aJ$dY.xP.Y\ 4 $CN)aj bQHw0 I< /F' BZNlao<5>haQo]#lD D +Y1~ڏc/#8OѹwKfW}v_vqUWXQ[kw[W21tsp #D iぬ؂Ou\v.+!ǣ=P@SA( 72 (\giI6 Do,Ad$MPK lY Aerr.iconset/UTtKgux PKlY gMNFerr.iconset/icon_256x256.pngUTrKgux PKlYWNerr.iconset/icon_512x512.pngUTsKgux PK lY!err.iconset/icon_16x16@2x.pngUTqKgux PK lY2}err.iconset/icon_32x32@2x.pngUTsKgux PK lYſ,err.iconset/icon_16x16.pngUTpKgux PKlYOrFPerr.iconset/icon_512x512@2x.pngUTtKgux PKlYWerr.iconset/icon_256x256@2x.pngUTsKgux PK lY!]Kerr.iconset/icon_32x32.pngUTqKgux PKlY5(*$?$}Rerr.iconset/icon_128x128.pngUTqKgux PKlY gMNverr.iconset/icon_128x128@2x.pngUTrKgux PK -survex-1.4.17/lib/icons/plt.svg0000644000175000017500000002230114567212227012030 image/svg+xml N survex-1.4.17/lib/icons/plt.png0000644000175000017500000000073314525274540012022 PNG  IHDR szzbKGDIDATxWY }LͽoO| kʱ_UšE;pG$|eЏ~AN8D;wv06ľ {e  s"%$"t*HkO>ODZ|Ώ\)퀪%.ۉm v3ȱ2>vCܐn]EkB@QO C:^sL@9,kz&BX]fnst?w*aRYtXNh}]ݾ%X| yVBR(f _}9Df(ϟIENDB`survex-1.4.17/lib/icons/aven.svg0000644000175000017500000001511614567212227012170 image/svg+xml survex-1.4.17/lib/icons/pres_tree.xpm0000644000175000017500000000070714567212227013234 /* XPM */ static char *pres_tree_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 4 1", " c #686868", ". c #38C914", "X c #FFFFFF", "o c None", /* pixels */ "ooooooooooooooo", "oooo.Xooooooooo", "oooo..Xoooooooo", "oooo...Xooooooo", "oooo....Xoooooo", "oooo.....Xooooo", "oooo......Xoooo", "oooo....... ooo", "oooo...... oooo", "oooo..... ooooo", "oooo.... oooooo", "oooo... ooooooo", "oooo.. oooooooo", "oooo. ooooooooo", "ooooooooooooooo" }; survex-1.4.17/lib/icons/pos.iconset.zip0000664000175000017500000073526414722727574013536 PK lY pos.iconset/UT |Kg|Kgux PKlY$9SLMpos.iconset/icon_256x256.pngUT zKgzKgux eP]&3ABp=` !];wm}_VmT pewN 4y9)5//Dxާ7$G9mg {yAN?oHkw0wq7pwwgq65v"H(y) uo>ӳ= TV2=\2^z{j~jAjP9$)ʇ \F(*u6::*lgbq)m>m}'yTZ/Ъ92a[2;î$3|@' w{L,ѳ fdG+:q78̜-ooza? t`oywor޹huRzC$1( N\ѹq4PB%!%WTwPgd9ı_Q_#o*-=CY2ʝHp漲œF.e/ڸpLx A֮)ii\***U.'fX'(7tSG_9f$dgc$F030`2}I)*J[oҒ;v+E[^^}w^k_\3-K$}ed. h1;g u?iq+)ȗ E&e ,ȶe:Y.1@2bQ{);@FKU ?gEe>ES6W"D~0>Wg9-ÉVYYp܌^yA!fg_W$(煁s2p 'o}1+LksFVrqxdUg5:S?TaygrpsrW_ z~,Mo9BFs_ -2PPueِy۷oalH=]]9 _s#E A>ok1&wqY!MǍ"n+"!)Y-K#j)4+۸8TJ=vs0 m~|D Y %0rGw*Xm$#q!ȗԔ3}iw3F: ̸Ύbm:3J|k@Q||JJ/8715ޤ,|155yz]ږ(7'j7zy ^GnEiPA(qnK1)\V:ÀP'e!%;ђik 4x\iYɉ 8D,@(Ε.QP0#H)? W!Ҡ}4wk# be'1(fM3]k f=n˱ ( ^ek[կ#'E1S s+1F:5Vu=I/#! E9?IBKktU߽]{Nu<ԬgfBxtnzMbhUtN?{kgG" qrrڑs;^~` n'|G5yWy(o]299KL0e9K3f餝r= S/\WyV^-^WA !ZXɧw.N,4( yy{efhQ""jAQF}jF^ïZUWܯbM<; n$Ef;}IgsÔC0(kg2äc܆%L̄w4~iXXX섨9V߿G3焮#y 5~A1+o~Wvu7*sPs8i,hZ"{QA j.vɊXOQ:싑+,oCNrlMXXJ\T NZh"` Ir^uxfuB sc:eaZvIV(fDX׬_UgnݽJQF\w]0:o6gQ9To\9gv[@}<xvJ&&d %ǣ&VwmDI ET%hmF9V  ?kh$4>[.*Pl8!zyrs cX4ZSf.8z Xh0$MOGi0cM2h.{@DscZ%pȑX} ŲTأ=oE_u0|aTLZ"fMe$H 9Nʋ:??Ǫ{Њvi4>۫j>wQÿ1CWGaqBpoe1N[K~)-(؉1 X$+YtʻD\VyWZ24EIicۋ?='UtxKy~"K\ps+lOWpG\Nݕ<~VR22o4J-5H0AObu5'>=_YS}F'|4c Yg%ya/g^8w4Zih.Ԗ7Cd aH?8e;͚ZB TY7?wlh0Iya-zF|rMpr$qUkcazl2㽚ڿ\܈3XJ\ԬHR1D 4hTNl#1HZsh b%j^wK{xAJ+805B)DFc 0V 9%ӿnV=Dkf QE[w.8d; {Qyozj?7fH4Pozη do]sq0sNb) )F>o,B0촖./-Wڱqh9jZ\ɪ1G/͊f3/c:ȅRC0Sd򲬓BAbN4Q^Vz!3(8PK̫/dXMpFM۾QYNp*uXbH$4!*%<*6Sc?52fY31{ly]kEUK [,zMh񃷠OL J1#S?*rMs݂Wћ?;p'ǯ[O4|7&Khhe0zUe?@^و:@gi`>wF#̂ 1pD |l6(XFOW'y?>P}=d9YS(lܗmƦʢre, kO6oޗ8{se54 K  grاjL%%-MEM e2PLX?:4iQaضiw,-;{bk˰cG=L䂴p5ͳAyCoiFw V *LB1U,XFQE,|3글 _IiOL#^կ CF&QVb?nr4j;$`ӞV0Ǯ֍ dE-Z-j>THrfC=Ԁ v,h#il?:k^_#/ ^?FM_8][>Ϭ0aTxT/$ H~VV-E]Fͮ 8CkCYm|-K% ƆWqoKa->CJcEww gd{Hb+~tCL>q"}j{}(*L_ ;&aɔ5NJږV;YW¶q@>¹cb+zc``w{U DQ0 5Qv=7| ]/ h-J&rIK/bziX9 pr[[- 6әBpFMpVB"bb^'cEp P5$cP]<"QCĹ+ٛ۶((w<&6$dB&MZq+~'PP}fÇ3rpwC4`SD!`7I*H(ؤO  Bԅp!&wu`YPbHs!`\ 2Xp3C!܅l@p8`9`Ef}jv,Ewڀ!=:|7N`)i!4v@I K)g<_St`-zZF_SURG?Jiek~1$"α@̌ b'ơ-b_J!3ФMڮhC3rۡ#rخe?;nZĜݖ JAO;p's%O=Ѝ+9b)))_ՙAx *}OKv}?F0+{řvs^+r@gzPa}Re7KS}=K4i);b2ǃ QSS )}tA]9F^C =%33 9'@Fԏ /4ʭYar]tl 1OoMȧW?v}^C%kp|IadQd/^-1, 1L MO*ƑoS\m?k]}钰|(mZIy}7 կ;n9.UPq i A[*FA;.5 _唔GŞ777o%!ѿCOx4o%b2!7ǻÞnLm~']T1< Q:; Q0sʙQH$BMU='_+=ej}Gt?=eB-A%Q}GϤcA|, #o1{7}=`'=ha*nߋj"'.T2YP@ˢ ][%kH0tI5 Hh-ՠ䪶l%#«wiay%"B!(uu!{]m.Oob,tZ\_ 2'ƅ}]X ~MN+w\iT)Ӆ)Ӂ(G/i*W' 5{?~}׵0J?'FRgӽ Qj^j&l"̸qoєsmmrVfGѽ,R#D EAtlnAIS"ב_=WR>.KG9̦ѡ]X*~[n#F'd8%TIbNrg@Jij_\Ea[ktnn4n jxӺT&P𤋮j 2iFppu:i1%-) J~ 0NpQ0ps1)ᄼhuҽdszU B _nq*iQ.wgʅPT&DW=z T;oG>މaWZ`X3=14J!;|@_ezO,XI4^d6\ 2;:+f!T5&v3@:8/jifH(Dl#<~p#.֡Efe* ±p.w٠'qIMx!m.b"V;Ɓ1/OwI7!wx̀!ho)ƉƄЙuA<1Rgh!"3CGI^}@# S ౓=]q^KVrߜX;}ԎtJUKn69 7b'FOi'~O+0Zo | *Co z===-}0{\fHO1h!l:%(>tgUWOK+ bFc9}}}FhNEʧoW,jv0T}n9e -FkkPJQԋNa W6\G#N" 痒}]644.!++ {[#Ay6Emkb=u5Jţ_ [C+`fO\?a0&3 пg/WeI}nEz{?AllE`wt4D4u#ТTq9ma9[.Ծ?U1m{B>>PeOE1hBڕ=r␎4,:{6'rH lg8)'ѵmfBd:x+'UW͵ѥSdˮi/E,?C,sZ)rg70 N>q⊰zq,fxb˕.DÒ:7NGwcobsKp$ehV#`iۥhb}@$glc")leC~cq ij>OiyҴ#dIgʜ7KBۈ^f+LtGyl_*\x')󂦈Pȍbh8b/9beniXN <+cߛL)S3ZFmj_a.2XPhbi_^ g&N#%J&*{J)N"7c^z2Ķ8S {#V<%w˥itr3H4g:V}[h|5=CK=0-m_P 3i<_$/CRly3N`!֧=qB1ǸcBQ 8tB%*.`8sŊ=zqg<1%cgg',v4OڄΖv}̠{ѯJ: K.@`胕wW#gqvllp32xwMԗ )gE4 mqƷ⃳Pk4 /nF=Xox 6nϰ'K`X>2'DRϏ'z/.=g"^԰ygNi$ZBQ~tR#k5oՓgD_+!5p/9ϰpN{j˂f23 }ڵ>}7ZLB$Ѐ5ϗ֍v~8ZlV͗YX %tXE]%zM"qQiE?|Bӑ"W6XM:LqZbʠa%D< EoTq?xpwKł?Qc=K lKNsQj]8?t.ŎuWz =J0{xa =Z"V-fް-[71lG7tT^18,,<G8ԚEZOܝ.!~,d>ono€Y ~1f\`Q?|^H4R9}}N+#qIVz?JZ : Zwm wsT3`$&766 7ts_nh} Ig%O2uYw`_ O6C"ݵW rxrצẒ.&BԐPId?N3CA&KS`$kjt7xd}MB(ij  9!CtU9%f3I6Uf?!b|*"WYhۃdsP I?S@&vyWV{D ">^eZfi].[?rk>$Ϳ9ۊ#Q^sp\ŒIOwC+±|0AWK? YYsF@9y ]⠈f`ˋyb{&E4ft!zP(t;{x%ڝ_^G2и?-+u+'& oM\xXM"Х}u{&Eyq.L"R(Fh?KKƇȪ J&gS2Zn Z#`ej5!ܦԱ\G>7U꼅^t~lkƖx ~(%kϬwALfy0xeY Bd5`%8Pn:ӧClW|6?b+:E@B%ػg4P2!bul҇p3XHd2b'f!Wjm3[|l_9̹!Y4Q5׆>Ҡ_YvV(TO1 'ȮCmgذSlMJ|[ɜ [}l1jύS&E%a)@CM_ QR=_![PNN୩"֜8M?f4$D_:J_4׮,E"l uz ܖU'lm_]X[`bڟ~TEg X4iQG?av'i3kk0o "'2vH#;o&qXR9hmbFt T:~ɸ"]dMآ« NP]i%SL@@H* Kuc> ؔiÐb:3\J"KϞ p% -8_b*}'*NKOO#*\NLJ0qrRzwT %IN:e$=L(7a<.n6;uzK g.ɱH2XIy?oD𫨚Nⱀ˽n]#=䓼̈|y>j&>5( pY3WWd Jm{c!!9$@81)/~yր0^GF j]U*nh=J4.U\33e&ηgm-xtmS\,@k1,iRZ:srdw~Wdh"/$LW/@`(~HBbx-36`K/KbYIII(6%!U&y%T=V):&5}d(-mVI>R-߾EYLS G\~+OMM\nrzKt$K&ȥmVRD+GEDD܄81/,S8DbzߝPLq.|77 h>t:i$A߬M7wϏ)M2ݗ;L[C;eg"hw 70[N+6,gޗs7A-5A(ť+(FZl5>:|~mܢNC'S+PxHbZPr2nQ(:S),(ŮuvRW c4.;k{|WH#ߡC*ߐsr_r$5\;͔E*jG'l|(lZMw 5IJY~< QS.5#{8E%k黉dɄīvg 6|xm>a `E=^L!s9F'js2e8/AM^a?=bDZ8>a>};oQmZ/&CL-E&;4H56b.}b;5锠Y 8wSҪ&/( e''BϲK'=˄RQ)#@p}n-/8uB v܉O`^o'YuzA{EoEd7B`I-n nY(V*95Y#9UJQ{~ Uhp}=c: gm庼:5y)h|}D(SOɍW>_Z~ ,5M0甊H/W~F'}\;#6[dARƐd'ZAtuJ0iq9gL6jn`@bsHb 89q|1R8DHMC~pWhmaLZ ?W$z'yM4bطe:(2#J)g| W\,DU9 (RN2Gttw{g>mB" 3*,J"\ʥS\~1ejm;ɞ킖}6 8^S,* cM&,{=J+`xI,u!/V}b?'| v|'j?3-Ik25nϫ~~x[)o4N͹ۃ6IA˷rVr\tIr[ .PSPr>gE/x_SI]ǀnh+"t+֙?'Y!kn뉡U"L%CGQ?mqImTzA$[":9$#Q֏*-ٍ;a[H"}YeS%mõL_,88z9'iJ WM{.귒ݣ*ȅ,`f/VSl{+Hw6uKIxt#NÎ稩`C]C)D#ƒC&WfD{ihȅ)/! Ķ #e;@pXu+/,Q9'. 5MR٬K˗>V?Dx_(wuJCC{=3:5,xnp?1A; x[YY5#)"ɥM:Oͤ f+2x CF\N|yfM;1Z<"$yΏ`=_ˌoM͌e>$n{}hX GՂR/Mt!{^n^c raB҄NxG&;vJ381V#$J]< |a6]nԪ%yn 1}% ?ldF+|d$(eQLjIi9JCMy?OQJu^W#)b!X5>1)i=/Jq/ hZ閭9>q9'S޾Fz-<ΩLz4GQt/ϊ A%U#W5-9ii[M\*skaN 7P8eѽzq +~Q28L RHaod%u6y"::f ͞\a<|Jy j)OWƽ.:?kfOVc=N!Xɽp3ό#h3h۰C$b#h|>8(g2!*8f*_EzpJLE'$IhT,HnsKӨpq6?9efvk Pj-%8OpqbQ4&ݑz6a d)l4_=iҽOgH2{BeًfOXo}ohΚܶJ5>NcBKYO&QZhuTT:]QRwԩљ; #V<#H.bfCM~?[D#= ^\BM-' ^ۭ>Kl1/JL%1QA!6-GEgg?Mo6K5v''+q$Y89YGXbx%33a5_xV@)ߑS /nT5dl?X\iF {A33(*qd^>|Xr, -*P+ hY"lPC;ȏè u y@q_}Itv+LϨ!- e3hE%A)qٕ ͍d$nw;ZahE $$ !_y/ubGX:ЧPlʦ@4kV\kA:>ҳ"#rr~ +}𶔟GF!2Tz 2o5}B|B]t3%}^hX`ffX'혮[/ ~'U.iPKlY@خpos.iconset/icon_512x512.pngUT {Kg{Kgux D}XUM>4!ݭ4 ]ҍtwRJAAJ>{bᓚ, `Ii@ACus!Lo]GҺNV^G;7sSgK6'W#a$322,afpȀA}/?zeFl"/ ahf(-굵ķDW${s?oT>ҥ[d_ %?޾]&Ht'SA"Hhy,o`A[B!z<fD~z#\ ;ky d4zTP0g }wVWݫѬ}n?A0wI| W(lo7T{QB8ě "3ruْ<:֊ t V8]?^ZW,yL ^P?ucL iMd*n}Y1movGOMfڃf|R^nyh1B,XP*s,Db4 [iv?._L" 666ē,QqC:QʇBC `N;>X|%no6]  P@Y߫Ԣqb4*yCBb2_\:q/UV_w@!!!IDfyFGz͹);Jcyxx}?pMl ,$?'7#^5L`/2jb$G)"7~:mrbS$ fO2|UY 0֝#bZ]Qltn}u{'TpZo8$jrK%?_ %I$_2GbZuu;fw徍H x}"ECj?U?CchND *ۡ9x*Q,IVP6-l8z3*Ȇ-v$WNبq9F^i4.ZzDz10YNba#P1nnQbH566,4kˣGCW'2|\+G(!g[>dls"vHr # dq8E1a*L aNv vo~Jc;A*>J,σD8h5H-]吩^2j7k(‹6QK9+jrHacˆ$'[;֓f yɨ`Vqkڌ{7iS+8Ip I%mg:#4BbÙÈ07G_[O!⫥ɦ)~@t8Ww Vjbb&3 4Xqr8_9"~YUi7vL37-$1k"G8/Q$3 QP 0Qnj7]~X+kh#w `|/N %tmtB5{,֫)@$/ݗ'r]P.NtnNcvY#ar&X%D-*ٸ+t6/V=z&^opr b/ͨ *ݴCI`${6U6,UQ]fPm [U M.Dq@H!)+B .xo~tA_9P(dOLB ׿ =u?_ǀ3\)SZg]*?U9a:GbJPoi(;DU+忺ICyTZZ.? b9%)2ăFvezoseZ,A+ Yl{ӜHM, utOԦmˈ3ӣbɅ@6 1^ g`w xc/C/H%5.N /Zuqu?!^U>#RѭȘd6J$joJy/ &94OEfJ쫦w>ɵ+p$&UP.թ8B%K88QT/:(/-]#߸':OaRA`ѭe:?pX|ItMv ⚳F\JT-hMy}mqb),(ՆXPL勀75բ%ee-/``\O&Z NG 긨Cic< 'jNq߄SQ Zgp^@՟WyxmA]d=nj|q$Xmr[`}Dj޶ *[2sۓDC_]C#U8ITݻKO===Eg>1!_PX&kq l;p*D1_)F]<,FƒTތ޾Gx{I{h,X7yr$곖Y cČ,KvLgDU*^|g-9g8T6ZkcTV|k=K異؄g@@|`{gF{< aՇf31w.Ok$|-odWLg?bPf ru0u}:Mcl~'t8VT2?2"kjJ {:zY0(PLMi. MI!.t̜TD {FXp^и$V hD43%!,So%RZ:6ck`1oBO;s3`yam3C?휐b= iس×C#[Л"1}Cp`:A/%؍Eɫbc6q}~S#ɣeѠ$Jo b$!\ TP1 M9Ei=)Q4-3$gݵ{,}~l<xӁs{{ j"cկBA"Ecoo $i6c,Pp89x1W.ϐm󁄇*~ yYnR0 ɪ~C;t Ւ&*edYDӍn۪:?{04`Ѐ|k6xcӳ%G߽K$R̮\!uu>$s.0޻oi7#238ih&GJzdP~ D3 5t3X-Fѽ_q)w(~O#ϠD׍" Snu\q)]Z9PWɤzfff4;8p:8_>W:J-Xw6n_x6nǸ,FOEhvb~͉WoRή\\R@E@@P:quqYKv8*4TqbOhȉfC܎n},Ȼ~(sF-`ȄgvAFAt|K e\*EoZ5eM;/t#g %^H k)yͺ{Ier̅rb)hf*B4oH~9I`R_l˛aҏI$q.l\x; f-%oA^_䬥}'==ٞ1z࿞զrԁ7ʨ6g.;7*upiqA3͡3/X%pU`cK(JnVz05O}-;rGPw;M˿)"Uk|~ɸ1L|RA༸fYSCFQG)rs]PM <2E01K_xm7s+Ak22o:I\Z B 'ok /~{ |:R8v% w+Xb,9NHTv>HFBo "Y'VyHm&9¯`L-mo}~L(0`Ѫ+ݗU9˂-uQ.PxDژ~vlcM^ҏZ| jMVN]kԻodq3V^3Sq ȏ/T1i9mhy&)XRldk GdKƆ +zN-A |T{茇rd xT;[[z<kl2Q$o=dWRMG>I_~`h#Wndv?}ZimO܅BApC/iյqRp'C*sC4jz6-JjQ=f^utݍ!}>r,J:r4%gjgt{{lkMo,0m@Jg4zn gK/#eh NA Yd&[v mۋ؂7.gԽƄlf-ҨʢvEs'п^ FQ?V 55q$-٪_Ⱦv沮urH0%ާӍwY UdU= VWgިA$J 'wllF1/bhDV:B^ h"X^6nj&p-Գ"_?c`Eul'2W1ҟĬI 1™S)%Cҭ o]2)JA:))!a=8 t_ǻ&8B]Ph~*q<c Z~V[ә?k#Lz~=^놎 |߯Elxl!l=yY5ɟf~xV0qL鋢؂v^6`~_=^iEl8v N[j&7&CppHN 0ZcYm&ob/N'Y<? _,nmճՔJ: ?Pt)ё8ϗR\וO[ٮl:[ |z޽$pxJ/nVכ:{`YY\%W}"u8P "oT?IJ'0|?88H2OIqh%J⢐&$4u%,^-RܪU4oٰ7r*0"|[|޳.X͒/JJ!tN~2[tlW7Ob'wXd?~.wArngH1]n\xN" 'CdjdmE~5ƌgO##wh$T9׆X n }N6$~}$.o#hvJ~d+7bsӈMfu̝vپ^+ m[/V9ޏaXc MwA-- t9.EKHlf:qp&xϲwԻb,7l&wRacP9ꡓ=1 n.;@[0ʞJQWt [|G^<Ӈ,S۹]|=mÊJ/9B]lT/dLF aSguvRRCxx+FHdފC:Y~͹Z;/u:/e6k!ȶ[uZn(Oi_B>T @4<+T<ɹv=CHR.EG"N>2˳ZOGMD"!I ݴQ0.J3>[` ,+++ܣ8E!Q1a_G@XtN#YkZX̾l=s: .'WY `FGAQOH;sDṿeet.Wzѿ/(Txb֧TBgR{KBgկ3:E]w:ٽjf0'adqO /ROw1A-m|SQdJjzhip*,,sv/K6 Z;]G$t}ݩIEmHYп6ݽpd V(\SOК:΅FHFH<@m'؆ft/nlz9ȩmD$@1!GLHv>]_h QWLγMHOGCB9S0Q18*B\egJuH0>;u}B}ՂI_Tk]iL貅&2$G:"!S; |3BTI#Wl{ꦔN1 rrmBL8\ւrkh—gd+ "JJ_"*k<;iQF nmn~(˺_~BSO;^ςҍsCraol!σHE}2D|Ţ%rWBʩLN]۠43 ~g 0C 3)68P-u4+O}QmDn"/뜖cLFs$dU\sd<,Go8طW(˵:о: "nZsR"?b> !b8 nߞ=Lx^†o ulj96g ns wj'M1'P.,{+;9j7[~+.fWN6ZPNJ]JEQҷ~bTg?kkor N-EMmsϠuS4Gl )NxiǢ臤{kZ5a^?<{ڷ=X0~ڢ](Z E5~ 숧WRgo0`&y1mI֏tlEJ!i#k){3-~ v,|y's {{̻{oq{3}svߦ8r~@JUνDImm Dĸy9׋3Oy}KLDKZl)gtYD?TM!2^ DB%]VlBo)Zb`90!q*(5rZ|ug}n8?dž]QO! YZMu-~ONjlf`JgSAUkbl*iĜW{N\dȮn+_?{ g4&/qGOrssSaeF}KJq,u#M s<2]?%~\/^ɡ&D>z&7E2>/L*GKПȭ8lb6WQO/b/QcQ=(I'loQ* ]WT`oU||l4]&@MK9;c.7'ż`B?rNYoKf打FȞUSJqAŰRw;:6*ᰉZpzvy]asno% ԃ328;?͓FܔI 2I{ mr^B 4LuYDM I{Y5¢sڕI71-/' |w2yyKj$ZQݝ>Rl>8iG{^P6|?fDî{{k3'흕v7Dzءǥ#gqQ3D\ gw)M J6-krYݳ ZĿ=!-4g/(XFݸxWA iGK;K\H@ BO*7/tp,85vW_d 4lYͥJaF)%Xgi橷jf;3TbX`^8 fr*9Aħu B+=#u sy9W撫DkXQ /˱Rx' v;gKbuM`"".5ŕq9ps J)DBчu)Kj{l3*)θSc򒐟 'n6D;!|^s Mb[YE{kᲞ]EF)vido _!Nm.ɖB֗5D2댒,4\80૒±ݪ B^_qrnF`yiv 81>+B:0q:sTЦʙefƚ!E O\qQ?_DprүP2޾yJ|9Cߜ&ٗ lvB %,tle?:q5Vf۶Hj8d /nlGrL+V@tu٘PL*!~`S$U걣EH%z"?E;JIZ,v?gO$ S#0ݑV܅Gu! ؄L6c8`R+Fqȇ^ShG:l:6v}N`lbS Yc΢J_=L^jTN;O_~B&UP}БF`5stcZ\}O1bĥr?-8ݟS3ǍmqB%3(͋9eRXQHk U˓${ $􅜉 ", e(ǞVS68,Љє."$ͨ44ēNBFFw݇'E1etЗC]L?/6#٩yq>4w3$}[C|fdluǧWv+]YXFgckNl z6> 1)btT3,;(rQ`y0@_*P$|羫Zk 5\щQΈ!a}S[udmТƱ}os{]dK虪\ļeTaղ@Xhp% POũ-ZWZ75<墝1&cEZcVď9 %fٟ^3DCnL@,V;@M"=Tk>$jHNN|-~+7n7z@c?5?69rȑ`fqu'(C!*SRRƆ8A<Ѿ[5z'B0߯-(7x Oc 1-QY46 g{3*pVY_,fQ>88Li4*;CLGgc,?<8=%Vs+sOrHZP;>z[w, R6 ꖄmB3L)kj2V JY^^n% |-FpTRD϶-eZ> !ak2; AQaqvLqlt\]7(j\>`Y~)^E/< iBiC)2$ }L΄d!_to28#GK=[`*HŽTЌ fzIVi?ӄ>LD`rH/U lDַ,JރADPGVmr?^]G=)7] * v FDySOJub@ 20EBw">[J5G=H6oe^ j p;ko͞ΓEM,x33EћVA(U(~u fQjIfW|esޖC)OpagÑZIsF8p "ƒRR:4.:1\hm#A53}PBx4dU ֠ySǍLSatpWY6U7%6nNկРkVA}u\^ni/V(zOW۟tt;U Fs"Bȅ<3ݬ0@BZLcPۏuŔGtU_+g<Фi(y'p.]dB57gx0rd( nrDX )$H6Ī_g?^ڋ8fOrCu"|&XŦ\둬\zV8 WH.UVk˽IzG f/>d3Jn]z'iL/ W77ʋO !F;%#TGe;\i.!8hH{^ʨ(J)hTht yn][2_B'?B]nrRGy3h,VM%F1VmĜzxdB -^3q{58o& &z_ZS +mhhGF"@Ms ;P|ok ,jz/L/DLXAR{~xcwt_\^we}w8(1~}7ߒeO!yz%T\ c[H:mp%tM>ld arT:`PqБw5`6޽{,0テ=00^Vrq8O/ElGvfdȕ*Οi$ÂEڡQOh) 4~[?fCixqIIgiEgբ@Zr̜"&fdX vLr4ߦ*Ex0\9l'i,PWL˚ݦ7x(53qL?qH7227GN'u Ds8ALџ[>E*W[HmUSp͞ݳ:U`bdbgutddo'GBv=6@:Iyz N~lԮ^q%/  bD1 BVMD+ݱ'a=?y=vُemKՠ…ՎBtۂujnu,g6"!d1[m"y0S'Lpcf26{WdRGܒ^]AbzF^aA\Q[4AG{v`'1$$G^|1ulye\Ul[(GN=֞K1O`d :hdjsՈx&J8խt'*ym -OQ5r:m!JRX XQ%N4<լt* "%UŶ?")BpKg:d^N\`"މ0.61:/lޜg) ,AM̷etn)py@N9;RWIUa fo63f186 oK1J$FDD mO)cCԣ{c>7g)pl?AmggyCC#3n]8Y=C@IxV%%S\H_{F)od_\o` 7c/zʞ? AV&f+!h"Ѿ%B #bX$8('SN]h=" xp>q@cs?1QDLJ-IC0-3SN:4o–l5"ǭӬ`1*I@8|*}kqŽޗ< _/N y&?}Abk N`f^j(-|X019es##YG9<9A/lkk{R$E^n騍4WEãcD땇t8ˣVi]],4POL@.G>CiԧL{@Q" kS.~ڥIn_tE Xb=.A!F%tgj+ 1΢Բ{i;,vspK:`dJ6C_X}C|BG wZ'U}^?)({AIGo󂛟;EyK6棦y l4(e|fţÁȶW͉% ȘZKSkѼ7pV+dY2|JRXcSsnމuj4#G8yT'T۷ٱ:F>[ߌ pu~9]gD)Pyɧc4w`?-M8#C#A&'䳾u]]A(KU ]cY.gЈqj$M>XIO&Gl³څR-Eooxl_spc4W}m?^AN.@智|E$3$Ô_$SCMMv'P;??͈V@kn ^ۈDL[#է[g;ɕc 2A@i ҥw:sEb! O/ik[C|@bLxTkh;-.Oe$U_j=V$g(h^>_cT-O|"覒 .pdCv==  a ,WW/䢞d.kvv::0#Y"+wOW)~%"\=S>+dRgP z_8h BG,ƺ@AGc_ {uUG10ܩZ~ _eڊTάO7cs*䀽MQZx9^3"Z8^[sC oqX,6acaP^u cl,TkWxO%zp>dN!TM;d)z9m,cV4)BPU0i< 9Câc د"6 Z$}GT!GzJsHo ^X 1/@!3NΞXBS?ߐ(ozԲ=a*#Sit"_,:#..vjYQՋ8'xxdQL3n۟r4]K)O"|ɤYο4(I<lhZ.u{:nN?ѧ!cvAULҭXw<sgi|{M4N~>X]5]!@'y j9C::)N">f{; dVS㛜mIY:Qdo =6_n +v?k䶍Ғ#Ԧㅦs>pxSwAuC-Sde.DN7ρuf~,(!Q\䦉A`ѥinܧn#OPD̒U5&P>J߬|$sifTfb͆Ϸq/Mb$''b%a e]&g@;@O;gG.Q7XڲT!/6 j`⭯O-+z?&W$ρEt/|5c^uuT4XDDah&O2 (9켓iӥj$c` Z<]q`O7v6<ɥQOcɮ1:m\boMh0\@ Z*Y.}H+6㬎au~!䲓յ%ů#*4ɯQ}%>-%#&H`׻2kl UKB$M,\TsP |{uWZqҼ@;<:&M ƞn,1{&Ar*T8h^X홪-]rZבvu',n.[oa{9TPCSD< /@-k%_izzz)$jC_+2"art7]Jw0Zm=27o spιKQp$=MTuIz}>嶴=/:+ "(~(H&pTS7u 1?*Az;~kJVU%`ӼwfθE ґ#cFùn5Ul';FJu|kiiee8ʕo-^Y#yy5۝oh:ݟXNXlmQ VzuC#wu8!Be߇A>f 6 %a> \/c<5&#þRyq<å;eՏֻhb =@Tۉ%B*wP:yj*MARYMNfy2e&b߿i#$-mkxBl7zYiiD8 W;&;GxMN^|!BdkL+nVFR&د,G2Vj[ny8lYrh|@{ir*ل'Iyv> _u$8ID^( ޴vչO1|M`Za) e,VIld.t,.h7r(lc"ɕ z2~\?gzZ9c3 0~DwmqgߊX/wj=~I\$$Vv^亿aV%E2wРRN@5ŧ@!xA9+ rsb\5f/'R~JR"^ `I\V$:g\`K㌈޳5pW{-@ ؝>;{H(eͣAF>ґg uCf=.i8n?hrtCwl#..esxUd'hHYH#k]ײ7-+W>!-4yLk:FYv W-SM}8$~i,i&̧l$&ԗ[dLQ׏"ujZp((Nt>UrG %&*t4ᄅ6li;B4s3GI?I^5ř.  ]+ZG9\:ƈs|~ۙ^]CB$fA:?J@kHng\IazBojf$nӱҏjPf?\bO8Do^->%qR:Zeغi. ߫\A>!{$3ZDf]Ƭoxcն低N̅ٞ"l93nOh%NrzxV~.HpaI>}5]beׯg/9CsW lO%zB"[_?\DtnoA΅DIqEE7ki/ֹjTf`Te%m =޿fDw[A:fpi!5C"U2:ڟ['V.Z@霣aK37Oǜ7֖dӯ.XN~ZŒ#>CےeˊQxWMJG =Vn=wvGAo.4$`:?u(O: XAfqӅ}E fF|hEf.꧘_$(8.3"[cO&?ii$1P׾e$>?gՀ?8-z _^3Rq>p}ʞYaRx|p{p9ioШcdS4W I9E bP*msѕի_qk0zPbDj),PdM&CnP爈UW6s'S;K[]a{)Dz,.LS~=7xd WtȰɶ_ju%C"ѐCy1M_Dl^G$5"+ڗ8_!9,6WsvM._r4g۷軄,ԀC6:IXJ1F"4Sė(Ѥ|l^c \lw'S#;10.0gdH rp677AKz!v)kI%p 7¶JZq`L)? x/ٷ6o8TE}u&ew8"fb%;G:ϩokqq1`d } A2F܂_6Ur Zt?T|7:8z^  V],wi9?#uS _uxtR=ݎ(-¹`' VSIO72ðqZn+峆jҏm2Kycu\"D{L%LOx+΂ ,f nAa̟XyCC f٩{SlUe%vQ3w#)@ٚ3lcBeJzw+O,!4S1!Ίh}.2-X~hW.Q+&5.^,{8O1HPA [|/.ޠ#aKO8 냟A؆&=uRPN&uGĈXť)$&NXgF/6GzXcz+90I.q ;%MCē⏥۱O0 qH~>YUy~ v:0.p tlGϸp0 |$2֍\g/IuݟthqK!35dk|q#vk: 2._NVn fǀ+y|sl52_ ݔ<2׵T0a'GOx'viCl }/e^ZHtsLE9,fm?7gAaA省|w+=8+_3j+aڅ`?[McrwOq#xzē>%w$!*T&] M7aXtOƂֳE0eo]R]h)nH0IG5 kFV `#p&RVgí`̓xy`~ D~TLk]ɌCBy%*Gje ~g;Aͺۀ|E GdB89W[w:Hz*&!hcBtzIO>逯yʲr'dT9V=',(~J0(#vYoM_h8n9m"YiA6=R 缃n}O;Si+So|@蹴M1RV XZF7(1t5sA@U=m(b<)ldyA{^|wupp8Gi[yM^/a SR$ u_{w*U5x̠Bh ɗIWwuu=D\%1 5 2JDY :  ݠ ^/a$;SqqilLgB Kۗ5R΋IXh@tW`>ޤ d%:C_T|iK'wٌZϛ^|m28@뼝%Z0)0<]xrB\,]FH/6iKi{))]in7%khec2Quzg m `knݚ, { IFKN3VwfzbO#b}2d8 yqqJHNpjGN[sG cU[b#`VqmWʞ<^/Z]~Bܛ| =HOBg&Da;%uAgtUȘd6Ë$|J33:ǜW, {YmW aK _ hii|PE@D4]l9xjX=߽1IZk>4^i Y l$52O5[TtC[@p㬺X^vswEWW.44SwvQQQ". Pg sS(p(63R_SP 했"O$~?m5=k??S3*AlN~ҋ?#;^2ԪЈZj["C݈A):' z~ԀgI]RZ #NCf++&gf5YY`~3ڲ;N3"<;9@`Vsbئ˥4֏LT9U4`A9 J>oȌL6kT#|r}_++z7^CPcbTȀj-ذhpOxf ʹ zLMcޜʚa^&}[Wp`e h9n.55};GVYNQp]MLWH00>@"5&;߂eFRx3 iݍ:J齞Bx''v9Eȟ?KU- ٢λ*ϷGd Ȅ_t®Cɯ7 Q40gp,+ŧD}d#xAi*kd^}"iH4.wBa3@6;|mmAD ,M V@oѡc DDAYa%H 2.XbЙݿb'S^d6)ܣ/%|dD_pqnVAv鸪i狊 #( M#{G"z][{AށnO^l^s`aE(_g0(C҇j*1"(W:[L;drE*B8iiPP01eL4rogn+ u yq_9oS9q89 z8En<W1%yc}G>Ą2ZZZxjP0zRw,o(T=:YŦhdY/3gMĢҒIO5%$$$tF0Vk?, kQp|-%5v|J|Llbt׈qvH^LK)Co4G}ЬeG)K>?$("rCxII`h\Uӻ`&S;}NiN[w, K`5LvuuN,?{@1|?~ya6A GxW:i.8yНZ/BVC]\:4 *^>rYC#ttT7 #2u]{?.(?MDDNF{M=R(BoNASYvP<^4geF &UfeыERPh5-` 4} d un1VO hÿ~__Oe x VCAZ1g`A t"iƌLGWyV~趍ݭ^e&M K xzV\LD#ds$0Gr^ P4C;>ZM'_ ~QnA2vl;Ƨ 3rH@013xGra %/ I|88SDyu8 8{xHɡMWā: ce@8(&ALm>]H`T%8iphڍ,[ٿ` GV*%-M-,lOqYFRP^ޑl\Z(&HWWGQ =5Ă*us]*K\IDea5&|al`pQr4JNnݘ,,-A,~E(A'mn 1L\){_l@ݳypEMU8);;v NN3o%Z}\0N!td"'N8L4JzjxE?EDإ1<6,0 :; V|SwZw\lpzUr?go=Sm݊Uo2C*VVj5]c,d78Wzf`D ŃAśYj-~PnXšGWvۑyWkw&'T/ w}SxP 跠4;D4;a#qx,q7%^*c pM ;Z>_yfFJlC>2j.ti wuFc<<2nق$3Ajcދ_SiɲWzMߵ?({(R_Q`ge pxUU\dӎ6p6aNc:`EfEȥGbV4Exzņ4@A퇖b0>|p=]_ z{o} ](P0ps1ˎ$'oR8 Ù$hͷM|d=?`:?*bR"<=?>u_Z10;?h N&\KAan{{v}.}+O*ro D oGQ7aY&BsYiqۤGñeL ?p0==vU qalN .$Ƥ aJ#1BLT$%uƊg](GFMk<$dhHY@|x۬*7,Y}|Ꙍ7#.O*#7_z 7ɞ[IIJZTsBo+8@w!)#vb=hGPROv^ƹnR:s i%LZ2ujv/gJ'͵ԶZ6al z7I|!j6nbs`:/j-d΋`)An&}l\*=RJ v٢  ~ù>ziլYjKA˭ȕ46TՀfEֱX oG6 |cqm*Ss՝RB$0:o?v2h_%MD~1g 9T zJέY#yVWlӢU_Z ۊ]n,4J@R,q]Z,㷹ZAuIyG3J>%a›:. /> MazPIua/o:JE:,^c@Ňbj]AK2aV)7fMMjAIeg2X1؝443CgF[ m3d7{'1;Xz[F{``q%xKs8J sqdg/,̤\ini/p%' pA pqQw>ě. z|ʣrNhˈk/7~ *PX){wŋ.pjG Ia>GL`#lZ .L ?JƍܬDg60K˘hqVv {= L!A$y9 /U=tj\P)D~9 U^dd89?1ǘ6C>ñ4媭5KD銂Z鿂%)D{*ZW>NO{F,Öa3Mx14VAtEn}t_rrxfx& Nvxz}\ΑJ ~dRd=uVRKJJ$rZ$)Y (>Ǎ>xߜUI(64f O˿8ټNlFM :s1 ⪫\^!OOMİ@28CcLS+<Rl{g:=??op bajmܳ7a>z̟XX3B )wY6C }vU۬^.v:RJ.>[2=ӭ2C$QZyLG{ p Z;dv6&adeŭmtړÙ*ю/ @uI!=z帘׍t0@^! \3dkaghw^40ӛ}{kWUcٱ;V /],7̺lV#YK#&E03^Us? !،ltva1#0E] E&Cߟ)k&Vvtjm^˪i72NZUͳrw+a.IA&{yHL(Ud᡻˗/|A]1\.(9j%5͗WfY"V]XԓmkUGycf>dUbvšH(5ȑxHMfүnNy+Xg"Q#d: *bYNse~k @^ 'мk0e Mڮlț]C Z qWx1OG@gNML!?l[L%wrtƟ>}.lIIra"YlXzQn/6fX`&q-܁IP[%%)U`=λJWp }L*_| p&/_ΐ2a `S<.QE_`jQ$Lփz-#VWG??HD:ϥ"ҰmQ1A{;{m9& i}+(nF}z`p*|̲wQC>!Xh)wÉ֍L GL׋'S/("` ?Mt=/]Zyx]TGRlSbCU䎢BP8$_lŠ$ wOޱc4_MnNVaﮏG.5uQȄ ~/X{Vr!R=;>U]_u5mkOEvX.LyP&mKa_sYP:2^ִk:z~zy|dϹw3Ed6D1y}/l`hp`byl(QW4zyO'?[Z'Lіak}}hf ~qȫ]]ja`3ehi2fX>_&fW VUAE憨DZrTslѢ: =;,)dfrpQaNt )/\Kʀ24S /Tn }!2{pkPNЩ>1˥!W_ADF88T֞0m+v+#aZ=P+|q-&Ȱ%jjTmcf ѱHK!t|53ANh yԞ4n][_?߿h:(|hkCd^ S)L_\p"]fv]`Yi48S"\G' ~/򳾵Iʹ ҐSi-%?T&R7~'$! fܯ J ]'Y7*2g9fKEܿ; E?ݐlR^W/x[9mRg: 9;`=)|No9Hx6Qe*O}Ld}?CCI>!dd3EHʒ?2.Enz߇乶|ZkͶJXгlJCo..PۈϤd22uRnKVb:CW"ՒJ A֡IU{nFm.K%7wf[m~/#=jTD|+bg_mnU>Ku"Z0WɷqƞG|ib< ٜXGhha'W O uHdTHl;(cr}MVhin×iH-74zHᗔ%,C%Ksj [Q܊V_'YOߓTŦsşo$ӼKzģΦ{?^t;Ǩ:#Tɱ7[=<&{Y kkj$ꇃ)9M"p\(菘d4as%Je^5bg03~w~DV/[1U&v<L Vz.V Bx`L4zW42Ujaf}^9:`}b aA|"qjW'nϷ]TQ-f?ڳ6GOp$M^'rob+ٮm0/]BMI|,Hc|J ~u?q)oJMC&`r{yJ$,71Zm!y2s' xlR ,eHW()|Mi6k\A6=UoMeHٱblt_{bXc3fmͿaP| =pgؐf>Ŏ1|Ƈٜ(l!4ނFFƦrr^=a2'-7QܦA7`Fzݦ۟2x#=Z }:mpp7gfPPtlo ۭbe?h%+-c^t-< KCkFJ˳awDŽdہ,'{Piyp*vx_w.g d K9MzoZœ`F/*:։F7AJv92sV{%SR`Vd dcCj1m_~}_iEz]ۼ2U׮ގEOϾkg53s,%=oX.fNOOZq̬@ ;.H9\ta!} woraN[QD*(j/nܒ%+9OzcSH־xҴݡ F7"8eS7p w^p,~5L?I|hgIWgbnONN4–?KTZܹrf\5E;M؝05 0n3+[=PujPUtqbl}IUlsބ)a}*Cd0VHf)yאd/ܫLMM>l&}|? ~}Z)CݻrXvqZ"&C4*ڛ!J?`w$˞Q$n{ya%gIRYb楨b7hEE+UA)uX Ku+3&S 6mxSt}ǤuX'VƐ\<nwQʷ, |Z @OYHo..߸Ŝ1:x{h\tq`g&Kq'>ZZll,c]yeծ[h1׷7 *3tt %HIwJ H4Jww -0 * 4(ݒ0|{sߟs~m{Y^};,rW 1 !fveC=DXWg| >ºG}m8Z{ ،{E̡$]GW\g|}Tg+44$܇<%H1$=O0>:7_jPªzxohl,1^4v4dwq`Jh;1S_lsC ?h+gӍ!{JYYY׺WU~:, =Ec< d)S<ߚ9k%P.4zW_.S*OK5OwA'&!(n׹@$P -e/. +fm )M~w1[yUh;v+lw*΁$j:t2WY23T0J\D6Ow@^f4xɑF$A2y6~9Xl}UM 2v*JxXi[# i1;rf)q%a^I  8m}owb$<=bSu_i.>d-qu~QV/m;@FW%'3'_EɥN\bΞ,~}C%:Gbwzёa-pMtɸZk&d $H))UxHc͒gW:w|)r|GX0>3cfo-3(!wVb ;ț̵~zs0OӢ NE2qW o[rcgS׌,ej l,fM؟N']u2 AY1>"*${ RHՖ#ـRt 7 ~25Fz`oY? ܻ eT]^z>6Oʘkԥ]˯2 hC~g]W?̚0 LDjoXtÔtgvw^N}7_ٖǵhP|L`őcUt)y"O`B;\-0k][n"^oݓ4]j[ji6 .8su7akn3vLNDn]lJy֯i+niGFO2_ ;tƯ@TYZO6f\TtttT|7CHt;1 (3=ލƤø5M"Z/Ա:>_iD:̚//7ri^~UPJ(yF%/Qbuk8(hE似~ܞ}x'SL?\9\fCh^ᵋZoYURח8 4")bs8 B;&ZQQJ2/}ZX9D5I#?1Х999hL.k\_46!wI*Ou'j~izHxهb+==\ye.g95f1~1jZ5?e_'Rct*m[Xz5J1mu2QdN*<@ܨPΘk 뢆h`]m%[;"6 X9be?ݗd2A <8DFF Ђ6Uj-yp0suuM?c {ƿ"`TlA7'fQ1(Q!<3IFF/~3߷Lksѿ8KՕ9Zƣ.uï婵R /JþPHIqȃO7zsa0pkj#@"oN,CƏD?>$KD٘*jDʤ!>M7bu^tLK&\Ζ&by&6:A䵀/@g>wD:e'yU|ZC_Nr*{9K#vq1YDF3Dt/_rY0 ]bM^r.o d#\;+ wͤYqٴ yDU^K}'UGSX1$2IIIDZ?|1Yb_ 䇺 2Y :yZbXvvmjӠ˖@cMLucXj4QP,"#)$1Ú'zy-\UvBA*ֲ#Z]Y4$ϑy 6ӃKߝqYgꞓ_5MG9#5t>tx:dmӆ`"cF PP,J)FZl="##cO1w!7F BM^?ׂGb58no3+- h>3qo Idom戽Fd;/@4V RڮF@9jCDnCHhkMCڙ`jx@7Ч ]4VaRZVRosWÌΕT\WL 4.};JҘquAK랲CY<ð&u_@_-}MΘKm\ n=eo TV-,4~EWD¿:K"S8 yC0jSN^L}z549l4]3_r&i,#b`B{+' {pE)/BՉ:fj9 ļXl@oKl*JajE{F@l:Qr.?'*#7cU#K>(fȨħDΐ' ]}ho\dC%nf#ԟ<,5@ekDG|}uv`iB fkF,ő#)e Bt0?ޥ+.C*8d98pA?dgVc2gB&W ?=A;19IP k9Km ]Qf![: ↀ\2M&NOڗ&AjYh.:qϝ3x!w1cmh8L]@zzpN6zX늘/ _=σ'Q V o#:DS2AU!͵ m6as $yix'z{ 06i7XVgE!eyabp!9.>y4!5,[Fugxylc' '/Cf0!:^l^~qC8&|Mǟ~ݾ@By ֕ I^>Zvb>K~f)Ĕ+)E4>GJJވBTB|Z%z ;.ٻذuq&[Py"-|fzAu̢h[m\̰ԕI]8ȅ:>_.Jp\1l_ᣋ/OOn.OVM{zv|{V c`X7N^ /S_@t|n.\mri$SY8:;` : u,T2oNzTBp0BZMQL5uwvZ!je fSN^Wlz|sG8[x?۵zi9}R~Hlw>'߹F1dZ^;?5 | ʠ_$ē#y{,ދRy*`rɕ*ݜ lAДɿF-G lJ«P~?BȎYvR <e =vQuQkD \v+dN.ҝTbPuPcL\ /&בOh᩾w N))׸*VY1}7oƌa lqr=Sݛj::VoL"|Ss ?Zs4{qhvVRHk~}E! N=xmwf׏L <_0_B*ȽH7C.]15ޡW 6ї @!V{(V`qn7x3k{3񿣑 y01HpPPATӧy"C[CsE)Z-9-ro!V/ Y: \K7y ޏ"&٦jOnP֫Z9ܴ? '#y0}G"Qq>ZWT>eP5bE%1Ɯ0 'c_ì2қX=]2b㨨-Ow+*@7!U(gD8ГKFjY,Z<$&4܊;Nv)+^)ST­xE6KuwdڐyϋW~XaI\;N'0Pq[ue?4RO6› ]m6e*uyrGG&Y?xYؓ=x^!@P6AOB{r}v&L# ]:_젅QbrX4ol k6Uл[ϹB~^Nݝ]k&%XYqSS`I]LRSGןːO+ 8oho;++'bRC6%xX5.5QJaZfd~}KId(hZM塒*̌nRATIw!'Yϋ^ko>3HJ RZkc )G3We3oC؀N;!|,)hkh?0GUw8JP?[3u5=L#&ac st鼅\vfۮi2I=X64R?< =^;!^| [͡ԍ͍y$ь%W~?L4խ~-'K.2ĩBhSv"JIȝi^?ϩxKXҗIH=7Q)Hwva>C{0&3suX,@GeP?Bʠ\^{H%o$sYXtԩ]ڦė*_zXxtiŮ[ yl^FpƬI!W;5;Ѻ^U1I~HG;̌&&&%a(*LT8&(5u)74S_v!QW%xl\ӻ= ɭ0 iԴ5foF02!ERG*Uq/)AϴX=ׅ]QC@bRy zʶEqgGy rXh 7x=*+iiE兜}\ǃB9?|Vߏ|4K 鎘HSý.cXϾm-q DdV'IbSEݦ˻[FeKiN! x\PZ:"zMd< :MAOԓqt\롫kv^F.Q@c!Ol@3z1MLM:]Ŏ00r}O fX1M͍:BB+pSd*zBӤ̧s+n8LWVvxY끳9aVD_` I,Y$kcƇdc5MYXr.N4ꈖj 7B$#+n.C`o iK )mhH؜".?^f._=$yJ 9x-D?_ - JYmln n4Hp7VCe6y{a:.5 dr>")!p k~|.,C/\9 eGV-+F%T4E%E|U3ņ0,j`BburpD< 0\*"GtG8x70[s@v٩Wh) *.< &p9#g,qf-ʁc?U?_!ƑnJ)0|-tHQCgw]PzضKp7X5ut-x)8B޳|2!@FG Ca1$b`NaY :C0T>)=''Qsn%˼ ŐRR\ f{*} s1t$ <*`$u!UW,1+ ZylmY Mˑ]|BC58F$ `0)Q|h3G2?븩Uw Kݛ\`'&L|,5ke5*mW?yPWBQ.5+XQF a5-ݎfu81D֊fz8{-Q\xZ&:S7͵-cuAWWCGY:f[8%Dk@z-hBc2m,|JRgN{I^ca'25~Uޜ#s]j=vCW݁w^{w+F,H ckf)UGLC]PFw4JI+༶s֮jNkAʻKWkoxS5:+@{*f?Lfi{9dYZ](Yc{^,G%$ga0?Ay?m>jtGV uz~׍ "6e=4;E'p>*\u[wlت #ht}^h PRe叿y[<@"ʮӰ!&?{X"PK lY*Ѻpos.iconset/icon_16x16@2x.pngUT yKgyKgux PNG  IHDR szz pHYs'tEXtSoftwarewww.inkscape.org<GIDATXmlS\% KRJٚ,aan(MS6iQ EBMCQ *^6%{JKU@[eR%1e"8پ}0Dd<$&pHĢ.kY̳INhjbٰZfٳgUZ,@ ϟ 6dG!!b~L&N~ ޱXmh40%`@4D"ihY=+Vu\F"$$ 3/sp8X)/a͚&c):Bu}$Iu%qs~?mm_a)>H"!t{::ƍ{XT}$DƖgH7ioā= TO`2.=O18Xɾ}Q%gEi݁@@zFGGR!j}.zPHڵZx%:)Dž;/g#{~ر#MEE:;=s8ZZBPUX,6/dYL}}{xaϜ1##LOG:,ni s%$ Ν3pd2ZYΪ,]Mmm=~ff<\y5xtC??cѬf3 ^﯈e֭ 06&D"A/ ==9(`[Gl6gdߦj)+{Ícʕ05jjsPQh)$I$I+I8,;^X? 5#GVGGGO k{,Hf@Q^~~??l0K AQdYvB|u MԙeYrrBBBza^$++ɸ׎BrEI.]fL&oGZ-j""Fq?>^|(08jCko{ ŷZlH{")FA IN^(Ơ9Ç޻woX=x !E!*p▕vew+>`\{"gc8d ):@ NUEA1hnӧ:6hBeV[= KRe7!pբ(rssg!)6)]L8>9frG~(bذaL&3Ph_jUGh4iVŹYYY}YH0??utt$_0?`Q%u/ J)1{|F$9N]Fii)X,@ h4:zٌDbK:uT)g܌id 'P}v˱ZѨrC%IF%:sÆ((+,,l5zh[mk<Bj BCC1H( W*?$ Qոe˖ ?Զf!+ g$Fа $~'Ο?(t: `0=ejPT<$J6i"\֭[W_ʕr77ШUąөEl y(dA@.kz(7@qL]ޠ^nP񅅅,XG2QQVOJJ8Ǝ7oŌxG+QZV['~BwHJϼyN23%zv 6m|#.@Nbb  NV͛O/d_ҥ tA@}cͧz@`x9eo(- E^ҥ(RRR7EvtѣaZuq+1e4zVY3(N>ԩ9tNp0? &F̙3iԨqY,^#лױm̚0mLf0ax8w&Oһ:2-[L:OW(e5otN'L2vCFMGvm8EWW~bcG~~톤$50TrHIѤI,wЦMYAR(IlV._4UHu0e t쨶;zƎ}^4SX^~3AQ 2E%{L\?WSYծ 0s̯= } cM`;V= kBC8wN_ f̀}nY!.N 7p=vG%6-XɟqT$~ڀ˗`۷$!a(۷k={j_ deԩк^V|'2r0{iڴO9I ڋn8vm0s7d>=eephA"# ;)OLҞ=((#|t">x4O@Ç ])<8nT5 ǎa@ ҥ5|5i}2$xxp v&$9Eٱ#W|G׮\o w5z-[/x_+uuo`kB@tXb1_,Bu/n3Z7APx+7_ށ{/?!t:A IENDB`PK lYipos.iconset/icon_16x16.pngUT yKgyKgux PNG  IHDRa pHYs\rtEXtSoftwarewww.inkscape.org<NIDAT8Ka?}mNTtْ,cm04B!xtxP%[nPeKYK)Ķ|ǻ}<~>_`;q#P1j,P,CCC4Hsd-=ZԖZUGd3 !|7Ms:v$%i7bOv !Du ah<][[ ;>V~dV7G `Yet]+vk(GC?Baw"d>gw$G p>H)occL '֮s5"S8oj5R @eI`۶7ydOnmbffC(Ted/>L+ζa|>m1Xwy.R*TN3::E,vSqdK  T9^>0ژxHOO8)%R`\|k;zd)*f1Az4Ђm(RR BnUCR)zG\.Y4G^2MIENDB`PKlYVރpos.iconset/icon_512x512@2x.pngUT |Kg|Kgux |TU]6 $%A@DiiHmLj2TRIj֋؈j<7; lgwLq%1j$/6 #,* JTHʃYE  E\U]-=6AGy֩F[ t,k_mi1mZ0]cjkf|mO-,?P`e0VIWuA18|i B~{C~Yk~ .(@~6}  ?TjvuepS/pAzd 4"zoFzb|8<7 )ê%B"8+T]ĀmO2C|miN\`x8:ݿg %Z/8>Oy{L-,4wZJ~1kmn&q@nk7=0&|,&PYLsbE lLȥWnxwLO2]hp'  W"Η u7qv8-JU #ss{e%54rJ[!8%uv,m̈?u3;3fBVC0ʼnA)t~{6,N!3թ`TMM `?t^2DjW {DނŽ)[Xon*33S~e&qρțWS:2Iy8+=&|~Ȉфe4!sd} =ooZ+CTd.}t/XDkNŴ<چw[?]08m64tFq444̰}N??>i:]n\PZ*O!giIƆ Zd|t^=7^ slڗȚ>k, b|b5 /p>֐9 o/`,XHjBB KN=ww! nif $Cv5vsQ_X#! ?̎ 0RuOu'̲_һlךtg6cFAv2Q'ѣbssQVDOeW! yH}-棧oDqS~ Þ(|Xiœ[(ky~tV'ҵ1N!; ̟[ٯ?ң[V)yοf?,n:C[ΩcUdm3 mOUzۺ|Tcv)&۝vfvw =bԿʟ9,?\5e? kt TQ#iCd/^M&461Ip+[lHz^kׇ!t&FK1uͭ13J#MFl0]W T42&z>E)UyW)q킵a*/ٹ9.2sN7aGm{{o|J}"!!hRxͅ頇h灝;n|ٌK} 9x XoW>|LʏKCg]xzL4tA# X,/ȶhkn`)[,3d1^oO0Sʅ O/}SKpdU&d>1okxkhSrw5993Tʹ;WkH3d ߷]I{:J&VKAO^&Dliq/C8/?tBN3&"!L e_EH( Ej Fׅ;쭵L[4b{cOM6GrדMtum7)/jnCp)gC!Ih҈^Oϲ٪fgZtM;~UHxt^Wtbg5>0'F ֮ wTq!%p~酪Mѻ쩁XJb`0A% Q' M̀]q ~4ñA>翮Q~m޽wʟ7#[ 05lf)cq:/ jUu[Uik빯8x<%2E} @yTk YQ'}vRkLsG^ZfXtvRPw7DD1hO h *rT>|S f.v*‸`e2lr`!/z>JWBԟ*)/ح|o (? Ӌ{ąevPiêRR جg^CR=Ekb5RbLDSVFrd$"S&_}A*C5co7&3W[\*xCE + _ ؉ߎ!noc5:K8i5Y4Sy;Ͼ$?csDy46(Ʉj ϳ&X<eS>.yjm+1kkL 5JџB~:j{YzlgE?_Qoָ`? 5x.bnQi>=7 GIsЩoz-Ja"G7sF\o:ƒƿPh)P"n>j:o9R5FZN.7]6_q^y|Tmpa-mfsqqY#^(:Z_{,hpIuHʩ^j-(ǧ@@Om;dD t5stuYl`WQϿW _sy^&imG ~Bt+pmg)c~芫L[kTb}5/ dލvDQgm}y724Q./y }&Cl e6/E4g3.*xtA14CFޙz'Ù HF3rA`8m|WYȧˋe`*#15$>08T pd1;9~uKZVS˩8A$H9Jw@ JM kysWX]}v古}#Zs']e Zrnijp1x },wۛ5 8 OU3x%@祄3y׍N>5_y: 3GLo{EYI=g)d_F7˨hH "%F*L:|5xݯbeH@dѪV[ɜj+;4M|8l70Z=A{ӪpY>No|'AF g(U2P;QɊ'EJG8ȿ!? y\-$/.wU KkAqj?`{y{wMz#TDc <0O6xg}e/6媩?w(Xf $SJ\)3oFbg9xbu|jt5_j,d0?r@e4R܍vv.CAHV\s<$+Y!4ߏUEj|Qn9L\*,.xrS9vTGxXV=CɷfXt%i윻۫W98NHb.U f#+/j1|CёÇN*. f]Ffn ct] 8ǣ_\Cuut;2B_cLA==\R?fI7,ݛWW+1:5ε\ApH9=BR30Ɓjb-"-OĴ#~nqQB[?$(9 7٘`ku 9 ܟ nyE,! }-[۸(v%6Yz E>{n\C4ݔc鸒~-A^{㣮Ԡ*>aTWW7^]y udVrVpS_ Fwn n(_v]o;]%7zmI(*hFK'D`11;O%8ȨiۨDmu+)¢CBk#ߞdMDT$Cq(KZ3C 2\ױ<f8bd\F)&^کQxElws69RŋMǯ s1}UYlGU]Y*LL .}]aA_ӷ=8N;>g?uGwL;rȦqʓ9tH$a!I(ʃ|+A{PdζOm oy})j~ȫ Qw3mtý.B |epS N|mB~-5O']K[ ޺0` f9%;~=G5P{'e{Dc^cHKɸ`>҃M%Nc"x?D՘4.TżѼp Z *;M{#9 NK4&{Ξ i-OG-L [sR-8t 9a 1Lz>c DZdq"~B==Һ_r[QOޗPJ'_ |&~Eoba }[ntlp!")OզISLX0`4s ,H&8hj[0rcWQS]aok֕j\A>,%S٤S?Gmvm-·{~ ' #ߎLI̲@Uٮ'scT\v'O/hx) ċ Fw&{{!´KiCxm>*a%0w<#XV@`fzyY ѭA`nyNoPKvm\w 0s[sla:׹1iԹ3׭RvCSh{?N j,3:-^~^x ݟ kl(qkAp7BکUrCH ى-v,S)G?qJ;»-E֨Ch;ߛbRsAwL^3% I;'o:wk_ ?zNd_Q5G Bn6t$+ ¤ze}6DC.B_~- SpxLPbnXӯDbv:޵ѐ*"ƒ=݂bm߮ D@ۍA󭯘ǡQvy'Lg|r"\v?$;xImRT dCPRoٗ\ʠca7z΃H2w(VxIe֭ Xʺe$b&\n"K#4YPMm.oAm!=x6ڳJr0(v/&PkuanKkŏvB;U^] +`AH#Fe`W"ޏ[Tx7o׷fpz$ek41aY\L*VNLMNouO#Uh1=UQq1bxo韍專I,% |dE: +x\vČm^Aw !(%Ok̎?`}l i~{hNmΐA *!MN|Dirnԡc8ij@jz9 4I2сy-Qw;Q?ѻH+,"zZejƮ=p%+ڢM=7joȑb9"Ab/'8gl6kD\5}n/`)8-v|gR:D`JaGvsˣ9!E]@t ^'_m}(#b F&ׂIm  h+ѩbC%.(M]b0D&5_}0c4dC[;c: k2ͤ'hY.**Q];?yE+hQq;a[ 9d;@{u au/nYI?p4L`]`94a1+ #Km<^9UW& Cp?"fK^Νl4dQvjCZ% IՑɐc#0 ߓ"bf'A;iI~h@!Hw'Cxg$ L^]O2$i,f '߿Vc%%=z8Ũs%=/VBU5޹RY}ԨwȚk Rp߂$tBgOpT@[h$DNR=9'qםT6)@k9ɇifh,XY֬'3? Su- u*7L~2ۨAY%~&vڻKYg5}6bFC=+43g|[dzh[<^ =dta! vq`@}[Ta{x7WX[t\KF'VݷJM!14򳯮Κ7;c^3cکU4sV"ClUI峤u#v!RBQQ2BCh–}1W"ʣ&܃4x^񻸺,6##tȥ&cC$7< hD&-{ n/x^(H.wHa0dVCkHnK@/ȦFFF5Is<ЇQ`V> 8z6 {Loٹ9R~xdj4'@(\5;7SS&bIuz‰߱do&"ɗsU*bxL@׃$|>g{ukj2J?0V }xWm }r,C~#iw .s&D2c0iF Q[ªםVnL2׀()(2@/=p:YG[b`j$[`B@ZJ ǧ䇄a^oao 6Y!׃q{֛'Q&0]_#b7oЉT0$Ef.aKMj>bt„ ,<77?@&#Y999EE~Ҏ?(daAqH &>6 7zBxZYLv2wptFK;*E]JKi$ӹť;Td9 ܍&2:>2&K$@]@vm}&˼|$Le%]'߈sA13mJr$Ou l{ F J. CICC.2@䈹N |#ZF1e?ySPB7du=έeE*}W;; R/x7(>U[}n;a Fx;0V`(}[Dgghy~ CZ!Zqw5 [KO܌$*ULWC n+N&ht B@^"#ٓoZ˴{Nav$# \WmR@g/hk#fIMc6 +?vr>|2,Kg\ɋ͜9pEK$m 4hE iB$Fi9S`+7VܙO*$D(b\&-v.}8&ۛvn5 UCȢA? )SOv :@/֢v ߜT8oWmK3+o 5mґ@{Or=L|" ;嚰,&1m{ݯg-h;@?. ~۞3Oa{a+"sCvH{@I`2秸5wW<2+#0ynu~v|qst5lnq N2\|_~5k޻ 2T]YoN߭WMo[J-9&LdV 0ZH:ꦥ˒ Zs3X^OavXrnrT1(!m뷠 a~xf DYoJ}.(.?hklg 5W֒ =GʸLl,)<2LFTSSG8Gc .΢29o@=:L]Q7+zeBpdxJIef_ VR+mXs N+??8p]KPw]l_wܘA<EB? 2C>>BOnc#1}}=ZaA  W<%?(/tÇE+I*v rcLS2%>:Z"b2 F^e>UD"@2mݴ{4aVo堆 TZow%Ӡу1AK XpwLz}̂FJR!ĵn ~,Re|w̉xޙcx=i:ZN.NVȲ%|{bROUa !p37Aل{A&ok·c?GPo%H:S;<˺fm |e O(5M9>ةGGmu*9n~rd/lMHOߌE0O!K+ dHH!~0.bVדwX.HScXa>>cIyf(z jO{fo烀@fNLLd %TMH0 M t@OK_+N{Søڐ _t.<֜TYwWOfQ\ l0? 2> cGSc$:qdoK0g)w2|4EpDDĝs/¤-8E =XB' LgtHfޟjzOw l>KO O 0PS0Dw?^XlZ!*A'{as6g“D}rFIHT, Z;dE"lB8*ɞ|<igF%4DEix?W+Ti'(@{}{`.d=&9#\d>QV ^6o7&5 1}}!v]HC(YӂxXޟŶV qEkQ۰N)VXepE`Ԓ֦+ }BmyU7~Wf)ZStKC >[E gVAi7c(A@"_PLQA36)'y^l r) ?1tNTdQ|6a-8=ĩ4R!J?O666;oYJAq ωA*osoE.r2P;PS\w8Qr T5,!ч13o?j do( q=JUT U8D+F8 }/>Cʞ<}*O=)0߂~:M\__Z&nk BRPbT 8pEҧ dނ4~UFaPyZJ%F9܉FMM|*U:/k ɠNJ(G  l'-fbw}S^ |n$]PO\+EfRuKJ.Y.VmmPho8 yl%M<*/O r%ߋ"6[)$B]OE~?vTx@ssGZ^DΏ=47*(SD*! */:;;ogk5܎' H )D Z_b獡N+UH @5yԉ' Q-rhu;\t?kPjb k|vBCo{ӑ;6^bX.|'Ƥx_q-@pkCM6E󉷭ЛBlw^9PŌP^Mô<ofg¤:D c`xxz77ݹI 訰rkš~;3ubI/鷵YD&S%L])d?`v.忱w[7ۖŖ- zvJVdt (#jjjrM{_gc`C --X~ÊEAQ(4(W G7aGq#(}uT;;Ij9WǰΕGߍi2W+QF$?(t єY"~wZt9dw1/: Y~ҥa$? )AC4d3z0%î~iZJpM޴\ KbF"DaR؛)hQGӪ9["͍+SzHQ\ŷ'>~R]7EĤp2Xojw6X%WO^h/$&+|Dښxt]˅hVaEܣv?\KIqQBKDU1G/}hJaSs--%ʩ 25 !;7kt'w93`ysn_Ig\=lkNwdzJ4xeJh\ݕN^'?ݗ>F{^1V*u""?k2Κ?~=~vDrNf"$UqSpL&$Jwxt>MKyRQAQE6 ~LF!pL. @b5<<{H {82]f! xl W1jx"?땔LD]MeQMM5Wj=bi0 Vj7Fownc#iaTzNrGq޵8@ \ӻBOx~k)Oש)+MQCM<wI;E#O$SJ'ROa1COwp+* (.IJ=7:py-H2g`n𜍇+JRNk|8CiڪGrG4#qr}.xI"e}P!ǡ I0W*d-omoJj1LshW]ܞ/!@ne޻(jQd03opz)#wPZLϟ/vЂDMֶNI`;9;)~排 [OZY eF iH5 P[_Ey<ڨN#\@rKfϿx5.t/Xj^(rx4+\U*qk3]$!>HR!i*V)CѰDq`-8rnim濳oI݋9#w-1E~8jMm::l CЇ .bG«mKH/_ܧN''bVzW~BϱZl >ej,Ceg4pF13  o;G Mt7L'O le`1ݭfY] Zgd!,q-Rz$j)^(ENs[#T&OH#. YB%:U;elE#X-ǏRb*ϕFBǃٺQ+61fΜX>iPi6xC!|#*fK;CmF-2P"OSFB׿T 5&#I.qQ?*Pyf+lXŨ4SJy}Va1 լ4Q?1߬Ǽ~aH!mjܭ-E^߿HZjƹߞN ba Q7t_w H/~NLS:4n7ҍ.^"XR/~YvMT;:OԜv Q+vn֞7+A6/%Jke]ͲԴdudgүj a \p_;SutNvBȞuKɀGUpZSC'qIGAII~8 /TUڄӌѻ;3rIE` eFVE{=U[g9;NшMwO~H3h(aFVB\x`:&S?PE^KtKGgC+ٷ{J'~n$vն+>2g߮'|ѯU{Šyb4]B:8pY?"!]y22NBrwKo}~Y~9As Z%qSI{Z0)|L'VW@IՋ[/NQSq~F,: >8JAP脃Žd,C4YKUrmi8X2qI823iԱk`Mj Ŧ'~4fnNx©a9mda)]ȃ|ɧf!|"KZ~JaJӡmRˢ$$$n,21t{Dr@)Ɣo+ qnŋd[-NZ`9l%X ȿhڢL2Z`L6}fj7D\?/vceEBrE*oW0Knu- ؾUxl90G*#ْQ'),>8PY3iS)ёRq){̠ ҩ fTqR`9)?{ fRYicբC vrl'$9H ?{ߠG7,9 wNz?@ .XY4_E#WT*bIB]y-C %'f񬀥~^` av:I["pZ,ibmjb忂u69$^l哌/$եw24H|{g!)ϨiIJ}f=Qd $zl28t}E=]sٗ\spgFFM[nMJjs; D?65&XO߻ᨱז>^Q;z.8cw-=<\67\؝?&#LD nL0f+_'&č]72(T*^GYf$Hu0:6}_gIo^Lҧ0LW,d-w#2HHwJq(*zx9ޛ\,Gv;mJ܊ "sb;w!/V]Jݵ+? ugB&D΍~U8MYOsV#*i-aӺ拒b Z &dMaH7Q<s%"cs)첽5S 蝄`w*^u~tKqӲ__(T~U_ȷ#${yunK$r9`e Wtz* <<ЀHф˖[2{|eB[6<2gI^)-tׁU +R&\wXF981h'viyٓhx(_mq.M\$.:bakMRpw+)ٛRց@e,k[]#)5uDG^?2sX(!IR Ķg-#*\\ܺFnݒk:`oXGRyr5퍺$c9M) 6(x|*)s fGn'.l^MX]paWq4)2DFcڵDsKzKHEF_|W@! (> yΖaAE:y\)Fsytw7W-ّ|TlǪ\G)W|{g٪*VcMw!EExp$W*T%S>ltUZ;M,7sWr6isٙ{WH&RX3çkʆmdz˜l |H^/JugR>q-Y ErLNQZ C+y9;ϝ8wſ?U\Sg=} Π&F&gh7Yq0뿪-,(4$40P+++cgEcDƋyx,ym{E,y )NK[`e($ߝG8ع&VҦXsۢ,&|כg;)C___-=4wה«/`" XwV(=@,HK]#֤$UWn\DIE5ᄁoUSj6[0%lm-",P.!M-`u+VX]H+|C;nb1R\n6e"񋳔Vo Micɾi7~Z/Vp`_qr6#D@vo۪PCcֆ6?D\l^x.ywyX:N?2gd+P%巠cׄ }DuB[jP LcF"K=I8DO N{A5d ۏyPEzǁވyxZlx^"C7Œ]G+J@Esq0Au3V~>EG?N珃[`56P$l mrc\#{`Q]X"| 92& ]?>R%BntF/ A^ʂJ:Hv]σ[Ms7'#c4#nnD7βRNv@U‎)7wP3JR)9L˳h_m! yHa /@$%]/m%ga!,-P+U~:(U~H}|x`_y0B$r~):l.b/ 8[ϑ z~CBddtt ,< Zh?PPhFTi ;gQQpO2⥕?J9g?gΏi̘#QwGz+ O!'wէo.4 mb"Oq y717%vz4T:^LigNxSbSt<]1``3FiKc7GO ^~\|bLdQC+ -ؿWA6Z؅%HuAx٘bLTkXH <]%PXIV wid3dK|`_}d Z ~UYF~ț6^l8P;;r7:w/mI%Tz="EMHϱX,:\'jilK:OţQSAY;lᘙXԵ=Q(NLKwI_t/XZ/'al?VgpJCTf[$~%Dz.lO@ߋo>qj;3TWW3pҖm#K"8i(F) ivt/Vi~ʺAE%~{׳$ͻ=uΐB2"a*M.qQ[C2m2vv߽#wB`-\O!Ǹ9F5xH hx^BD+qb1~3A8+'cs5qqP6T}pRo'ߔo~l{kdȃ[8`5QjmhuG{S =*zZ3r#Y恄 ҈׭6|ϐC/q?W%`2:|wCGMVmA&)3 e|EHCjFLfe'y(% >ee/`DJcT-w%A)wwN$cd"c}y 9eu%"e1- 7Se*ħظάll4nu5q5IC΍SLVTīD>F*ê G!?ÍݻwJ&- L.`-Jk7G.zQ0aa9/Ȫy4sJEkJ=3hm17Bkk'm̄r`dza ,G. 13+w5Cu.*֣`fx@B|}ѳ6oLoK) Қk]xaw*Cw_?b狚VK\!҇ӭ&7p^%ci=w?䂶5~/^x=9bpA&bz)%sCv&7`fY x[5n"WzD]jbgDSP۳)~i Υ." 4USSw}Ae$(捑?ݣLۀYB#Ue%#؈jp<׋N.uV` ٥5t@Z_T I?_Û*O%kvSK<|j_ ;{%AىVޔP7B%v#f5}W;^2xg*=ÕȧR;ETO{sIc?_ӚA<U41knNl$}o-3ǚ55GwM*/-t2k h[2.d@9ΆiWTˢ.f@57cv( d.z| cO Pݷ"b դD{ۿTUpRڈj"m#QiRUt\z2'|\LޟR.E8[*`;Ӽ2fkQ*3|UZ~!mR.ss y!gכ_Uݺ Yۛ~Ͷ&Ŀbܔ1 Dꑌg劸ĎPV$V >yO7G4t^iHe6;@ ah]%INHQJt6T OrTl X|Qb;11aVZSxuvKA}ΗߓWJ,jbbbc޼&- wp. M tv„P@Mw"g D@SeJiu^0mNWT_0㛊?jqQ$Bs__rc Kd;3JTR}ϟx < C2oPck cѨEˁ'VlBD.eLEN2v9~׮G),W-!3LӁ7Z9;«̗nAs x'+4`@!w3γUd[QcUw( i;Tj֎n nlfY2D:@p΋eY^!8Orl4&qa##_š 夣Ry ˬFs[/3B}:%Y*r߅::2ԺE\>jmDh'H0Zz04QvQpr+W/Za:/-³PQ_Lhp =r](i͠wnH] [Omk4 k$`ZY<̝/xJjzixZZ!VשW ." .2T Ev:(+0(7S]oS$Uƍg&!ƿS>8Y`lU|-JxcR¹gHb_.$gs0/1Bp4hBIJIn 4I.K5/.7xИ܋䔩^/j< $LMO!kaesl}8a݅<d%&e-Jۋ$~-.Z p~NO3yX "S|qlM*/{ceJW Ƹ`#~NP]`!l@H]>lǛ™ nbɌ*/O5ktu#a,0 —9/U|@ l&[$j1r^o [.}ьh ht*{_%7yAͦtf_zݵgjG~ Uɨ:"LSyqKa&c2ʚ8w^r)ΥT[*·xRG2V舤ڃ|(KxW㽦P̆Ztmξ=bW6}T}AȌCuH 7$O7Gu?YVl؈hLpGt)c#Z.E>DD"KgC4H~fsPd?tGh )f?\\Q MG[θBs\)`[Ť$H,oST?㻃ټ o1H3gJm63?՗ GKz(O&!}\0:ځ= ˢ[f D5[$+WD4#$ϘyAn`bVSe  Ukm[=%j* !ck)5 \^tz'I ~vMxd/mx_B^w, D-Z*V:: aʉ@Sk CcR'X4":Kw3x5sέq􊋋G7J-ц,8nO;'[TjF5K qxeltd(w ptWSř)Yígw!g92B_0tGy)=%zk8ʧL6wHu}?Q^㟯,s.d?쮳c^Ovg]D=Ø~}ܧ6/(vݕ6[ͬzuS~&:L'~̠>Tn6Z@{i g:%:R@LBg2UJ)n9Q̺! W?g0HsN_ZͯJkj s?L{"ω3s;R^%<]gk x~~eܚ-4cp58TeډPJE]caTS{T[~m{*:׀0K(~tkU҇i@Ni ~db"[BSbkQ"8&$wNJ Kd,m X=ʴ]=zHv""LcJ H"Q*aXuEf18r Rp Q23A85_~^#~ /۶[l*yƋT vrn^ 8a: b[ϴ"_w-Ra q7%&TI@'l뙛 +tb[>\.|s1s~|TI OCG2wdk:Y2oviy$tyBN=`vBjP8jT (?I'.B,o1;Q;,Ex:S|{EEDF@ rt*}*,ةl0L__awʒsن T6_@{yR0*ZDRډJMzIhټh,~4&zo d4VU suT 12fڶPh9;"ՌRfm"Z?s*Nh5>95SP>PD$A06FfoG/t4@\+50 [tw^kqYۻ \'tf^Zׇ P<$5$a$,8~ #J/xjZz+.uNMgk:QO6HTT?!Ova!_T܋3ý_%u@t0&9Ҷsea/PXLy/p7zk|LTh=Xa{'`CHѪ %r誕`i[dl>EKU՘=<"J[%Ϩl+0GK񃩉!,p~qXP.f\, ϱ'BYk 6&zn}㓣;g6mL?QSt E~X0)}yxӋ5X9gúO:5Z=kj&}z[`iזsG"7L1bfP t祊rgqx;W29MhkS4X74ޘOޠ3|cC *Tw {U fkysU^[2t@f?]NΟ.ه(F05K_6?Z05=]ż]x"<"}"5+UeRACGzWׄK>)2Ŀ{(P(JXQjH~\2&c5p wT v;hh@H{QM:vy h)J@!g<&\;G|e%ZEKQdQI|P"_[fגp_B, ǽw/S G9Y3"8y~Gb!3N kTJN;"iekp+RVSrEυq& #c/g2@㍒9I~G)u,Mq Y0E?`#p3q`rBC= F7m1YJGaCv* %XdSAI\|0=c/5G;#-~ weᇉ<<>Ѭ.(Oʍf8=?pqػ;")ĄsX[EPfƪӏVFVg>c3)>^vtd){j-1&:[%c㛈V„4x%:ڣGK|dq\cd]&e7oйwdjh]ӆ軌ʽNBpp;'5ZPxv_y7L6Uj?,rvgzwIp$J"7?"(_\֠<ƬG~dqYWb9z<&b1 O19ESqC4FIm.%J{2f@yhKyƵPQׯD%tEhn=RT|:իI+iYd̷Y zItû6Uؙsg!\rv4(nFleFAƗQA zi5/D֬:A8 )Xiwunb#Np/ޔEqSAKXs,)?5iC l=5T.< -Ѫ\<䛍3?WD;oE;3_rCÆL>h/Jde5tIۯS.@@bzc%הNMw7Ũ / K91ERJ3aQR9yju7!5ZOk_-]t/eK[;AYF=.16*BFDi̳u 9|[TU?S0U;7_t~'&{XE "we{p~ׯɀqi]w=]t4׮uECP=MGhOv'kd.Bh_kKxi'Kħœ^ې }^Ⰽ857d;ˁYdF٬9t2_KY&1^ќ TB0"MQЦR2a},Y+l,uQ cywP!ħB{Cb/f>@.R$xtoq e^p9 4=AhsM.n\!|a6knz-j;dt ^9^#XR;OXr[?io\5P&싟`OI\L`*MDN="_}A3;r3 hu-\> ˰*Da`YŽ n;B7,py\Jݐqx~G5ӆ-f)G|&f%,kTn]*{~E3ޭB8_]T)HASQqI|6^Nd8l0n ٵ*C\`|<[Dӥ(5P^gŗuW UP%~pb' )Is+! _-+אxաwvӴus>%C]ml&:o[iWŠzKDj0zvyLͻ*Q:$:,YW{Aw~ iTëոK> |עbq zFIV(f{l2 4|5iI>atkY[Q8Ȳ"W 5eHNSx@r0 ۔CkY + RשDJG$g7sh XU>ej.(j"CKch; ;ˋʒ(jsu9!#{vE=ܕshvG[mgE)EGeI_f eBl.N3"%`yS wo!Jl,'*E5σ.ݛ.b9Ef#_ ngXg .zq$qgn'&:"/;B (_ +P,Y NwQ9ByC9sƮocy7=G]BTnvC_"cpѯn{R]a\˨z L+Vd!L;f˚ Gp*"uŀoE&ntݬpnҘf*:Id(v~a3CjSVN3(/I w?%~daI/ߧfCq|wh;Sf)Q1RbWpXuQ=J3%nxt<ݥ bϟ[Mqjq}5kP(Rb;+0K ٩*ySFgɉ jKH5i5hөY9 +p_hsqJPxA1Um)˶lS^{+$cm)'eԫW͌\qep&~kXP鱒ф)-24 ]DW$lfy+( ^XWg~gaU@*uawo|Ta'zpqGpZjHųkn[O;?psf.kD,kt|dzf' x}]XiJJR%st16:H:m&SaxQRhwBih0c{FJZ3cɱ4n |ܮHN_:l~ѽ&wۭ [c_*b"{'CˠqV U5+exmJs7 ڤtqJAՉU t8dRVSBxc"i +:k)Co{H'PK$9v:#LS87k'忡aGY+ľ[s98ev܊ +trnɶnSKZ07*MrƋM hClqDksk['ykkr lJ%aҙ9(Mv C{ gCEwZm` (R߆$J9~ԕj}#\ŶyPZQӀ}e7ڌ SBP0A /VdzKfTgeV6&GsɤhgYRHM;kjnlVNrn8a&MMmgS)ΑڹKomG+kpZ۬4nBŃkݲ"Y׸ 1^ LO/b2t~Кm(%l>~ӤxX`1);i(0U52glP1IWi4D.ĵjjarsߔ.vqr;>7ڙG/X8lz__<`S?ը@Zb&vHC:0}pV|8+FOō$g0ұCz"՚ݞ~YIpa.RBϽ}8h oM:}q-݃?y G.]Vtkn6ؘ TM@%O jee]DyA%^A.MөT`Vø(ءc TO2\صـkU1Cξ"J7sQmud:) 󧔼-d5)Ĭ#$|9jL^[FU,Gy-hP|M_J1])pϽ(Ro0f?2"zW=%HţzeW0#_ i0`#8BB;eoB"3/X NM kG-cWX.ۤQ󙿽r-\NEڞǦw!UzkP>%+4{GDҢF\Ƹ/J] xA~M-\^GZa;p$OC&xeݳx532s?Vv7Z>Wx%jid#gWXX^nGQ ǁKv՘;BBmk'wfYO%F0=`[t@XǨG5 bg\S]8g[aaجr|c »;"${DV9 ΊH |\Ip ¬:QNGavO916?TZ4=跟vԫw}ccÑ2WQP>詨 0u0 O%$)/fMfʹc?;~''kճ' =[rnm,ؘѴָ#5f[ &rwkc$wʝ|߫")jo{bVDٳ{(/ ?]VD ETh4_(i[zn~J<#j Mo<0v'ʐݦL/=^S9һ-xZPCQ^0F j -xӻN$pݪH8ŠoK,h;[½>|*efnqv2okWWW^E|u,qT8I}g/_,:6]҂m&Mg*x弽']w'>ӻ<4pFg oHы `d>(4@ {IP0R|:|7ZqqD@i1sy:%'n7Ἃ˫B0i<|ﴴkjjܗ)!$@EH`G/b_ǐ͚U;?VOÛ.fo* 8ޜ[@}!-h"2Eb#A7Ǎ*`0z*A ] xPlx {|1\mn}kͰoŬ y_A[0$(o0n >ŵeOJ"dij^1[xmh\ǡp)5S9NF^1wI5jHXgfۂAd^ek*~G zatA]ӭU^[aJ~`^Z8^Yo4dFnmBY8?Q2ðDC/LDn[hJsӇk{ ҋyw#jBkQGͶK?&`W8 ʽ)a!$x.&WߢGYsR "vfB~E$M(Y^Ӈm >)D! 6>~iȂd|0'MWyG4??%}1mIo{ey}=eAoaF\??ɽ܏4G]RcޢS! hHʑ`go\I>yZj9w >"|8$C+X,Vn5o.-Q,C'xH 0j9hB"*M3~b cvT1r[EfCW٘IҖJ 4K.^47$z*ė"Íq261qPX&0# f?-קɖUOJƩ i%cD:+ߜe'` I.P@o/J'|rN؎L;I.WdP$;X!w'BU~P;@MpY>\|}DƏO)IKaa>؃Z,NW? `+|loB1CYQ>Z|z\< "x;9D/oYBoqˡqʲ.ws>޻P%jsvV;&Djtpˇdjd8I{{m`Ked'rO~qb&tLp>!¤vz VY 4]Ѓoy]Utiyk ee݉y==sSc6n6x -Ĝ{ EnOi_ Er dpPj˶Ŗ/.";:GcֆU 4`Bce20/LߋG`9æRyѴʹV(7gt;}D6ihĽkEPff-50OR.+/d0B@(cu2RA}2WAgNo,Q=v$e/ u/}+pR O[ɫ}C1/Vp6^hvDФQ >\0g0o3uribQQ8^-_>XQ?&;:l=Yo ! `g2LY%ɖYNߏ|j2x(珍81;تSA G;3$M`>_\TM.Ggj-Lu8]:\zUcu޵b3LMla1.'OS, Uo"g^&C[0s7U+T  )p+KK*~N(O v/Aq1 W%)/u s5“I<}'0~|2*ѾTvme@ v5^BOQ?!V%L,|Q8uQn[Y~7;,4\oZR淩ʋh31VQ5NDъC_SdE#uR;ycL@VHƆe6"P"x΃>hHHp/'>*ҹBh^6:T$emě-=O`?;1H'YC2Zp _Sz^F6-R 'e䭬gHst׫'U=aPɾtݳ(4IkwJ"!x$9I'OV"aw~ -?0h}ly?;8ߪq_倯V+ ?n=o#)rz fFx xp^W w( /D?BP&3ϼ[cN~ dUkiy}n$gqnt/CjCzzadhkgg/DW|]8K6Y~ҟO+Z5Ѕoc]p4(zH4yb| {/Z>At]Igg~=rk}E> ~f5X8 UL-uW+n31fKK2b_p( ֨ՇDCqy|y%%x[9AoK^g %gyڧW:(k6GX1]#eQU9m_.HH})׃:w1oߣ) 񼠡 ;'\7#/N!h7xHL8rEϞ?{*ď57rT J;ODaGsh>(agt%۞vŬaKAúRvui_Q^&ΥQeYt<Ʊo'  T2N(~`y+ow?u'9%0=$]S " JdKKXaEjҶ3U?Z$\\\\إd\}/ج/qboo|^84$zt`TT>bxzq?=EiTdx phwrpgi1(LrP^%6=_ =d";1WX@ZTʧ}M ???)2, ׸{YsB9球Ӡ :JmȔ7 9Y8+ʉV]-]VDcoȏ>O"jƻqJ .9zdcIk)Ib#L\QXaπ襾r`eT틆 J%RKFKB (0-b$,Pk煈QK{AY|hs'I"gCWӃ~ MO"ֲC:ݜˬq\a@[v%yP^ 嗊kh} #U8J 68L \6n־fdMM;GoŠD#4Z_$A|&ȟZm]npz.edc>5l3G8qAt' 4>yd!̈:o(q\e +9*W4LY/.7F^91z 8?Y6*%+b8́,jS{+% !M7_ J Qމm S˨no[#gΛ3CvccSίZX/,]D<H . AFHXm갖Vm?z3enk70%@*JM1qvf/^el,'ba,5uk$vcy"R%P:7V)rl+N{!v8 t3$ S_CgO񹸸/R*k<MܒtY#b)V{Gx+@/~(94Ьr7@.lMۂV.;϶T@0(EJ;JI?I7Y$jd}/?3{USIQQ}wApL5p`NLo7wt7Qs0TN*i8ua%x- )(` <:vFP~h5zJ9p?lҐ,(j{ץ= y/ tO|Y9ߵ5lyxkOA qsJ0@Svվ̕X)ABd? y 84y׈\ZBGgDeԩ/=N.w5!dF[HC-%r1w *I>Wm[6_Fplc03#R ߋ:=pJ2R90_ J.^vAѲ1Von(|V bF33!%%ObVUU-햶tanfmF~ȩl[K%ݩʔ!70?H5(q򽜟:<[GQtS1S ;6UeNլ//i+ MsqkfCN,{H\2_H‰xI.ں ]Q"E:~82~};7WWffFvZuF,}~:Д0I ~ B结2l4.r.9,3}"T$-uS9=\oZ~aNN LYngvz 6[iN3f!@0DO7sWkK2VTiOri\ܑk.aǗZ_0?iy'X74K^Ё ^K@ @iHm`` lW\m͢N:s?R{E u2 \{7\n;f|xDgtR Kci6Bx'?'"Avm҇\Kz-T? T;k5Mw3Go@/#xv&ٳ\675n7=dwp@tǶgN[HQ|6zKSẫ ~8;G*$)qhun5ɢ[FV75G&a׽Fen_yN Kȭ&f+Ljh&h)6TBw#Q&?Is0-jgdg0KF?2z,[ooat,cjP+z!({}=Icv^7h6Mi'ETδ0`xc69-BcPB~u7 1>|ll Z6S'x&`X&,pJjߟ99ƍY9#XI8C uI7 Â"B2?pծʒݦ9"fҟ^30TS[-ğzdn%uH![IMaM-K=Dw(1eJ:H]e"zX ָvލ<ʋT־XY,Y@4 \vesҿri463 myP^M5'_b=|,a s&o3n Άx\hYF;u+ntg3Cn_r[ۥIyQ%82^keF0a#x$Iq)_bʩ: #~a9eM(+WYe~g+%xj'2i n&5f`Rˍ]wMm6u"# jZ.fVlE~NXU$6DrUu}0U uΓűI|Ψ#DZnX =][n,u/$C".CڌִGFVX:P\f":"ӽ$>346\ҝޛh`0 y>ih4lw1=#5ǿя/}o\*LwY|[;vh8Şeg . &`lgkpDlY _r݉`8%D1v-sw鱑lkCB 큢S:6Eҿ[fSePežK+\(|+V70e|(!n0̘Oݺꐜ=Ґ{uJ0@M0;kh#5>Skm 2~{[!xPL}ۭX <&+p]¦$v$d+ק.=w4gbIc^D>MaO$+}iL*H ot=;Ɯ[ǩⳫW!r"+@y?jw4z]ڣnpcj>>YҸ%5 O7{k㦹:KOSہ$ !Rd&suN]` l*x@h[k eD[`H!+T PQ阶>iËH}-B65_{fvx` 2r#9Ӽj$GuW;t7]ŮF[ܢ%'p~wѿSF <%r!Ή1-A6t>\j:H?y%R/lkv3U?Qdw>㿢6oEƟ:71U \lp9!Rۛ-F&qoX [%CJe_b- zYY/ %<1GᢶXs " GVDbQ94B4ȱ[Ǚhfz`L?*jї|UᩪXXЊ>luXPsb!rlW+A{eм|V㧫 UF J TmwpD_rkriֈ?dċgOEMmmP:30 7>~t#FO!lLUT=ȜrHD_G>a%{(a40a3CD}  F}y1K@J[0睂eOA v$"-Ԓ#vK@Xo7(ʊE9q qt]ݖڵ )$~LDXP Ӎ,q*w#Vfz/ݸX%%9T렇 Y|HN|ŀ_hfdDFFk̓4 jf.n*rO{ ^ b&z:H! GDS)bp+_ʿ pJf_ a=) bG_fc y9%{a$G0Mm[14 >=m,_As&—ㅊKJ lߜbO~_k%^F:|[#P#߲^3>N$~CC>k ^i mU{s;5_, =0%h?'ws^KIс|9lZ25+3c{&H ہbf_o%ÒZwf#}94 T}ptuL|Aq:Xׂ/o/qoèyh͐Lq8-`I&I!O5{%}o6;Ǒ6N7S duG,-#6NY?;.n30o2ڙ)X.hiBSzY]!ѬCk[8!Kz>ޔ7WeviR[_ ttt`WTFs[Ԙgm&d̫$a7Ãf b(,hp-^ח4HxsXS¹e`ǡ) yA-{c} G[ㅉLZڜ5X?eS~vJߣ,#Ww8π'rE2gߺ#fs:K i˭ V9 vz5jP}oeN9 LidiG!<{lM23rr@_ëSDDDG9nzE Ar.y܏'HwZʍX+|Ё]$lT?&AuxSeFr\P\;Uc1[^2%5ԝ߸HmiN ;9-2nڏ̙h?=U*,z:*t|ZW}B(6 4|GpFo$$xD'̮y: op";Q<(l0#.`R!W؍nαjRІJ AU.;DTUU۽Sg-ad'Ӧ6I=ZD̢DQayК5d5R¦)K6>U!\$yr`\eZIׇ%%Ӈ7'k]8;Y=!IyWh76y 9AVzǎ?@]k&_yJo'JxD5cZ;MG=8o^RST秘.Uk+TMX^HQ w9{4eQn3K@cAx$#H\&_j~`z;/zJ WA(?Gu[O'^ g큰H=DY uwauZm_)_^կNS>Y 7H -$܀ݭzlt@zaY~Q5'ó>u)Je5tsV$7ړt<I#۫u1B+P-8|TejaqAߢ=IĵP,tgMݯ-<}_Iu.x9x:{^PE9cСlR`Y]\("d |-Nd〩m.$_ RY Y @AE5H,DHfҋQ OhT$l7-60ab22" 7LzIx{zn҅Y]}niK@CCX[c^C$-jLLL3x]P&HN 㿓j>A}K0j^gQkES=c5zO(j6Krzh8o-GKi9kTY 7[Ỳ n,-<Ë7tv5۝1B1ǃ [/ [+oP e"[7O>9ޜ}.DãM,m7NΝ\9FRs:;WF@6#Q xy 9,7*[_GPkbOLY 7I=l 1E9Rү&OHI>ƥf(s^79~Y\p&U?/<u};֖Up&HأݭoSf2JfH}FIᢖUžap'xGr[2ܓhb8eMjhjn-$fiޙCBNddo< |9G"pۛH")gޒb_@)kE 1og7]k!3meDƅo:?{$|v13Ua=޷L -l Ia >֟t_Ubە~-u]m, ŷ,VU VJ6Kʥ J'_"]iIHD)ȨFJT:f:;<.HФ,j!V¨ДIl>lkL(}_QweJg͜&!jDB@{#GLrId{lo#r/7"ߠW uNA'2cƐEN&rn>Ӗ I=v%`8l8(;Cv}Șod4}ÇH? =ZQM?(لb_D t;VLEKy~Pj:Qo >}#fم;u-3ϵT?<-.7%KM)XK(u2UҠ9Z& ^ .nOW:tu >#}gB<<4 7p?CenӣɊȔ)yШ^ytiW H G4Z?7҆χѼ\҈x16$Cra )c{ G/EE^ҼS!vAY3w;X! te{,SͬܮGrcKBO::55r}#|C !ak߀h8N4`CHg6S ih4G[tal/XŶgSg{QҎRUU>lhl?IwA-x@2,T?[ť[茄 Q Õº}(ftG{`i)ϫ# f'2ۗ=m'̺h_e$$4o!Crv-4;B (ڐ'?1\m;JKt~C wwwCuNf=xv'̤ǫ@m _ J:Ǡ^i'_~9IE899yk=ӹk39I^OACU PUW1LP11R΃gsZ@򽢭M0d Te~r{AcP%@D נMJN.Ljqp@_e7.FRM #PPGj3Q.iψ7,? աx`0#A#R҅Ǔ1~MM"#e45~ sM1%؈bKdW܃45eVW-3duG}os6[i :c,b><P^ #`h`xn\N,ty|)͑ 2PAZQ/W,ұX7dH|@3~(6lR5Oqpz &ME5A*,m~Pf0p>Lt̿؁.M 7jpN"tǧzf+uEףV[^ښ9XuDEEp+חBc} h%X N [[N{͢xJjكn eIawVTJYP~? I t1sxQNU44fPo{д|ߟ^ }V~9[MWZƸ^'dc#MQAAX"Aq% t'~YP!]'' ʸzGfws7ݝjDIQbm r/Ĝu$\K|?@e-wQ=\bc8em B͂;+buB3>F| $k0gWeqY~>>!+UhA+[+b%f?j8:J+'ѼIb޾};Czt፛ǥ_O]|w@ǸDB"O?> Qp+12͟)C~XիWXX%`N~Aâ3ib4R|mYR|Ss"*l/wsU] k999eΛJRT@}5Uf ߿ӿ|;L~,H-T^> R4Cii4" d}I Ex)St|ˬ3.`?V|φespL.ԇ87^'S%1ّ]vwB3ZO~b۾+&?J888`,h+BJ3bw)P oMowF"CDPgfi8=@aOgҳDO>7^Shkx(/!@!rљҡO2^@v~D7y~Tu9V2'? ꓚ J__,1 ~yC00r XՠNLt;X"}U!)Iĭ=@ P 7*gxc` `#>i T3| vxBvE?4T.hw[Yخ@Op۟R,L$4&|1H˃ 3$kOƗ/){މGMuO0bK{n @0nwB>3U 7Ra,e ~Zmk[0rQ*萣Ujxi3Y(q v%5ǧȹrltk@4|İ)I)MWNN??z_d}\0rQ=I#")i&؈F>T>SO6~m|dl|W(2=*88q)uuP9uOF=3iIc?'|"z_ >AєQN 2{^R#'Oԅn/~/(L|w6mi2]a䎞v5ouaLYuVG}IݸDIGwEYVÒEŬ@$+ģyNo`>zÇJa_Sδ9[j8eIUDdh_aTL'jW[ dE)34,JY%L%>1"Nά]P5Qu;=ڄ1T(I .*z B 7o2-:FH~~=û`=8b`d1={8-pȆ/Y@x-mQ 9%j]$'n}]>x). h(T]/: T(YsMW.Gvyf7 79EEZyǝ16 mgiX @G\ay'*[l:   \\7o>Df'isx)@Ts7I߿a'GV**ɫ}OVla-4OL+36#f6h(oɍߴvʤs5EEU}>^c'!azHR|?l&rz:/-vnxܻv6fם/e..CeVL|(|5 r\D2Ѹ/}o!!!9ujtb@6\e*L^&?݉Y( %at^//Nh/k?-ߏZwlv"0J(OKSgA`U!Qcs#l2Sԥ"ry@JJBw"(כE;H&Έ@沭]~wkTAfi!:T_J WGɗNHʢ{=yϜ`?3#x/%Ep { |!tu ς6 tvsbR%c*H{PgiX4Txs_.h;2ψ@9[-OgTl|Ք6ۘ#GcI48q[Yn(%=8ƒ:IsJp| @$ 91HGP_g 7YP𽉻Ix Lawb?t%O,0r; 2跏^9BtZow<\͐!`hH;]R@]1("1M(-e Xv-g/ sqvKwvmAWFJ_|p:pl`~zo Zbyǒ90%BQdz-rg0C/Vԑ:23wӎuzi E&I.QLOҕҼaL5DyІ?Cg9(3Hgz )ψjicU#w| "oʙGeῷ}^QhV%G%VyM8]^`D,E~>~' b4@7Px||0Tx*@fk ;j!GܟY[* gVls$O&_ofnMSջF\]yxwɃXf7[~p3ʺ?rAkdQ &a3axl MM2г^F{kG [:2l, IKǻ3Keysf^]-!wJDPZ~6(((Y@n૨J|8B 3+ L3@9[SV g&| .t>(Pb[y[$hnn5{Pj*$EWx~8Tbߢ}o8@89n CM8q!A\d;^מmF^~m5"@r[Ǎ]F!],Pܥ|{zPܸ;]1 Y(EU b򩞪*QMHvrrٺˇ\V-%kVf:;mhY3E9p uLLLc# g6S9@XKfn:c?_4 3rG%76FS2Nm8*6Yko/6@Aܝ ;;;gԪNOO ̌*Ԡm *ꅚnB@H_]2vwxŇ'TdQ$TqѺ[41 bW:?ODQ :Dm鏰\@գSt+++{9L[Ca75|$Qib B1s?u  Uزj+%Jjn}uwn3UCĦ3 7FcC鹹s2_fLͽt8gep2['f۪v+\Xg{lD\k ~CZC̻҄ݕ8QX*yK-]J<{,*.LySvRuqMU/K:;W9^umTi9k`悄kc5xpv:z=ɞYqE; gRH"dcc1{niPǿA9[}~Ֆ_:vX{+@DDpwygFO93CC;#ZG{#$'Q Ġ666z >$x Ɨ-/F @~ & L+.ԩ#*yD94KT-ͤ$W+=ΙS0CC~~9*S+w/R$[{sn,ml5Qܧnb9Y1պaB ,` `3g-2J{J+i@2hh¬:o"i"x&SĜUȷpKIYz2!~`VR Prd߻"7c뾸ƣ }pG;#>:"?! bq?x_@܂ 95-͹|3[Z9b,⃁Cm_9;FPd ~ 󆂹|$9nWq\%[P!xtCEO~#shuk?K%"'rA|>Zn ,NP' 4'ou)oNWM7dǑ9w#o#q) 0Uӧ)a4r;¢!2 b*2+ fjsL{WK/ sH"Vi3cfضdW]j4?&[k"(SZlTCsFH.=MRWO=3AilXqB8:|/9]wSf9iSO-.;]4q)2 ^|Lc6FzlsEYbE녅T-ɫPG$C啕O+BEWCLnG[`u :dTx!X3D9غCDNN99cAA]:+n̆<&ombOg{W斳^7LdFH>חDJbˈ51xI U »<̇Nk eq{h(23<~8ȓ]ZOgɈMA3^|e܉g3|t7@t&UJJVA"hbAΤ;bBҫB8lt8?O{/AAo栈=U_g;^i]#] ЬHKE̚ 40}3zz"Ҟ`3Ɍ2~ÖIf@Cf*8oŢ A,'3sIIseH^_.w:;#tG@ml\dz.hTY ϖk ҰxT>8=?vzwN>$k&=6 6Lm#Љ\"/K6j&`oE[ynI&LG$EH3okb!sk}`d51V:??e,K; VI<zte=ǩg ipGWV #t<4j"`OJTe"ϊPOJ?\P?J5L(AЕ? >ա3 nãߥO01t(b`-p4&~WPk$`,T%%:]]jzܓTyIɈ˿aZ_xPWr8~wdNAǏMa~ n׹M'~RRŶYuڶJh!!kz" ^hV4L;ފ" ;?W .30/Wa2z:=r(ys# U¤ξeJ@ =Q]AcEgزץFbQOlr(:D*<S:v5ޗwwكKqtp >/)ֳmS텦A[%7gXc GGT#7v"5ӟ]w{3(zXWPWzEV1~!ǡ50[ݎ)e*M .vy=aʌ%iz:TJ{Қ>UUUulו}0%l0W+KE6 ;;;GX3!1.z_:GBa@pC_s{E@a`#0JnWf.٠TV@CaT͹SU0zngʝ$Q~rmbY |*!'ł@03+¯<~(lP |Uå+N N$}mˡl/bKǒu?#ZZZ+(M<~bI^;nfWi? *: ; ~}W۬?4ၵ ǒOH+Gued$OzScȀP#؅a Ik1/*ك5O \R9ri\ :OMIYQӳ)N5QQ!ziQ,(ET XG' \pNBɮj-t*߃(5l.GT|j `ép%@10..h^ǘ4NfjR87JED(~sMIhO :&MFS<=#=mpoߩ^5;^if<"nx HON 5 T䮵veޥSVZ2>hr䅽rj |Ņ+}GFe<YeNJJ+Mt,T-:\m %Ay)fd-s5se]}}_ 몎eHa*${7l͊ʒυҊԵW )̰<Ϫ@UD=5y|`yt| ,f{<50r09_9r eRgf20{Q\9?:9o.k9o>=y1thpD_QQpGѮ{3_a4#K(YDNn.ŵpӧOY>A@mXT .<߀|U a+@:n5]ݵ}Fb \׿ۿMr(Nvf2ܘ|Ha0|x!?߽sS%"d= : w_>ĥB&p99E""Gf{G''1qQ%hds*sF/v‚ qz,H%hvo \illS]Ϯ1a B&w_~h.0I%; Q 5KJh'dx (f5YЙl{??&(ZBс{ٚ֝qAry'qi"ήGO 6gX_?ź jT k=qwN%<ƟemSS<6i"^j"]7[򳔎DQ0x)j%rYΨyKv[f/js(Le5O)KNƬQY١O,RTn9$8̨^lgo.Xn/ItHxGBo.H{oZ5j}%BԔj,_zp++%/ڛ걌:Ɇ:oJ&"4b*$iSKWXKZ`xU,LP85E?T$՛ PO=7DYR` 2v4ݵ :;m= NK2KX2[ &%y-#RrJyNW*G hD0oTHȀ./7+_h+en#ItZʄk452[gb,>]9;. sJaJKU`<|cfw\6[LeY΃ jب11p H_H/Y(Z {M۱waүG^mߍrQ[!owᏼP:`],yrfZdk 5ӅYx=#;M)2~>$Y:7Y?pa0F?f\E%abY7nt#L3jR턂EwK'[m|b.~ 8g[3}.1Ȑ6CĘv{~ Y7&/%el54۱Np{& ְk-w[Wsf[8+vDp_L~q̗qL~[4SӵL 7;YT^=MLrߞXm]93,Xx>Z^^ϣ_?EwhѲq^ճrJ άvf!- Ptk(*3O 3e^VU`踸/YYu\W5Pt<@VE;Oj)%ԝ9/Ph4# g Xip 0h+VykHԒ{w='!]D"<=p*02/~k Geldu}<ђ0äϬ ^Ewق4^U6[e|Ay$re=" |o|dj3x_qP,&OdtTD@І.{'7a^zmZRmةv0izv,$@@0\@!I F%|]F jH4X>o3& Skp ?1? IоkkjJܚ X Bw/_`}Ŀh!g)8Ewx!Hʤ1F[+ˉAitMN=e(.dV.ţEIF_K.'ULQ>#g*p񠩪;=P"cޟM~g/H_k%t?Y§ <(ĮzZ~_jJ*)].lf_"qhYt{Z i10Iށ.H Ý 1'Ώe<,\DύSC k`Ŗ`G"g)ڶBDRu pZyIRAHPzH ~a/GA#.O])8]v#+M{ca`7]M`Y- ?2`A._rjC-C-㿯d4ް1BbŢI Sm(6יĔ/Q;^!N=w꽝QFh4>% 9#t<~&Tں5'Ĺ^2nm_5UQ9gPc_B)9r`Aw7ojS tl:::)!*"[7d:NܓHsyB) RFJi/jatH#"("((%Hw#] J!!{O;c{ku֜RL]+ 2== /ocQtY D=`r01];K~4 %D˭*zYcՀ|f@E@۝;!y&[S6r{'ud,{L٥IĬf4 ` 2Zy:L=1AL [[[xN?L@qѻ5 ) jW|HI-13Qɕ""HIv%B z"|&TNrU1u 2&-gmb0fW):3jJkm5q!.S&2Q[6Ի~PggC= VJwf⣡opbw0ih~w, #Gvح P)HnO%ǩ:l ^Kt=٪j&ȏe3bT/s)h$; x3H;}$;? Z AzPD5?x?W 8-:䔈7  hy?%c@۟OcnѾqA㬮GBBD(@zb*{0g3O&Ń/jRE]#7zP=,v!+Wn7 5Ż|ЁfMd~ OcA>@u{W ou>q3Ge \-"q7 #&]0Ah?`(J,UؓwiV+z!Sbl}bIҙh}9M? 5Mdd< O׋19oד!G%s^&6OD[::!U;Wwa!a+QY/)2 +F=A~8/3aOyiญ,_^hIil^ޔ0*RAҺ4 iF ۣeQkj-zD\ǷA.'&FӥDŽJtpQ[aA4&&BOUKMBb|]"K-oQ u-h=bo\?&сΏ.Ќ~xq07gv9d<#`- %cb lBBw a`9& b(e>PA(:ɕOA  W_ϟ+Wd>÷ Yᵷت9!m]â%"ngnsVD d.wq!󹫓YU FZ;t8|~y~suYt5|cqq1|V_>E  21N[dZ!ApGKC G?:1u51 !hK^qZ寷ih"C3F @-R;>itӾi)}_kS_î{~NgQdA7g`HF1Ң^hDNR~oaG\jA؎Ϗ`X/ċnk;_8Z |߽v .y9SӇOmf2Im9 W:<TTT׾|0SE9×6/.zp@Ujw` |rĈX8ѱlҒUAA a|- L2pZ#C<5[/,-sHvu/_>=2w#d}Ƨw|7vwzxdxڛJE}cNԷD՟b<P:ӑ\aKɹ $wޞ>(c6P6&.]ɹ&[{TTە 8<ϰcr)=nܦUA#ܿ:I>7Owt,5E7JN>.zoE[Vmev򧨟, v6\2-xH||t5ߤ"E2^*v*K~/EMev.R3#ٽi/bT@^u$)pY "s'DnK{a{0޲ le@JsJNT,x9C̕撑yWzZ0| =w7")sc@|8[y3a&19/Կ03|ӯ_&|omNέLa=DZb4Bc8|JmQ[0$2]O(37ͧw+(( Zpb퇨R0r_GqX{8񝓉PN] 3?O,,ٵ&˃ A\LL,ڴI-  9 +Ź#Α6yqk -//d pGZ[x)W7[Qv m+"/GFXohv-Xęȇ7 }b5W1wU{OVbxiiW>&nRЀ)䰱Zx)Q5V|M2)TIɘ*i9Ra'n  Q[jVT(fȞ.]ók|͇ď&Wdh8- ]FikCYa=S[&2,+II e5;80.Z]\x gg#Xr:@ VONI Ӂ}_k"#wA%>*ծࠏұ:\)Q۞^Q/;M?2Ҫ1v-Y/3zyPakVݘ$PЦ$nUP[:>1jCvtdZ^R[D-G iodgTr,}>w0r=aY6o2e ZRvi6 o2fO^a97v-zjբxz7ĤOd=9ޡi<ݙz>-2ߣ2%Ĕv:~P; Q}Zwkq9پ!9z&Dm ϱOO3u~W[+;Jn+T2S-8y>M}卂dB$t-fcTvbU>1ٗGCr@ø ?m91JˤMCp(X. l| TUcf{(w[%{K=Rq%۹Ydf3{k5_*{Puhx>hC*@5woݬ-||qcc۷oϭf<4'=F1+& s+Hb*bc(SxS?Ϊg_-2SGt׹k $bI|,0 *YEn믭b7viy__|h'G$ NITzh憪ബwt_G:<賳.cF{ #k78f+D? @V)wl:>:";[;~>39HJ.t4UѬhsb9[0n٤*t wo೫`cmIag̵b" ""wkAM![ _UypbËb6^[53:QKu(&}=5q+S8Xq>)7Sr.G3tlO]q#rrj hiyn7-hPYz~k+8-djV̇pԩӋI?B訊4oS Z`ʧxON.Rժb3 ȱM[ꇇ-;u~k,,DUDWXg=Xby|bZ[!!!uS&!<ذ fU\waZ{lT݁|?fu 5d d(}" ՈW{ivGc;C2OӢtBa*ݣbl;dj/ ,uSҍKqӦݯG'-7j~thHљQRXDzbL-dPܶeR #!DJF/xS۰:Κ7GI IھQtL6٠3 }q4IZ l ]X]ZJ*,OspqxĻGtx)ekOK,hNڡ(8Yi3}q<qN1o[VD5(IA=oDq-T~O넂p?W 7+4׌_F鰼l4ӐoFR'O/VnNY< 2iA|B>L4">Z“˰Q/VRĶ4XlD2RG*腊R 䃣r]"G޸"AA:9jM"yvF@Z' (~#!)uåG䟇8IniW0 \*Q4 sXy^'9eXcFx2Gg+뉄B-`3~>qcg,K s~@a{p@z߾PH|9WEN> [ $|sfښ/4`A+W]g|G$690x,.iJ?,'4-D:fC>p'nmM+X~MAIs1&[]wh'δk t"9H;D^(_]z^Jw>''5@ !'2n7ZNɻ}GJL] D{{8^?"b\ _<ӧw_pv1fkol&[!)3/>Hmx3,z5Hu9NiGmq1]J7IVz[7oI͒^K*C,%l?Jp30̘hFjNrH:At-(b9Uxxҕ44:> n_g$<DNl`LHy]E :;X0:gqWzz)9(7o/|I 4e\,$Ur.,W3VF0#X8SsvLDg=(5#hUWQM5 ϟ#͸liջk}!f1{Z}2ue#{ǤAc;VTh|xl{\a?&&2ek \OeR0Y2 [[w^$ /zrrƽq#?˚U-i]|'BL9GE3Qw6iJGIyh#PvsYR|9f^*vj:5V.v}a+|?sz[o>66\:u4ﱆH^x~fY{|v] 5no[aqk.:&N댺l/wEr{608(by:QަWd$$M >#G5IM"N4J~Ht4?/|hmObL8Х maJ1@(4jE9VՂ/%Ƀ˘ H0rBzY?k x(i\5$;Y$O}D{6Аz @4Ȕ=g, -- xU!}jFbBHH!+XoăGZ4͝obQ8gU;A:XArX쬳9맙tيH滿M%" i/|7&!!ӪGa,|6w|?_mG'ےf>p.iT"j5}U]5D)-s*ez71cr)48rjzׅKk CBB`c} ^!2LyklpS{~Xý6<\o-1>)'˔!1EC sRT_MK>е;2`-LL9jj|>0 3]tcS#Q$T OgeQ>kjD3= _YP/37@LHx fu6CNUݿ[X! j?495JMiS9Kp.kZi7]5S2-. o&bi{ss^I\OWtz4ũ.'Ӕ1ohU^Z7)Cv=AH^l`u!~-& `]XWif{T+v'$lS78}z4>cy}8a*::3Uƙ1`GmFo1 ˆgXaU4~BT ? -{g)f?즺tz0} &**|!+d_VP?_L82HtiV[ZrVZ-V@o|\QRK[JQwkYuX+~7y\ro(1կ8NV?lOcSQU#u|Z/)j]}0rlޯ_^|wA{B O%z'V̑Y) }ĔMAw,fw > 8Yڧfc𙙼"َuw^G蹦\?Ԁ/TxRRߊݹYx7߮_wetw#WQʁ)ц|2,R-X!\,7 l+ \,5մz&xw"wrI4]@[(xS҆DH(&f6?k9WԷ籰6& ӂwݳR%Lp8>ӣxmuIIS[POB 5tuxyZ$vFdOLYq|Mrg  .@7EYp8W(Ջ߻o 3c{ݞ|0mݦ נӭB5^^:{Ă98z=2r9$k?#yq& ~:=׆L WXJM7E_k }~*WfIcаTȝs;度O*ljP"SĹ}>R,dFo;4c^1l8a1|A]B" iiLWihiGa@ `Eߖ3<' c;qQZ; mb2@(Υ ww۫JՒGS[$G\eN~1 ^o˪yy*>2*_{gtkʰ 98|륝c"XvlKq,߂|۪ P >[QSS,gmmtm^!7k@Q_;YWn/#AeG{waQ `A7^#` im@zQY\u {af ev!}Jjqd%p尘/ORfȂ) ɱ}UKdV۩QTr*,"kӾH+*pG{B=TT7i`+JRn*Af]dPm?y[A-x^& xvT-3nxgU7UF=_ZY^o%^MGn Oi \0p_=Dr\l'q{je7&6/| < RwQPVzlD;y_h1r=TxXdE$Z2>G1k8#xpq>(><,$ [`*r[\7Gm sLVysZhVz%zW>:1uDγJ{O qq%6dp. }aEӆ~&AzR^oCw"X9*K#N4*k;]iLɣc;?ENKibRzgzD6+ڶg.L4DMPPx11e-b#wlNGۻw,&A^e H0bi%Thy,n47SbE|vʳ-Yɜ(WxfI^t)>s}Cg|\ɉ ,nhcPNCY*J~yWWW8^㖑$b7C$6 ugkD=.#ه߇$#c>­n*O} -+</*wdAZ!we;l"RRX#ځ W[6tk49q!(qK[Wͮ$F+?UU:+꼂W7ӧ]BV2aU3cjA_//Jm3؞r"ːt}Z@O+叿7 -??9G)~) лO>i˲5[_@Yغ@pO>$ar)~$(=xRz ^݉::NMx$w|eb5QfW)pPh!5,ЉC$HХ#Y%TIaZT!Ys֨δtRz<]8AGR{e#5r_J̯_qv`%r>|fB2Us XZ'f8=8hN~{o??W_DC^ڭ*(Ɇx+KL2 y]!YF?,/E@‚ XJUiaKYwwh^[ * @~]鉥"ȅ)Yh H )xרṄDfxMʻ=WH/k]U9 FAOzuqa45CXx|ܿ}NN9"CƙY"Uhb5~[rԌp:8}4).C'B}xM{{9;fC>;1ܘ_C{FT9.ۅLqV{ԹlO{dبLĘДumh] ԕ^yOBIAqqlOcn6/V[p߭EQ8m.4d \ã\ooZ#=,Va=[m썷s/~jEV[[ kqo49ByCU=Zdbo[) R ͊]V ә*Q]ľwN?%?mӹu2axֳe.b~5|)fsuxY-Z(̵0jCdťbTtKNG I:"R, r둸tjK(%cKj):nAAdO3VX1%!ߌl2 {~|OzUJ* me.L >imծ DkCvoq_@o*IdTE/8CJ<[cJ E|[h}XpwkJg-(&#K XǏ-5๓%Gz7/zTrHHJD=(4J|Rk(ɋHsb(ʝX0^JI&݃e'£oU_$h[8Bcp Eʾ#ۊpX? YwG~Щ,i&khDL䭜z VrYebJ4p}:d,&1Y7:>UnSӋjZRAVkv ;a1<GRlhppQz%rG,tu&yXyV!yH{Jm@zɫf?<뗟hzb 5J!oRq+mXedh*BPq=' 3bnETvus\Rh5(0p1 g_EeQe-K'$(F(ܸ'&]zLic*cm.@l0ͷaw-#q@](.pt6 -Dn})ubg ׊FDN;*:& /PRC>s$W=r3 QQChw)liTgFh!Rov)ZI6jzK1!i@߰B}юT:%f܉z/iNS?c)] TȨw_ӑbvK9O0,E[Q2,C%}B9Tbi'Q |;Y*OPM-yAoUUUNExt)l6M_x@I|<Bd=+3sqxL >Zjx(Q)J! i28rFo-%+GA(R?UMӖ./DŽ*I^ /fok2WGtbWRu~U4nb 2(] ǎOQf_IM'U&,&B reʇԹ<]#>r&:JqhƵ0GOCjh^QqZ,_ZxNea Ω. @Ya14]/Y =(i [h*ߕؚ2XN MKw?p~5x =xŎ6/sNkfL VՑ 2i'ŕr]Cpn?ۅndm ?UⰙ) ;o UqR6*nJE)U&_di b#Oe(-s6U7 Tۋ o }QdݤWA}՟L!`>a?-l0I#[bҧR㸕˄ ܹA#W3'./e{ZȣSs*3% '\Nzx"?dȄӜ- =S8ӪӜR%3C)k hDӊ92%!F7QFoC<\B7 JNY  _4:wi['(%cipՁõqXzP,b0pB;h{fhTwtw9n20׷W2#5Z%ƝiV ի̅=jj&Ux<Ϙr]ꓸϊX&dH6}MU0_­" q\p(,F2ݚPшno20 39v8KO.I$Wy5R.)4 FOҩyV+n9Z4}]j)p2m_)YY VZl}Bl̿o)~=#6+N0zuW@E(vNhC,r3K:]N͜{ =|mHr:u_XeGc![(MLc_|ބAsƠ" ҃R3<շQvmLv*<̀)˳62Z䟱_qWQQXʅN16lMVviF/eUTko8H˚&Ąj~i1PVXLlxn3`N0 s}J]LBCˮ"P+뒾.ڳ M ^K $)̭.8<.au&C%Z0rHl3I.{C*X 222U;w<L72Zcd+i6]h.^ rWĺ!mir黟e;_i¡T1`Em?E1zUۂ`*ƩHw,~Ic:Qʑ M|&9j~|!+sC2JtJ=ZPf`}f7lPZ !\n]Xc.j"0gX/rK]'-*e|!fyq;@Gzx!"s-5t}Q5ԳWQxD V'M PW(jQ2"TrM،l9Ci~G?/..΅+Sl/5^ JGf![&g,™\#T jgK" ;Ja(WuuݵJAOPO|b`ۉD $H¼Tkm)Pޫ[5aCZQwRly1 Mc xJئKlߖPi;36z4{7^8ت2g/ux')D2Z]a^ʩU[rpT?>׵ ffE.h&}t[S|l[7D]ӭb$Q"h\8ZB%pdD]$>ҹǻ#MHQNGoWR'+Z˫crS) }4Mr 1v~^>j1We^jxngEWyKArrb%E9}B% q; )''#C"J6}ۊnn=Ն ˅/ÿO !C4 tx9n p߉\&]aӟBU;s꿐hyU02P7?FG7 kŬB #`;}[ a|ރp`Y[&V8"|L5O0DP%.]@$xni5/OM ߻C5>xH6ڱAzG{Ӯ=ĉUÕg"0Iv؂H{C: E)[ jVlf  @o$=@;: t8_vK8E`&}{y ܢ*{q7>yJ wm~qq|6A ҃3.2#U뷧r6Y(^4aG hqgggmN'zbOj2.ݖqrx)\5ژhW3]>dijZIQm%]l+M|N3e[1GN/f<=ӄ3AWWx@OoSl^DVwaFv>{Ҹ]Dd4LY>hiQŴϏWG;j\$G"۷j('VVևUuصoK~cx\@ë`6J5j?_#wNJEQD)Kf'.yeR@s?6 PiO`MD<z|Sa{$&t?լtK%j=Ԯ) v&Ję8rs9WlՒ:#ccR~jێGMs7o`0 ~ }{է$Yj6ciBb-x/|Sn%*D y:uDJ/^|Ԛ7=O`b S?A"!챈;lj|6:W~C.7L+u&j_7Qj>̌Ksj[8$꿼*O ;/2 S7\q4Jiĩߥ+Z㊙lvPnv}iףe7w=mG@婕dErs++yp2E1XKk II_ Qirɶ(`ZGo4sa~~'pT^b 4qLkNRbTxҸGťr4 6דo  j9Kz"t=ݗqwҐc?[:h^_F)?"bcɷCC3=` g CDv x>V+Z;xZɫj]ܚ؟yUqبjgع&'R'n>XI4\W La@O"; eJ6C/ (ي1~|d6g$,#*Ցgu$n~u{vɳ+<è7vavl@םczeG=<¾i}͈{34_Z4a*G%O#O`p@úBtbp~ji 0PM gh|쌁e#:Oy,U띌J~x@sLz)U>90L90ޥf3U#5BbX1D۱}͒T)ʲγĂd JҠ3X“;{$tׇ;M5Bu]{ZvG۩ S\v4`[Mğ맩Ev@n_tHoN౛b@ay*OrsԁAe볉sf-R <1|@vtpȄ=jg>,۶JIH ԩ&`;5y |#MPPϟHbx:V&& ulY NFO;͈rnי'7Yn(++  a ]6GmV8"HޱXT1q*3I ySu*}GB$#%[T,˳t_}3 '`DZ?FD\YUa8e=|1/!qMf =dT#Qugg(M]|j| *2n%Йu/E6sΧM&?^>-rksG׀ NéJ0xqSj_x""7q$o$Q9U|"Vnzp"P._SֱXdf?k,xZ9ѽ|y9{kX!H!b8jtBAw61~A,I`h5kkj`0tق;J~ W2>S!˞>LijI \FxJ{F橵_kC{@Ϫ:M:JP"br\GTXjl!pZ5E܇yjZŬuGۣ<&u ebCņ(OmT3 ۀO`!Az?{yӿ 3X7 cJI(o8 S{\*kQW FUn.Jd%;Wi$bJ\r-$*+G,GiQ+Q3)iBNӎ͏ sbqVrQ:H 5TK2_PJ&qA+ț~تGxl՟-.>$P`R 糈<3DFz4_*}r+ש᪺Vv9>;XsWOnkZ0$ߠaB*5\+*fHy48/")0Qh=s)猁"0. 7-5 힢+HT+~>4WTB9ci'FVRrMzU]mlnb6F܃_P\%*6s_:*5IvIxc3nvWTMK5C`{5k [nLhu:~}T0]_[Tr=&?JsjGR=Ɛ cĥ¾& jڳR*4Ԟeo+OO#G@73(t:u({hDDe&ʞM"RW8sT;z_ 'V`szNOݔ jVXNh5\9iMGAq4")W2M1/Vb#J-TݴNEHABa͙.]M`PEk]ʅi00};B_K~%8r$'GE2\uaQ|w 1n|! `?Neמ`FE7/(|S)m^ "C&䅩4 h-F5ve— r'gةvmN %QPq5iNEľ "}tGCO壅 YGu9c^52"A^cR3y%#Q+I 蔪Cnsz^mAп_+E̳3=;;#G-a[wBF@BV+ŶddCǓA E2`rX 1lG噋=<9UE\^J2aĝ3:,5"xgAy}'VLdһ jhu:ΨǺR )Pʹ#T2"zj)wȣ*bk%iw*eXhPD "ߟ #BˇeNO tܕ_XyK ;\&iӈW1ZWbˬr߱ت;ze=n衲{{eeRBӀA"HdGҤBgN82]eeBye^dʰh`6|f `;`7?JcOБ\ ĵf+ "Ѩ/ebɒ ^@hr*X%OBõV?ك |q+Ht~x33Iӊ`1d4t :n z!mzs#3Rb@K,7 (8ZhY}WRi;eO5lpq YZ="BI8fMC~ԟGr 6-E{T_~+UdnHlu?Ѯ,>ZA(_aS yJ;sz̟$&4@'jp+/g_f,iWfqԏU~9e$0S4{Ă,8⃫]cGzq+_HesK2_ik*ar>_yɕ53?"Sb&V2pÝ&>W< 1[រ${p@o]y&kj’-'$ڍ۶3 ծRv5N B8d- ٙrao-3yqθdAG뷄.%^ JrԼ5X[O.XU9JzMDN((THɗ:Xak_fg+MF:2ĝ 6@֤*l\':)6}A\ڷi o?N\M3gRº@Ƥf7+s ;7ki~z@N c.kyPVm{O}Bf:L)6v:?yՌR;#{Hnʉ=f9NqdǷP0EMyM]}*7ωdi%@;C{58 =4!Cik!MNdhR9r~mY0 y6// | Q^gcx6㷳ܪU ؊SVÀr/vc݆2S={w-qo9M{<<Ȯ/|t0OiP:Xw]%e.rM-hdQy܊*x6p׭ES,7CaQl%aL=-IDES=N%jljd^}!DHng 3קEE^HK;F)‹8uy_~Wp[ zw0?u.N \%REZy5.N7Nf|L*uk/7_, ?-|iEʍT>tأHb%c γN4y8aʮkko]SQîZf*\n=]!"i!2|i /=/i"|{uW9$\l;ϫXrߩ(PUU)P0d12 4l2ZЈn{пZbu. @-bbneyBn>^lVbD+eUk`C?5yoXPh#BIհuhOo37c,#|c@,%F%B oTf̶4G.v>nţgqNYj/j(IVH!l=pJQ?B'$BZ#ggtJ`skkٿ{Ҥ4^tJGu]\_;+=02|H@/`YV=[ۙ[U`ٞE9Y<t6B>(WYBPHч#$ou3s_bI"rTq7*G9.zs@`r_u8Jphfk7ޘ `ɮ\MfBeL(̼kdg6«Zn4Apqt6qNv/_X`1Va{4h0u-:YCyBMƫ@"ޝOJ أ]̧:9 x+k=@]aP?k?˽&Z".JQgGV}a*q+4angwE v n\ֈʜ"Cf|)+zSئiIRWe1oT2Őm~?}Vx$_Iz,ڥBha6M<Jy$CDl'gNڍ*G_%-q˿тK~D$蠼s dg֛ᦰ[~#vIJM>P@BQ֢6>^JJL8ypw] ;2Vғ'.՗tf]Y>{hyUؒd C,$s F =A?! B4lDwG ?ғL:PW @@x"ÂbZSE` Hy3o OZ[Zxd/=)6S҂>B,y<А|YN?sOzoPoOP8t5:CqWӃ枯jH^]4ozïiec7]db& %K|w"4r(|FF\ź=sL1c4;Ǘ"S;3$5v_zպ0KJ./'Wp1ծBJV{1+srÓ~сʼnJÈpiM7(C~|=:D-^|1=HbbbLcI Q\ Gӈw=, 7On֥Q_x!\\h?q5|xw敋 Gg!64}f[~(kvWzpTe ͣum9>}:ثX4l6Zt>Dr`hЅ.ug> "@9Fs0|Y_[63SB4wykK9kb ke(2ӑI'WuKqa3ِzp=53? 765s='kD-w L ijv+sx# uwI lyvb6=U=ɫ[ ;HWRX.x&YBEl j1$›ᢇL?Zo݅8m遷X`r-pBq{M A>Hhȶv,Ν"Hr9q"C~1X[>9[OۜaJc"TK~}4[Y mj#1DG'Ƿ8U6rrTw/F PKAHi6Tп//! \F@D-d3;)wdqĹ{ jufbMւ0nA=R^eCև4*GR/ O9eT NK!u=“+0a|E:RP!O ;FF1̹:4`%0hlߥRfU\?Gj½ ,г8p^JHqS/n ^ ?H7fIot#.͠UX /PKlY@خpos.iconset/icon_256x256@2x.pngUT {Kg|Kgux D}XUM>4!ݭ4 ]ҍtwRJAAJ>{bᓚ, `Ii@ACus!Lo]GҺNV^G;7sSgK6'W#a$322,afpȀA}/?zeFl"/ ahf(-굵ķDW${s?oT>ҥ[d_ %?޾]&Ht'SA"Hhy,o`A[B!z<fD~z#\ ;ky d4zTP0g }wVWݫѬ}n?A0wI| W(lo7T{QB8ě "3ruْ<:֊ t V8]?^ZW,yL ^P?ucL iMd*n}Y1movGOMfڃf|R^nyh1B,XP*s,Db4 [iv?._L" 666ē,QqC:QʇBC `N;>X|%no6]  P@Y߫Ԣqb4*yCBb2_\:q/UV_w@!!!IDfyFGz͹);Jcyxx}?pMl ,$?'7#^5L`/2jb$G)"7~:mrbS$ fO2|UY 0֝#bZ]Qltn}u{'TpZo8$jrK%?_ %I$_2GbZuu;fw徍H x}"ECj?U?CchND *ۡ9x*Q,IVP6-l8z3*Ȇ-v$WNبq9F^i4.ZzDz10YNba#P1nnQbH566,4kˣGCW'2|\+G(!g[>dls"vHr # dq8E1a*L aNv vo~Jc;A*>J,σD8h5H-]吩^2j7k(‹6QK9+jrHacˆ$'[;֓f yɨ`Vqkڌ{7iS+8Ip I%mg:#4BbÙÈ07G_[O!⫥ɦ)~@t8Ww Vjbb&3 4Xqr8_9"~YUi7vL37-$1k"G8/Q$3 QP 0Qnj7]~X+kh#w `|/N %tmtB5{,֫)@$/ݗ'r]P.NtnNcvY#ar&X%D-*ٸ+t6/V=z&^opr b/ͨ *ݴCI`${6U6,UQ]fPm [U M.Dq@H!)+B .xo~tA_9P(dOLB ׿ =u?_ǀ3\)SZg]*?U9a:GbJPoi(;DU+忺ICyTZZ.? b9%)2ăFvezoseZ,A+ Yl{ӜHM, utOԦmˈ3ӣbɅ@6 1^ g`w xc/C/H%5.N /Zuqu?!^U>#RѭȘd6J$joJy/ &94OEfJ쫦w>ɵ+p$&UP.թ8B%K88QT/:(/-]#߸':OaRA`ѭe:?pX|ItMv ⚳F\JT-hMy}mqb),(ՆXPL勀75բ%ee-/``\O&Z NG 긨Cic< 'jNq߄SQ Zgp^@՟WyxmA]d=nj|q$Xmr[`}Dj޶ *[2sۓDC_]C#U8ITݻKO===Eg>1!_PX&kq l;p*D1_)F]<,FƒTތ޾Gx{I{h,X7yr$곖Y cČ,KvLgDU*^|g-9g8T6ZkcTV|k=K異؄g@@|`{gF{< aՇf31w.Ok$|-odWLg?bPf ru0u}:Mcl~'t8VT2?2"kjJ {:zY0(PLMi. MI!.t̜TD {FXp^и$V hD43%!,So%RZ:6ck`1oBO;s3`yam3C?휐b= iس×C#[Л"1}Cp`:A/%؍Eɫbc6q}~S#ɣeѠ$Jo b$!\ TP1 M9Ei=)Q4-3$gݵ{,}~l<xӁs{{ j"cկBA"Ecoo $i6c,Pp89x1W.ϐm󁄇*~ yYnR0 ɪ~C;t Ւ&*edYDӍn۪:?{04`Ѐ|k6xcӳ%G߽K$R̮\!uu>$s.0޻oi7#238ih&GJzdP~ D3 5t3X-Fѽ_q)w(~O#ϠD׍" Snu\q)]Z9PWɤzfff4;8p:8_>W:J-Xw6n_x6nǸ,FOEhvb~͉WoRή\\R@E@@P:quqYKv8*4TqbOhȉfC܎n},Ȼ~(sF-`ȄgvAFAt|K e\*EoZ5eM;/t#g %^H k)yͺ{Ier̅rb)hf*B4oH~9I`R_l˛aҏI$q.l\x; f-%oA^_䬥}'==ٞ1z࿞զrԁ7ʨ6g.;7*upiqA3͡3/X%pU`cK(JnVz05O}-;rGPw;M˿)"Uk|~ɸ1L|RA༸fYSCFQG)rs]PM <2E01K_xm7s+Ak22o:I\Z B 'ok /~{ |:R8v% w+Xb,9NHTv>HFBo "Y'VyHm&9¯`L-mo}~L(0`Ѫ+ݗU9˂-uQ.PxDژ~vlcM^ҏZ| jMVN]kԻodq3V^3Sq ȏ/T1i9mhy&)XRldk GdKƆ +zN-A |T{茇rd xT;[[z<kl2Q$o=dWRMG>I_~`h#Wndv?}ZimO܅BApC/iյqRp'C*sC4jz6-JjQ=f^utݍ!}>r,J:r4%gjgt{{lkMo,0m@Jg4zn gK/#eh NA Yd&[v mۋ؂7.gԽƄlf-ҨʢvEs'п^ FQ?V 55q$-٪_Ⱦv沮urH0%ާӍwY UdU= VWgިA$J 'wllF1/bhDV:B^ h"X^6nj&p-Գ"_?c`Eul'2W1ҟĬI 1™S)%Cҭ o]2)JA:))!a=8 t_ǻ&8B]Ph~*q<c Z~V[ә?k#Lz~=^놎 |߯Elxl!l=yY5ɟf~xV0qL鋢؂v^6`~_=^iEl8v N[j&7&CppHN 0ZcYm&ob/N'Y<? _,nmճՔJ: ?Pt)ё8ϗR\וO[ٮl:[ |z޽$pxJ/nVכ:{`YY\%W}"u8P "oT?IJ'0|?88H2OIqh%J⢐&$4u%,^-RܪU4oٰ7r*0"|[|޳.X͒/JJ!tN~2[tlW7Ob'wXd?~.wArngH1]n\xN" 'CdjdmE~5ƌgO##wh$T9׆X n }N6$~}$.o#hvJ~d+7bsӈMfu̝vپ^+ m[/V9ޏaXc MwA-- t9.EKHlf:qp&xϲwԻb,7l&wRacP9ꡓ=1 n.;@[0ʞJQWt [|G^<Ӈ,S۹]|=mÊJ/9B]lT/dLF aSguvRRCxx+FHdފC:Y~͹Z;/u:/e6k!ȶ[uZn(Oi_B>T @4<+T<ɹv=CHR.EG"N>2˳ZOGMD"!I ݴQ0.J3>[` ,+++ܣ8E!Q1a_G@XtN#YkZX̾l=s: .'WY `FGAQOH;sDṿeet.Wzѿ/(Txb֧TBgR{KBgկ3:E]w:ٽjf0'adqO /ROw1A-m|SQdJjzhip*,,sv/K6 Z;]G$t}ݩIEmHYп6ݽpd V(\SOК:΅FHFH<@m'؆ft/nlz9ȩmD$@1!GLHv>]_h QWLγMHOGCB9S0Q18*B\egJuH0>;u}B}ՂI_Tk]iL貅&2$G:"!S; |3BTI#Wl{ꦔN1 rrmBL8\ւrkh—gd+ "JJ_"*k<;iQF nmn~(˺_~BSO;^ςҍsCraol!σHE}2D|Ţ%rWBʩLN]۠43 ~g 0C 3)68P-u4+O}QmDn"/뜖cLFs$dU\sd<,Go8طW(˵:о: "nZsR"?b> !b8 nߞ=Lx^†o ulj96g ns wj'M1'P.,{+;9j7[~+.fWN6ZPNJ]JEQҷ~bTg?kkor N-EMmsϠuS4Gl )NxiǢ臤{kZ5a^?<{ڷ=X0~ڢ](Z E5~ 숧WRgo0`&y1mI֏tlEJ!i#k){3-~ v,|y's {{̻{oq{3}svߦ8r~@JUνDImm Dĸy9׋3Oy}KLDKZl)gtYD?TM!2^ DB%]VlBo)Zb`90!q*(5rZ|ug}n8?dž]QO! YZMu-~ONjlf`JgSAUkbl*iĜW{N\dȮn+_?{ g4&/qGOrssSaeF}KJq,u#M s<2]?%~\/^ɡ&D>z&7E2>/L*GKПȭ8lb6WQO/b/QcQ=(I'loQ* ]WT`oU||l4]&@MK9;c.7'ż`B?rNYoKf打FȞUSJqAŰRw;:6*ᰉZpzvy]asno% ԃ328;?͓FܔI 2I{ mr^B 4LuYDM I{Y5¢sڕI71-/' |w2yyKj$ZQݝ>Rl>8iG{^P6|?fDî{{k3'흕v7Dzءǥ#gqQ3D\ gw)M J6-krYݳ ZĿ=!-4g/(XFݸxWA iGK;K\H@ BO*7/tp,85vW_d 4lYͥJaF)%Xgi橷jf;3TbX`^8 fr*9Aħu B+=#u sy9W撫DkXQ /˱Rx' v;gKbuM`"".5ŕq9ps J)DBчu)Kj{l3*)θSc򒐟 'n6D;!|^s Mb[YE{kᲞ]EF)vido _!Nm.ɖB֗5D2댒,4\80૒±ݪ B^_qrnF`yiv 81>+B:0q:sTЦʙefƚ!E O\qQ?_DprүP2޾yJ|9Cߜ&ٗ lvB %,tle?:q5Vf۶Hj8d /nlGrL+V@tu٘PL*!~`S$U걣EH%z"?E;JIZ,v?gO$ S#0ݑV܅Gu! ؄L6c8`R+Fqȇ^ShG:l:6v}N`lbS Yc΢J_=L^jTN;O_~B&UP}БF`5stcZ\}O1bĥr?-8ݟS3ǍmqB%3(͋9eRXQHk U˓${ $􅜉 ", e(ǞVS68,Љє."$ͨ44ēNBFFw݇'E1etЗC]L?/6#٩yq>4w3$}[C|fdluǧWv+]YXFgckNl z6> 1)btT3,;(rQ`y0@_*P$|羫Zk 5\щQΈ!a}S[udmТƱ}os{]dK虪\ļeTaղ@Xhp% POũ-ZWZ75<墝1&cEZcVď9 %fٟ^3DCnL@,V;@M"=Tk>$jHNN|-~+7n7z@c?5?69rȑ`fqu'(C!*SRRƆ8A<Ѿ[5z'B0߯-(7x Oc 1-QY46 g{3*pVY_,fQ>88Li4*;CLGgc,?<8=%Vs+sOrHZP;>z[w, R6 ꖄmB3L)kj2V JY^^n% |-FpTRD϶-eZ> !ak2; AQaqvLqlt\]7(j\>`Y~)^E/< iBiC)2$ }L΄d!_to28#GK=[`*HŽTЌ fzIVi?ӄ>LD`rH/U lDַ,JރADPGVmr?^]G=)7] * v FDySOJub@ 20EBw">[J5G=H6oe^ j p;ko͞ΓEM,x33EћVA(U(~u fQjIfW|esޖC)OpagÑZIsF8p "ƒRR:4.:1\hm#A53}PBx4dU ֠ySǍLSatpWY6U7%6nNկРkVA}u\^ni/V(zOW۟tt;U Fs"Bȅ<3ݬ0@BZLcPۏuŔGtU_+g<Фi(y'p.]dB57gx0rd( nrDX )$H6Ī_g?^ڋ8fOrCu"|&XŦ\둬\zV8 WH.UVk˽IzG f/>d3Jn]z'iL/ W77ʋO !F;%#TGe;\i.!8hH{^ʨ(J)hTht yn][2_B'?B]nrRGy3h,VM%F1VmĜzxdB -^3q{58o& &z_ZS +mhhGF"@Ms ;P|ok ,jz/L/DLXAR{~xcwt_\^we}w8(1~}7ߒeO!yz%T\ c[H:mp%tM>ld arT:`PqБw5`6޽{,0テ=00^Vrq8O/ElGvfdȕ*Οi$ÂEڡQOh) 4~[?fCixqIIgiEgբ@Zr̜"&fdX vLr4ߦ*Ex0\9l'i,PWL˚ݦ7x(53qL?qH7227GN'u Ds8ALџ[>E*W[HmUSp͞ݳ:U`bdbgutddo'GBv=6@:Iyz N~lԮ^q%/  bD1 BVMD+ݱ'a=?y=vُemKՠ…ՎBtۂujnu,g6"!d1[m"y0S'Lpcf26{WdRGܒ^]AbzF^aA\Q[4AG{v`'1$$G^|1ulye\Ul[(GN=֞K1O`d :hdjsՈx&J8խt'*ym -OQ5r:m!JRX XQ%N4<լt* "%UŶ?")BpKg:d^N\`"މ0.61:/lޜg) ,AM̷etn)py@N9;RWIUa fo63f186 oK1J$FDD mO)cCԣ{c>7g)pl?AmggyCC#3n]8Y=C@IxV%%S\H_{F)od_\o` 7c/zʞ? AV&f+!h"Ѿ%B #bX$8('SN]h=" xp>q@cs?1QDLJ-IC0-3SN:4o–l5"ǭӬ`1*I@8|*}kqŽޗ< _/N y&?}Abk N`f^j(-|X019es##YG9<9A/lkk{R$E^n騍4WEãcD땇t8ˣVi]],4POL@.G>CiԧL{@Q" kS.~ڥIn_tE Xb=.A!F%tgj+ 1΢Բ{i;,vspK:`dJ6C_X}C|BG wZ'U}^?)({AIGo󂛟;EyK6棦y l4(e|fţÁȶW͉% ȘZKSkѼ7pV+dY2|JRXcSsnމuj4#G8yT'T۷ٱ:F>[ߌ pu~9]gD)Pyɧc4w`?-M8#C#A&'䳾u]]A(KU ]cY.gЈqj$M>XIO&Gl³څR-Eooxl_spc4W}m?^AN.@智|E$3$Ô_$SCMMv'P;??͈V@kn ^ۈDL[#է[g;ɕc 2A@i ҥw:sEb! O/ik[C|@bLxTkh;-.Oe$U_j=V$g(h^>_cT-O|"覒 .pdCv==  a ,WW/䢞d.kvv::0#Y"+wOW)~%"\=S>+dRgP z_8h BG,ƺ@AGc_ {uUG10ܩZ~ _eڊTάO7cs*䀽MQZx9^3"Z8^[sC oqX,6acaP^u cl,TkWxO%zp>dN!TM;d)z9m,cV4)BPU0i< 9Câc د"6 Z$}GT!GzJsHo ^X 1/@!3NΞXBS?ߐ(ozԲ=a*#Sit"_,:#..vjYQՋ8'xxdQL3n۟r4]K)O"|ɤYο4(I<lhZ.u{:nN?ѧ!cvAULҭXw<sgi|{M4N~>X]5]!@'y j9C::)N">f{; dVS㛜mIY:Qdo =6_n +v?k䶍Ғ#Ԧㅦs>pxSwAuC-Sde.DN7ρuf~,(!Q\䦉A`ѥinܧn#OPD̒U5&P>J߬|$sifTfb͆Ϸq/Mb$''b%a e]&g@;@O;gG.Q7XڲT!/6 j`⭯O-+z?&W$ρEt/|5c^uuT4XDDah&O2 (9켓iӥj$c` Z<]q`O7v6<ɥQOcɮ1:m\boMh0\@ Z*Y.}H+6㬎au~!䲓յ%ů#*4ɯQ}%>-%#&H`׻2kl UKB$M,\TsP |{uWZqҼ@;<:&M ƞn,1{&Ar*T8h^X홪-]rZבvu',n.[oa{9TPCSD< /@-k%_izzz)$jC_+2"art7]Jw0Zm=27o spιKQp$=MTuIz}>嶴=/:+ "(~(H&pTS7u 1?*Az;~kJVU%`ӼwfθE ґ#cFùn5Ul';FJu|kiiee8ʕo-^Y#yy5۝oh:ݟXNXlmQ VzuC#wu8!Be߇A>f 6 %a> \/c<5&#þRyq<å;eՏֻhb =@Tۉ%B*wP:yj*MARYMNfy2e&b߿i#$-mkxBl7zYiiD8 W;&;GxMN^|!BdkL+nVFR&د,G2Vj[ny8lYrh|@{ir*ل'Iyv> _u$8ID^( ޴vչO1|M`Za) e,VIld.t,.h7r(lc"ɕ z2~\?gzZ9c3 0~DwmqgߊX/wj=~I\$$Vv^亿aV%E2wРRN@5ŧ@!xA9+ rsb\5f/'R~JR"^ `I\V$:g\`K㌈޳5pW{-@ ؝>;{H(eͣAF>ґg uCf=.i8n?hrtCwl#..esxUd'hHYH#k]ײ7-+W>!-4yLk:FYv W-SM}8$~i,i&̧l$&ԗ[dLQ׏"ujZp((Nt>UrG %&*t4ᄅ6li;B4s3GI?I^5ř.  ]+ZG9\:ƈs|~ۙ^]CB$fA:?J@kHng\IazBojf$nӱҏjPf?\bO8Do^->%qR:Zeغi. ߫\A>!{$3ZDf]Ƭoxcն低N̅ٞ"l93nOh%NrzxV~.HpaI>}5]beׯg/9CsW lO%zB"[_?\DtnoA΅DIqEE7ki/ֹjTf`Te%m =޿fDw[A:fpi!5C"U2:ڟ['V.Z@霣aK37Oǜ7֖dӯ.XN~ZŒ#>CےeˊQxWMJG =Vn=wvGAo.4$`:?u(O: XAfqӅ}E fF|hEf.꧘_$(8.3"[cO&?ii$1P׾e$>?gՀ?8-z _^3Rq>p}ʞYaRx|p{p9ioШcdS4W I9E bP*msѕի_qk0zPbDj),PdM&CnP爈UW6s'S;K[]a{)Dz,.LS~=7xd WtȰɶ_ju%C"ѐCy1M_Dl^G$5"+ڗ8_!9,6WsvM._r4g۷軄,ԀC6:IXJ1F"4Sė(Ѥ|l^c \lw'S#;10.0gdH rp677AKz!v)kI%p 7¶JZq`L)? x/ٷ6o8TE}u&ew8"fb%;G:ϩokqq1`d } A2F܂_6Ur Zt?T|7:8z^  V],wi9?#uS _uxtR=ݎ(-¹`' VSIO72ðqZn+峆jҏm2Kycu\"D{L%LOx+΂ ,f nAa̟XyCC f٩{SlUe%vQ3w#)@ٚ3lcBeJzw+O,!4S1!Ίh}.2-X~hW.Q+&5.^,{8O1HPA [|/.ޠ#aKO8 냟A؆&=uRPN&uGĈXť)$&NXgF/6GzXcz+90I.q ;%MCē⏥۱O0 qH~>YUy~ v:0.p tlGϸp0 |$2֍\g/IuݟthqK!35dk|q#vk: 2._NVn fǀ+y|sl52_ ݔ<2׵T0a'GOx'viCl }/e^ZHtsLE9,fm?7gAaA省|w+=8+_3j+aڅ`?[McrwOq#xzē>%w$!*T&] M7aXtOƂֳE0eo]R]h)nH0IG5 kFV `#p&RVgí`̓xy`~ D~TLk]ɌCBy%*Gje ~g;Aͺۀ|E GdB89W[w:Hz*&!hcBtzIO>逯yʲr'dT9V=',(~J0(#vYoM_h8n9m"YiA6=R 缃n}O;Si+So|@蹴M1RV XZF7(1t5sA@U=m(b<)ldyA{^|wupp8Gi[yM^/a SR$ u_{w*U5x̠Bh ɗIWwuu=D\%1 5 2JDY :  ݠ ^/a$;SqqilLgB Kۗ5R΋IXh@tW`>ޤ d%:C_T|iK'wٌZϛ^|m28@뼝%Z0)0<]xrB\,]FH/6iKi{))]in7%khec2Quzg m `knݚ, { IFKN3VwfzbO#b}2d8 yqqJHNpjGN[sG cU[b#`VqmWʞ<^/Z]~Bܛ| =HOBg&Da;%uAgtUȘd6Ë$|J33:ǜW, {YmW aK _ hii|PE@D4]l9xjX=߽1IZk>4^i Y l$52O5[TtC[@p㬺X^vswEWW.44SwvQQQ". Pg sS(p(63R_SP 했"O$~?m5=k??S3*AlN~ҋ?#;^2ԪЈZj["C݈A):' z~ԀgI]RZ #NCf++&gf5YY`~3ڲ;N3"<;9@`Vsbئ˥4֏LT9U4`A9 J>oȌL6kT#|r}_++z7^CPcbTȀj-ذhpOxf ʹ zLMcޜʚa^&}[Wp`e h9n.55};GVYNQp]MLWH00>@"5&;߂eFRx3 iݍ:J齞Bx''v9Eȟ?KU- ٢λ*ϷGd Ȅ_t®Cɯ7 Q40gp,+ŧD}d#xAi*kd^}"iH4.wBa3@6;|mmAD ,M V@oѡc DDAYa%H 2.XbЙݿb'S^d6)ܣ/%|dD_pqnVAv鸪i狊 #( M#{G"z][{AށnO^l^s`aE(_g0(C҇j*1"(W:[L;drE*B8iiPP01eL4rogn+ u yq_9oS9q89 z8En<W1%yc}G>Ą2ZZZxjP0zRw,o(T=:YŦhdY/3gMĢҒIO5%$$$tF0Vk?, kQp|-%5v|J|Llbt׈qvH^LK)Co4G}ЬeG)K>?$("rCxII`h\Uӻ`&S;}NiN[w, K`5LvuuN,?{@1|?~ya6A GxW:i.8yНZ/BVC]\:4 *^>rYC#ttT7 #2u]{?.(?MDDNF{M=R(BoNASYvP<^4geF &UfeыERPh5-` 4} d un1VO hÿ~__Oe x VCAZ1g`A t"iƌLGWyV~趍ݭ^e&M K xzV\LD#ds$0Gr^ P4C;>ZM'_ ~QnA2vl;Ƨ 3rH@013xGra %/ I|88SDyu8 8{xHɡMWā: ce@8(&ALm>]H`T%8iphڍ,[ٿ` GV*%-M-,lOqYFRP^ޑl\Z(&HWWGQ =5Ă*us]*K\IDea5&|al`pQr4JNnݘ,,-A,~E(A'mn 1L\){_l@ݳypEMU8);;v NN3o%Z}\0N!td"'N8L4JzjxE?EDإ1<6,0 :; V|SwZw\lpzUr?go=Sm݊Uo2C*VVj5]c,d78Wzf`D ŃAśYj-~PnXšGWvۑyWkw&'T/ w}SxP 跠4;D4;a#qx,q7%^*c pM ;Z>_yfFJlC>2j.ti wuFc<<2nق$3Ajcދ_SiɲWzMߵ?({(R_Q`ge pxUU\dӎ6p6aNc:`EfEȥGbV4Exzņ4@A퇖b0>|p=]_ z{o} ](P0ps1ˎ$'oR8 Ù$hͷM|d=?`:?*bR"<=?>u_Z10;?h N&\KAan{{v}.}+O*ro D oGQ7aY&BsYiqۤGñeL ?p0==vU qalN .$Ƥ aJ#1BLT$%uƊg](GFMk<$dhHY@|x۬*7,Y}|Ꙍ7#.O*#7_z 7ɞ[IIJZTsBo+8@w!)#vb=hGPROv^ƹnR:s i%LZ2ujv/gJ'͵ԶZ6al z7I|!j6nbs`:/j-d΋`)An&}l\*=RJ v٢  ~ù>ziլYjKA˭ȕ46TՀfEֱX oG6 |cqm*Ss՝RB$0:o?v2h_%MD~1g 9T zJέY#yVWlӢU_Z ۊ]n,4J@R,q]Z,㷹ZAuIyG3J>%a›:. /> MazPIua/o:JE:,^c@Ňbj]AK2aV)7fMMjAIeg2X1؝443CgF[ m3d7{'1;Xz[F{``q%xKs8J sqdg/,̤\ini/p%' pA pqQw>ě. z|ʣrNhˈk/7~ *PX){wŋ.pjG Ia>GL`#lZ .L ?JƍܬDg60K˘hqVv {= L!A$y9 /U=tj\P)D~9 U^dd89?1ǘ6C>ñ4媭5KD銂Z鿂%)D{*ZW>NO{F,Öa3Mx14VAtEn}t_rrxfx& Nvxz}\ΑJ ~dRd=uVRKJJ$rZ$)Y (>Ǎ>xߜUI(64f O˿8ټNlFM :s1 ⪫\^!OOMİ@28CcLS+<Rl{g:=??op bajmܳ7a>z̟XX3B )wY6C }vU۬^.v:RJ.>[2=ӭ2C$QZyLG{ p Z;dv6&adeŭmtړÙ*ю/ @uI!=z帘׍t0@^! \3dkaghw^40ӛ}{kWUcٱ;V /],7̺lV#YK#&E03^Us? !،ltva1#0E] E&Cߟ)k&Vvtjm^˪i72NZUͳrw+a.IA&{yHL(Ud᡻˗/|A]1\.(9j%5͗WfY"V]XԓmkUGycf>dUbvšH(5ȑxHMfүnNy+Xg"Q#d: *bYNse~k @^ 'мk0e Mڮlț]C Z qWx1OG@gNML!?l[L%wrtƟ>}.lIIra"YlXzQn/6fX`&q-܁IP[%%)U`=λJWp }L*_| p&/_ΐ2a `S<.QE_`jQ$Lփz-#VWG??HD:ϥ"ҰmQ1A{;{m9& i}+(nF}z`p*|̲wQC>!Xh)wÉ֍L GL׋'S/("` ?Mt=/]Zyx]TGRlSbCU䎢BP8$_lŠ$ wOޱc4_MnNVaﮏG.5uQȄ ~/X{Vr!R=;>U]_u5mkOEvX.LyP&mKa_sYP:2^ִk:z~zy|dϹw3Ed6D1y}/l`hp`byl(QW4zyO'?[Z'Lіak}}hf ~qȫ]]ja`3ehi2fX>_&fW VUAE憨DZrTslѢ: =;,)dfrpQaNt )/\Kʀ24S /Tn }!2{pkPNЩ>1˥!W_ADF88T֞0m+v+#aZ=P+|q-&Ȱ%jjTmcf ѱHK!t|53ANh yԞ4n][_?߿h:(|hkCd^ S)L_\p"]fv]`Yi48S"\G' ~/򳾵Iʹ ҐSi-%?T&R7~'$! fܯ J ]'Y7*2g9fKEܿ; E?ݐlR^W/x[9mRg: 9;`=)|No9Hx6Qe*O}Ld}?CCI>!dd3EHʒ?2.Enz߇乶|ZkͶJXгlJCo..PۈϤd22uRnKVb:CW"ՒJ A֡IU{nFm.K%7wf[m~/#=jTD|+bg_mnU>Ku"Z0WɷqƞG|ib< ٜXGhha'W O uHdTHl;(cr}MVhin×iH-74zHᗔ%,C%Ksj [Q܊V_'YOߓTŦsşo$ӼKzģΦ{?^t;Ǩ:#Tɱ7[=<&{Y kkj$ꇃ)9M"p\(菘d4as%Je^5bg03~w~DV/[1U&v<L Vz.V Bx`L4zW42Ujaf}^9:`}b aA|"qjW'nϷ]TQ-f?ڳ6GOp$M^'rob+ٮm0/]BMI|,Hc|J ~u?q)oJMC&`r{yJ$,71Zm!y2s' xlR ,eHW()|Mi6k\A6=UoMeHٱblt_{bXc3fmͿaP| =pgؐf>Ŏ1|Ƈٜ(l!4ނFFƦrr^=a2'-7QܦA7`Fzݦ۟2x#=Z }:mpp7gfPPtlo ۭbe?h%+-c^t-< KCkFJ˳awDŽdہ,'{Piyp*vx_w.g d K9MzoZœ`F/*:։F7AJv92sV{%SR`Vd dcCj1m_~}_iEz]ۼ2U׮ގEOϾkg53s,%=oX.fNOOZq̬@ ;.H9\ta!} woraN[QD*(j/nܒ%+9OzcSH־xҴݡ F7"8eS7p w^p,~5L?I|hgIWgbnONN4–?KTZܹrf\5E;M؝05 0n3+[=PujPUtqbl}IUlsބ)a}*Cd0VHf)yאd/ܫLMM>l&}|? ~}Z)CݻrXvqZ"&C4*ڛ!J?`w$˞Q$n{ya%gIRYb楨b7hEE+UA)uX Ku+3&S 6mxSt}ǤuX'VƐ\<nwQʷ, |Z @OYHo..߸Ŝ1:x{h\tq`g&Kq'>ZZll,c]yeծ[h1׷7 *3tt %HIwJ H4Jww -0 * 4(ݒ0|{sߟs~m{Y^};,rW 1 !fveC=DXWg| >ºG}m8Z{ ،{E̡$]GW\g|}Tg+44$܇<%H1$=O0>:7_jPªzxohl,1^4v4dwq`Jh;1S_lsC ?h+gӍ!{JYYY׺WU~:, =Ec< d)S<ߚ9k%P.4zW_.S*OK5OwA'&!(n׹@$P -e/. +fm )M~w1[yUh;v+lw*΁$j:t2WY23T0J\D6Ow@^f4xɑF$A2y6~9Xl}UM 2v*JxXi[# i1;rf)q%a^I  8m}owb$<=bSu_i.>d-qu~QV/m;@FW%'3'_EɥN\bΞ,~}C%:Gbwzёa-pMtɸZk&d $H))UxHc͒gW:w|)r|GX0>3cfo-3(!wVb ;ț̵~zs0OӢ NE2qW o[rcgS׌,ej l,fM؟N']u2 AY1>"*${ RHՖ#ـRt 7 ~25Fz`oY? ܻ eT]^z>6Oʘkԥ]˯2 hC~g]W?̚0 LDjoXtÔtgvw^N}7_ٖǵhP|L`őcUt)y"O`B;\-0k][n"^oݓ4]j[ji6 .8su7akn3vLNDn]lJy֯i+niGFO2_ ;tƯ@TYZO6f\TtttT|7CHt;1 (3=ލƤø5M"Z/Ա:>_iD:̚//7ri^~UPJ(yF%/Qbuk8(hE似~ܞ}x'SL?\9\fCh^ᵋZoYURח8 4")bs8 B;&ZQQJ2/}ZX9D5I#?1Х999hL.k\_46!wI*Ou'j~izHxهb+==\ye.g95f1~1jZ5?e_'Rct*m[Xz5J1mu2QdN*<@ܨPΘk 뢆h`]m%[;"6 X9be?ݗd2A <8DFF Ђ6Uj-yp0suuM?c {ƿ"`TlA7'fQ1(Q!<3IFF/~3߷Lksѿ8KՕ9Zƣ.uï婵R /JþPHIqȃO7zsa0pkj#@"oN,CƏD?>$KD٘*jDʤ!>M7bu^tLK&\Ζ&by&6:A䵀/@g>wD:e'yU|ZC_Nr*{9K#vq1YDF3Dt/_rY0 ]bM^r.o d#\;+ wͤYqٴ yDU^K}'UGSX1$2IIIDZ?|1Yb_ 䇺 2Y :yZbXvvmjӠ˖@cMLucXj4QP,"#)$1Ú'zy-\UvBA*ֲ#Z]Y4$ϑy 6ӃKߝqYgꞓ_5MG9#5t>tx:dmӆ`"cF PP,J)FZl="##cO1w!7F BM^?ׂGb58no3+- h>3qo Idom戽Fd;/@4V RڮF@9jCDnCHhkMCڙ`jx@7Ч ]4VaRZVRosWÌΕT\WL 4.};JҘquAK랲CY<ð&u_@_-}MΘKm\ n=eo TV-,4~EWD¿:K"S8 yC0jSN^L}z549l4]3_r&i,#b`B{+' {pE)/BՉ:fj9 ļXl@oKl*JajE{F@l:Qr.?'*#7cU#K>(fȨħDΐ' ]}ho\dC%nf#ԟ<,5@ekDG|}uv`iB fkF,ő#)e Bt0?ޥ+.C*8d98pA?dgVc2gB&W ?=A;19IP k9Km ]Qf![: ↀ\2M&NOڗ&AjYh.:qϝ3x!w1cmh8L]@zzpN6zX늘/ _=σ'Q V o#:DS2AU!͵ m6as $yix'z{ 06i7XVgE!eyabp!9.>y4!5,[Fugxylc' '/Cf0!:^l^~qC8&|Mǟ~ݾ@By ֕ I^>Zvb>K~f)Ĕ+)E4>GJJވBTB|Z%z ;.ٻذuq&[Py"-|fzAu̢h[m\̰ԕI]8ȅ:>_.Jp\1l_ᣋ/OOn.OVM{zv|{V c`X7N^ /S_@t|n.\mri$SY8:;` : u,T2oNzTBp0BZMQL5uwvZ!je fSN^Wlz|sG8[x?۵zi9}R~Hlw>'߹F1dZ^;?5 | ʠ_$ē#y{,ދRy*`rɕ*ݜ lAДɿF-G lJ«P~?BȎYvR <e =vQuQkD \v+dN.ҝTbPuPcL\ /&בOh᩾w N))׸*VY1}7oƌa lqr=Sݛj::VoL"|Ss ?Zs4{qhvVRHk~}E! N=xmwf׏L <_0_B*ȽH7C.]15ޡW 6ї @!V{(V`qn7x3k{3񿣑 y01HpPPATӧy"C[CsE)Z-9-ro!V/ Y: \K7y ޏ"&٦jOnP֫Z9ܴ? '#y0}G"Qq>ZWT>eP5bE%1Ɯ0 'c_ì2қX=]2b㨨-Ow+*@7!U(gD8ГKFjY,Z<$&4܊;Nv)+^)ST­xE6KuwdڐyϋW~XaI\;N'0Pq[ue?4RO6› ]m6e*uyrGG&Y?xYؓ=x^!@P6AOB{r}v&L# ]:_젅QbrX4ol k6Uл[ϹB~^Nݝ]k&%XYqSS`I]LRSGןːO+ 8oho;++'bRC6%xX5.5QJaZfd~}KId(hZM塒*̌nRATIw!'Yϋ^ko>3HJ RZkc )G3We3oC؀N;!|,)hkh?0GUw8JP?[3u5=L#&ac st鼅\vfۮi2I=X64R?< =^;!^| [͡ԍ͍y$ь%W~?L4խ~-'K.2ĩBhSv"JIȝi^?ϩxKXҗIH=7Q)Hwva>C{0&3suX,@GeP?Bʠ\^{H%o$sYXtԩ]ڦė*_zXxtiŮ[ yl^FpƬI!W;5;Ѻ^U1I~HG;̌&&&%a(*LT8&(5u)74S_v!QW%xl\ӻ= ɭ0 iԴ5foF02!ERG*Uq/)AϴX=ׅ]QC@bRy zʶEqgGy rXh 7x=*+iiE兜}\ǃB9?|Vߏ|4K 鎘HSý.cXϾm-q DdV'IbSEݦ˻[FeKiN! x\PZ:"zMd< :MAOԓqt\롫kv^F.Q@c!Ol@3z1MLM:]Ŏ00r}O fX1M͍:BB+pSd*zBӤ̧s+n8LWVvxY끳9aVD_` I,Y$kcƇdc5MYXr.N4ꈖj 7B$#+n.C`o iK )mhH؜".?^f._=$yJ 9x-D?_ - JYmln n4Hp7VCe6y{a:.5 dr>")!p k~|.,C/\9 eGV-+F%T4E%E|U3ņ0,j`BburpD< 0\*"GtG8x70[s@v٩Wh) *.< &p9#g,qf-ʁc?U?_!ƑnJ)0|-tHQCgw]PzضKp7X5ut-x)8B޳|2!@FG Ca1$b`NaY :C0T>)=''Qsn%˼ ŐRR\ f{*} s1t$ <*`$u!UW,1+ ZylmY Mˑ]|BC58F$ `0)Q|h3G2?븩Uw Kݛ\`'&L|,5ke5*mW?yPWBQ.5+XQF a5-ݎfu81D֊fz8{-Q\xZ&:S7͵-cuAWWCGY:f[8%Dk@z-hBc2m,|JRgN{I^ca'25~Uޜ#s]j=vCW݁w^{w+F,H ckf)UGLC]PFw4JI+༶s֮jNkAʻKWkoxS5:+@{*f?Lfi{9dYZ](Yc{^,G%$ga0?Ay?m>jtGV uz~׍ "6e=4;E'p>*\u[wlت #ht}^h PRe叿y[<@"ʮӰ!&?{X"PK lY*Ѻpos.iconset/icon_32x32.pngUT yKg|Kgux PNG  IHDR szz pHYs'tEXtSoftwarewww.inkscape.org<GIDATXmlS\% KRJٚ,aan(MS6iQ EBMCQ *^6%{JKU@[eR%1e"8پ}0Dd<$&pHĢ.kY̳INhjbٰZfٳgUZ,@ ϟ 6dG!!b~L&N~ ޱXmh40%`@4D"ihY=+Vu\F"$$ 3/sp8X)/a͚&c):Bu}$Iu%qs~?mm_a)>H"!t{::ƍ{XT}$DƖgH7ioā= TO`2.=O18Xɾ}Q%gEi݁@@zFGGR!j}.zPHڵZx%:)Dž;/g#{~ر#MEE:;=s8ZZBPUX,6/dYL}}{xaϜ1##LOG:,ni s%$ Ν3pd2ZYΪ,]Mmm=~ff<\y5xtC??cѬf3 ^﯈e֭ 06&D"A/ ==9(`[Gl6gdߦj)+{Ícʕ05jjsPQbhh~K gv&4 8o;dB *Ԩ(WiQ#-f2.&!vêN0t\$(ƆiC'8\3 q=K}!6'cQ4 t22<< *L L7wဩ{b&eTwO$uYG~.N=YBP̬LFFey|<ϓEmTmJ|H*J+.fA T}vu/%}M-K!X0Ez>;|^UqтjlHI/-klE lSru*("N,̻F8-111kB_Th)J8;;WiUge,) b)PA ݏ^>?2ޞ1aTT#IxUB 뺞H(G 4DGCCѬ;1 Oag7A^Ċ:9ti@%3@sŹ]h͛,ƉPllJSC r*R㴫ef[)PCBB݅&-@)LՔC?(3l0MDՄJ? \2U/`3FaaՖ˜v AnmKbYN9ya*5v’ײl 'Z1oʊH E")L֧R:t;2Y9Å4PRn( P7CRQ\=leߌiG9pK!_cĺ 4k\=;bE+(%|;:HR]Ԃ,S Z]\= JP  OÏi*[DY%-{aծNr=*רl? 1G 鐉oC IY")n $;Ze Л|V U`ۦ(P֘~y,0j=T (MtK78o;T%~(P7oOO#B]Et޷WضD`9z WtS#'T˥z6\@ ^suߐ2txqP=-\/ {NE2SG0l;=kR86S^# 6^%sy"YZ>"C?쇛*-zSd6Rm՝ KX55\k!2Fn{/0} ֠8@DHM=N^xSnh2tk$q`gRL?˃%5蕽7Aaٵ-p/#ez*pޭAr^ɮ7WbYO,Oe{vL;w-t;|q4Y\2BRt P׉ew>5nLxZH.~|K{?1S ]~99r7NԢWj7"W请AGYxnSO 2;ܙl'˿wAx`z64o[<OXM9+G-=Ă5.{u0^ S5YA7i6^`.9~7֥ $/x"p{j[%7ﲍ̉É0LTo6 E@Cq1:&.{ EE8/L)w)ö-U:M-r) +~䓎gc l:j˕dT+vC5VxPU;܉H~74c=:mT_%Ӊ(y# }1_46)92d}Y\4;T 8+4@*W JM(6{; w>S}E+N/헶y{}6-=" 8Wdq߆SG|6"v3\\gXɲPG?Cፐk@agf7zZx2]/Ml‡ h|#GHg:>gW:l/BX}kÉc]osw444YG7)yP3/.Vf8$wɪv5j+qU!\8r,e/ՇvAJZ^Ph6R\PUj̓ $PIjZ(ܐ#l+O {$LwZS2l۸iߖ'#[S83T1ޤ7HH@E5 Wwೊ4$5tA/sW%{;bEvs:N(y Sܪw̙o]䟴&y}[t@9.սGĿǶGBu861hA4qM>չ/q'Zk5MYZE@ ZPKa:+fUހtu$W]׽l%"e_k{n8Y]><ΊEw+~u}9G.\?XߕBs(>zzɨ3xUonp6/gj3XY\ jm9NS*?W3d" 0Z=~{* 8_ ;n: s`^<:4(2؀2Y0RcE|&ϹL0Vն"H{xV>>ՍOL:H{fj؁ElXi)=ET " VL˧\ivp{w5,M?X햟32Ӑ|8$V8tVfg0`lPvJ-IYgr6fԒ `O6|1脃{jER E>;Oq0jy=dq2+Κ^DDZl%Y@ nxѮ ;m0~8^ey|apf."k"fвyLK[Jm4nDDr5_v!)(rC) <`D|nTz!iҗ ^m7b3∫,U`㳼&oGXq۲L|c]4R- JˆB:-(}&Fs>ԚYEt`!wEPQm,$OV^1˭WKv78#lh4*zNV][])9t RS ntyߪ)qe"qί ãat[ht<]TEC(yfU^JboNJިm/f^VJ-ʟj+O+"Onͫr^K48hr Co-If2Q^p 8Yi>/R^\ꃂё%KBdxъOLj{e*ݬSU#yk9M :! z1JBixd{md, V{L#U=|)"|'dxpM3J'G{w}4נ^"wiԙ~MH֥ۊ8"%%ZCҗ{&|R^:#ǘ"ut{!zpLe4Mp(s2e'Șn +3Fj> F7nn쿫L%J!c8SGvC6kd{'W[mm>[v`Tna}})[sZ}*b ! xA4͕V0 uFF9H\R<:3Y^. 4OVWOŲD>'̒~+VO@ߥv 5Юuَ]F *{ ?']U&/E\\ԴWW%F˿#VCc~r(OOM 3p⎄Cn <fۈfG:m/ pl666JH1W:5YWW躑Sr1⡻sӬV_n9f х^(Yr>[F GړOOΏP2o? wS6=ˉll uu7blڋΒkwUZ<~Rٿ*r( TVN3!LxNF04u'q;#52$j^\jBKK^ar$V'E6䲙s bSO;Zs\Su-4[x|tV5[|tgx i,yMŞ _ F !=0RCtBlv=gsSۢU[ ߻UT"v S)le&:iIg'_1=-~Mir31  z{RDPoCB)P(䛦X"nY~,!:@+dIHnfq+H6` 9¨J3HVOP2ݕSUfV[m-<`^h _ĆMeb(z cbb#=b1*WZڥ(cg uDHr"1vgcOd:HowX;HCꇜ l=Gĵ-U.i$B@GP/ H,M$L`ʊ%b9?@nuM K/snOٙ~ 2zKc"|%Pi.Ze!(^}K%2Z(f=0Liu\ i{?[ ;՞T|ɪ2PKlY$9SLMpos.iconset/icon_128x128@2x.pngUT zKg|Kgux eP]&3ABp=` !];wm}_VmT pewN 4y9)5//Dxާ7$G9mg {yAN?oHkw0wq7pwwgq65v"H(y) uo>ӳ= TV2=\2^z{j~jAjP9$)ʇ \F(*u6::*lgbq)m>m}'yTZ/Ъ92a[2;î$3|@' w{L,ѳ fdG+:q78̜-ooza? t`oywor޹huRzC$1( N\ѹq4PB%!%WTwPgd9ı_Q_#o*-=CY2ʝHp漲œF.e/ڸpLx A֮)ii\***U.'fX'(7tSG_9f$dgc$F030`2}I)*J[oҒ;v+E[^^}w^k_\3-K$}ed. h1;g u?iq+)ȗ E&e ,ȶe:Y.1@2bQ{);@FKU ?gEe>ES6W"D~0>Wg9-ÉVYYp܌^yA!fg_W$(煁s2p 'o}1+LksFVrqxdUg5:S?TaygrpsrW_ z~,Mo9BFs_ -2PPueِy۷oalH=]]9 _s#E A>ok1&wqY!MǍ"n+"!)Y-K#j)4+۸8TJ=vs0 m~|D Y %0rGw*Xm$#q!ȗԔ3}iw3F: ̸Ύbm:3J|k@Q||JJ/8715ޤ,|155yz]ږ(7'j7zy ^GnEiPA(qnK1)\V:ÀP'e!%;ђik 4x\iYɉ 8D,@(Ε.QP0#H)? W!Ҡ}4wk# be'1(fM3]k f=n˱ ( ^ek[կ#'E1S s+1F:5Vu=I/#! E9?IBKktU߽]{Nu<ԬgfBxtnzMbhUtN?{kgG" qrrڑs;^~` n'|G5yWy(o]299KL0e9K3f餝r= S/\WyV^-^WA !ZXɧw.N,4( yy{efhQ""jAQF}jF^ïZUWܯbM<; n$Ef;}IgsÔC0(kg2äc܆%L̄w4~iXXX섨9V߿G3焮#y 5~A1+o~Wvu7*sPs8i,hZ"{QA j.vɊXOQ:싑+,oCNrlMXXJ\T NZh"` Ir^uxfuB sc:eaZvIV(fDX׬_UgnݽJQF\w]0:o6gQ9To\9gv[@}<xvJ&&d %ǣ&VwmDI ET%hmF9V  ?kh$4>[.*Pl8!zyrs cX4ZSf.8z Xh0$MOGi0cM2h.{@DscZ%pȑX} ŲTأ=oE_u0|aTLZ"fMe$H 9Nʋ:??Ǫ{Њvi4>۫j>wQÿ1CWGaqBpoe1N[K~)-(؉1 X$+YtʻD\VyWZ24EIicۋ?='UtxKy~"K\ps+lOWpG\Nݕ<~VR22o4J-5H0AObu5'>=_YS}F'|4c Yg%ya/g^8w4Zih.Ԗ7Cd aH?8e;͚ZB TY7?wlh0Iya-zF|rMpr$qUkcazl2㽚ڿ\܈3XJ\ԬHR1D 4hTNl#1HZsh b%j^wK{xAJ+805B)DFc 0V 9%ӿnV=Dkf QE[w.8d; {Qyozj?7fH4Pozη do]sq0sNb) )F>o,B0촖./-Wڱqh9jZ\ɪ1G/͊f3/c:ȅRC0Sd򲬓BAbN4Q^Vz!3(8PK̫/dXMpFM۾QYNp*uXbH$4!*%<*6Sc?52fY31{ly]kEUK [,zMh񃷠OL J1#S?*rMs݂Wћ?;p'ǯ[O4|7&Khhe0zUe?@^و:@gi`>wF#̂ 1pD |l6(XFOW'y?>P}=d9YS(lܗmƦʢre, kO6oޗ8{se54 K  grاjL%%-MEM e2PLX?:4iQaضiw,-;{bk˰cG=L䂴p5ͳAyCoiFw V *LB1U,XFQE,|3글 _IiOL#^կ CF&QVb?nr4j;$`ӞV0Ǯ֍ dE-Z-j>THrfC=Ԁ v,h#il?:k^_#/ ^?FM_8][>Ϭ0aTxT/$ H~VV-E]Fͮ 8CkCYm|-K% ƆWqoKa->CJcEww gd{Hb+~tCL>q"}j{}(*L_ ;&aɔ5NJږV;YW¶q@>¹cb+zc``w{U DQ0 5Qv=7| ]/ h-J&rIK/bziX9 pr[[- 6әBpFMpVB"bb^'cEp P5$cP]<"QCĹ+ٛ۶((w<&6$dB&MZq+~'PP}fÇ3rpwC4`SD!`7I*H(ؤO  Bԅp!&wu`YPbHs!`\ 2Xp3C!܅l@p8`9`Ef}jv,Ewڀ!=:|7N`)i!4v@I K)g<_St`-zZF_SURG?Jiek~1$"α@̌ b'ơ-b_J!3ФMڮhC3rۡ#rخe?;nZĜݖ JAO;p's%O=Ѝ+9b)))_ՙAx *}OKv}?F0+{řvs^+r@gzPa}Re7KS}=K4i);b2ǃ QSS )}tA]9F^C =%33 9'@Fԏ /4ʭYar]tl 1OoMȧW?v}^C%kp|IadQd/^-1, 1L MO*ƑoS\m?k]}钰|(mZIy}7 կ;n9.UPq i A[*FA;.5 _唔GŞ777o%!ѿCOx4o%b2!7ǻÞnLm~']T1< Q:; Q0sʙQH$BMU='_+=ej}Gt?=eB-A%Q}GϤcA|, #o1{7}=`'=ha*nߋj"'.T2YP@ˢ ][%kH0tI5 Hh-ՠ䪶l%#«wiay%"B!(uu!{]m.Oob,tZ\_ 2'ƅ}]X ~MN+w\iT)Ӆ)Ӂ(G/i*W' 5{?~}׵0J?'FRgӽ Qj^j&l"̸qoєsmmrVfGѽ,R#D EAtlnAIS"ב_=WR>.KG9̦ѡ]X*~[n#F'd8%TIbNrg@Jij_\Ea[ktnn4n jxӺT&P𤋮j 2iFppu:i1%-) J~ 0NpQ0ps1)ᄼhuҽdszU B _nq*iQ.wgʅPT&DW=z T;oG>މaWZ`X3=14J!;|@_ezO,XI4^d6\ 2;:+f!T5&v3@:8/jifH(Dl#<~p#.֡Efe* ±p.w٠'qIMx!m.b"V;Ɓ1/OwI7!wx̀!ho)ƉƄЙuA<1Rgh!"3CGI^}@# S ౓=]q^KVrߜX;}ԎtJUKn69 7b'FOi'~O+0Zo | *Co z===-}0{\fHO1h!l:%(>tgUWOK+ bFc9}}}FhNEʧoW,jv0T}n9e -FkkPJQԋNa W6\G#N" 痒}]644.!++ {[#Ay6Emkb=u5Jţ_ [C+`fO\?a0&3 пg/WeI}nEz{?AllE`wt4D4u#ТTq9ma9[.Ծ?U1m{B>>PeOE1hBڕ=r␎4,:{6'rH lg8)'ѵmfBd:x+'UW͵ѥSdˮi/E,?C,sZ)rg70 N>q⊰zq,fxb˕.DÒ:7NGwcobsKp$ehV#`iۥhb}@$glc")leC~cq ij>OiyҴ#dIgʜ7KBۈ^f+LtGyl_*\x')󂦈Pȍbh8b/9beniXN <+cߛL)S3ZFmj_a.2XPhbi_^ g&N#%J&*{J)N"7c^z2Ķ8S {#V<%w˥itr3H4g:V}[h|5=CK=0-m_P 3i<_$/CRly3N`!֧=qB1ǸcBQ 8tB%*.`8sŊ=zqg<1%cgg',v4OڄΖv}̠{ѯJ: K.@`胕wW#gqvllp32xwMԗ )gE4 mqƷ⃳Pk4 /nF=Xox 6nϰ'K`X>2'DRϏ'z/.=g"^԰ygNi$ZBQ~tR#k5oՓgD_+!5p/9ϰpN{j˂f23 }ڵ>}7ZLB$Ѐ5ϗ֍v~8ZlV͗YX %tXE]%zM"qQiE?|Bӑ"W6XM:LqZbʠa%D< EoTq?xpwKł?Qc=K lKNsQj]8?t.ŎuWz =J0{xa =Z"V-fް-[71lG7tT^18,,<G8ԚEZOܝ.!~,d>ono€Y ~1f\`Q?|^H4R9}}N+#qIVz?JZ : Zwm wsT3`$&766 7ts_nh} Ig%O2uYw`_ O6C"ݵW rxrצẒ.&BԐPId?N3CA&KS`$kjt7xd}MB(ij  9!CtU9%f3I6Uf?!b|*"WYhۃdsP I?S@&vyWV{D ">^eZfi].[?rk>$Ϳ9ۊ#Q^sp\ŒIOwC+±|0AWK? YYsF@9y ]⠈f`ˋyb{&E4ft!zP(t;{x%ڝ_^G2и?-+u+'& oM\xXM"Х}u{&Eyq.L"R(Fh?KKƇȪ J&gS2Zn Z#`ej5!ܦԱ\G>7U꼅^t~lkƖx ~(%kϬwALfy0xeY Bd5`%8Pn:ӧClW|6?b+:E@B%ػg4P2!bul҇p3XHd2b'f!Wjm3[|l_9̹!Y4Q5׆>Ҡ_YvV(TO1 'ȮCmgذSlMJ|[ɜ [}l1jύS&E%a)@CM_ QR=_![PNN୩"֜8M?f4$D_:J_4׮,E"l uz ܖU'lm_]X[`bڟ~TEg X4iQG?av'i3kk0o "'2vH#;o&qXR9hmbFt T:~ɸ"]dMآ« NP]i%SL@@H* Kuc> ؔiÐb:3\J"KϞ p% -8_b*}'*NKOO#*\NLJ0qrRzwT %IN:e$=L(7a<.n6;uzK g.ɱH2XIy?oD𫨚Nⱀ˽n]#=䓼̈|y>j&>5( pY3WWd Jm{c!!9$@81)/~yր0^GF j]U*nh=J4.U\33e&ηgm-xtmS\,@k1,iRZ:srdw~Wdh"/$LW/@`(~HBbx-36`K/KbYIII(6%!U&y%T=V):&5}d(-mVI>R-߾EYLS G\~+OMM\nrzKt$K&ȥmVRD+GEDD܄81/,S8DbzߝPLq.|77 h>t:i$A߬M7wϏ)M2ݗ;L[C;eg"hw 70[N+6,gޗs7A-5A(ť+(FZl5>:|~mܢNC'S+PxHbZPr2nQ(:S),(ŮuvRW c4.;k{|WH#ߡC*ߐsr_r$5\;͔E*jG'l|(lZMw 5IJY~< QS.5#{8E%k黉dɄīvg 6|xm>a `E=^L!s9F'js2e8/AM^a?=bDZ8>a>};oQmZ/&CL-E&;4H56b.}b;5锠Y 8wSҪ&/( e''BϲK'=˄RQ)#@p}n-/8uB v܉O`^o'YuzA{EoEd7B`I-n nY(V*95Y#9UJQ{~ Uhp}=c: gm庼:5y)h|}D(SOɍW>_Z~ ,5M0甊H/W~F'}\;#6[dARƐd'ZAtuJ0iq9gL6jn`@bsHb 89q|1R8DHMC~pWhmaLZ ?W$z'yM4bطe:(2#J)g| W\,DU9 (RN2Gttw{g>mB" 3*,J"\ʥS\~1ejm;ɞ킖}6 8^S,* cM&,{=J+`xI,u!/V}b?'| v|'j?3-Ik25nϫ~~x[)o4N͹ۃ6IA˷rVr\tIr[ .PSPr>gE/x_SI]ǀnh+"t+֙?'Y!kn뉡U"L%CGQ?mqImTzA$[":9$#Q֏*-ٍ;a[H"}YeS%mõL_,88z9'iJ WM{.귒ݣ*ȅ,`f/VSl{+Hw6uKIxt#NÎ稩`C]C)D#ƒC&WfD{ihȅ)/! Ķ #e;@pXu+/,Q9'. 5MR٬K˗>V?Dx_(wuJCC{=3:5,xnp?1A; x[YY5#)"ɥM:Oͤ f+2x CF\N|yfM;1Z<"$yΏ`=_ˌoM͌e>$n{}hX GՂR/Mt!{^n^c raB҄NxG&;vJ381V#$J]< |a6]nԪ%yn 1}% ?ldF+|d$(eQLjIi9JCMy?OQJu^W#)b!X5>1)i=/Jq/ hZ閭9>q9'S޾Fz-<ΩLz4GQt/ϊ A%U#W5-9ii[M\*skaN 7P8eѽzq +~Q28L RHaod%u6y"::f ͞\a<|Jy j)OWƽ.:?kfOVc=N!Xɽp3ό#h3h۰C$b#h|>8(g2!*8f*_EzpJLE'$IhT,HnsKӨpq6?9efvk Pj-%8OpqbQ4&ݑz6a d)l4_=iҽOgH2{BeًfOXo}ohΚܶJ5>NcBKYO&QZhuTT:]QRwԩљ; #V<#H.bfCM~?[D#= ^\BM-' ^ۭ>Kl1/JL%1QA!6-GEgg?Mo6K5v''+q$Y89YGXbx%33a5_xV@)ߑS /nT5dl?X\iF {A33(*qd^>|Xr, -*P+ hY"lPC;ȏè u y@q_}Itv+LϨ!- e3hE%A)qٕ ͍d$nw;ZahE $$ !_y/ubGX:ЧPlʦ@4kV\kA:>ҳ"#rr~ +}𶔟GF!2Tz 2o5}B|B]t3%}^hX`ffX'혮[/ ~'U.iPK lY Apos.iconset/UT|Kgux PKlY$9SLMFpos.iconset/icon_256x256.pngUTzKgux PKlY@خLpos.iconset/icon_512x512.pngUT{Kgux PK lY*Ѻpos.iconset/icon_16x16@2x.pngUTyKgux PK lYpos.iconset/icon_32x32@2x.pngUT{Kgux PK lYipos.iconset/icon_16x16.pngUTyKgux PKlYVރpos.iconset/icon_512x512@2x.pngUT|Kgux PKlY@خΓpos.iconset/icon_256x256@2x.pngUT{Kgux PK lY*Ѻ>pos.iconset/icon_32x32.pngUTyKgux PKlY5Z陌##Epos.iconset/icon_128x128.pngUTzKgux PKlY$9SLMipos.iconset/icon_128x128@2x.pngUTzKgux PK -qsurvex-1.4.17/lib/icons/svx.png0000644000175000017500000000237614525274540012050 PNG  IHDR szzbKGDIDATxŗmlSeڮcqL[%30Fa 25S^FR!%oƐL_q]X:@EAatA_n[ko_ #{\ QX, ۷kR5ՍJFHJ15@6Պ Xִ,KDzX,,ʽYXnWX,(ʽ&$,˪6WUUL&****J@ V٬,"ZR+DHIIB5Aػ c=׷֭[).YosCAg<Hśa$IԬ}rmpDV\Jy -[FI`̔j&lDѫqR]o] /2I øp8L}Oij D7CΝQ@?8{N}9Eu;NS9UMg׮zֽB ld/pqX%p&q?g$i:_p>f(r8^NO 73JnDw/A&`;|a!  sN8~r7!CWJK7@/:㘞AO)(T.xMtZ.^SOXѨ;[ھ;Ì~∨#S 5!&guJìl_<)G`~ktKDzxZLd1WUU!\}$XC pHss#E38OIBXݻ^*G2Y)SY׫^eҥulQV\ :e޼RVu,DQϒnOʐ].AVn`۶M455=2Sy4Gz5^˹n2JQ~>.Y:/Py3^̈́vr^tLMIUb^={ݿYY͍G>vD {os"5^bQa$@Z0]޺m8}b ';wyY;8m- TFī}HNZۋ"^X*WɈ;譸0;l83 bNȰcZǖ qoϟ^^^yjFLyG¤̪)aNh,) EW.qu@~,ii!V uπv 1maFJtAkf"003i"փN{7Mi%C^PXcv#A9?Z*IHr^c=ՀwU/iɸkڕw6qŐ 4 ώs5DP+-QNNN/J[m>(MpiˣUϒ_~ޕWzj8UxqAR\-wNS\t+W3ղyȱ=Ԫ0hugH<4]_f3 :fm$oWjYF=@m-/C R_??9?sW2 310WPXtn'l"O'9\]_3>y@ vw\<=ɍyy2O@02z70=l.Ai0+IVH&&&&)/w/nxo-[p"NF q6;^뚰2ᨩ#~xx_4J)Kȕ p|Ԩx%dP"hq d'7,w Eo;xS"`^t_Xt4Mƿ/ ٻ֟p{meC|!׿;gU6Qiژ@ӌ`՟6,?A̫:ֶ6pIv՝n/W&A'~fY kVm0ld9 LN&!`_['.Wp}&keU)Dk'v9JQm޲fN6"%FFwK98 RR\obtʴPG3 -VZ+*1R|ȰF} ɉR,Rn[Jr=;iЏ? |vI# pYܸPe|?6">~'wjEk|Z@ϟl;K!fQM‘[UR-,dx ?kW O8v^,vy}~QZ986֟JԜn*w6^*?+9A v.?0T(j$ Qqqd]5ԴI\_ڰdt*J䐂M E d$$(o޼ьW6&pLBUY*P_Iu4KiV/^~搶ȇG dY¤\3:"{KLBWN/([6PY"E3ڟX:}X_!x!aaֵH&ֵк,":|$\U!!!a B)]һmNo.#rO5l59~X2b~| 8QXKz!~FHQ0o`g@Tͦ= u@]WiiTX<\ 0q| ;+;>>&L"#K+NIJQC}1=(Yjzyp7s Z1[@.*&&[=C|wRlC(@.U;c*`cLYr"2em2'TMIMMMUI<RByO~Z8fLLLsgۣdJD/1&wl_ʈ)J?Ϗ2 afcDŮp LUM;Q޼]ݡب*V#i /TGq_CQ᪪*0VM0p9x?wr ̣|J[NrL㾻^CLE~W%Xq<(p4)+c+U Z(dK9]wH_b+x&^"ɑBI;K(6S@eW[la69F?gT7nOu0;*]*"d^gu1yeZ [Q EϭRH0wq#l$m3>Kt)y#I.~6!Ҷ00l,޺}p؟S=< Ñ]qs >m]Pfq϶~p׮gm)w,8 /)V[O2cJ[Z$~cDQD1P]]2 '7+>ibFGoj'ީnߴz'R/kt:R!xkg&V&ҨwOSPDxb;0#z&ҿfrq LlOAt#Z9>)f{j9gaσӤRhC]TJ Ŝ^Y(̰LGA@ ЦݿaV%Wz*'tTP_^`pv[<Ҹ+A~ dii c<p fD.9u#J'URU75S0廈O;h @¶=::mxF(2HPPQ)TGǿB]Wlp6qXjU$ HvY:s V3O¾}dbr¶?#P3V`+))OK6g֓|'[[()Ihjjv FG Z5⥼ ?p2~\$pL'}F ,Lh~-yI?pH;M% qW2VVlu_Ft˅ID>\]A4%nWlb,ŤGNa*\CC?H"""6YYʠB--|XCAϴ/f#GP5un$a^D<mXRd9y"x8[[,l9Ͼ xdJ,-/#P^78zOFe3*Jqy*̴VCĴ &O@aֽM/) y1~!zsmDfLpǯH:!_6@k ,*g֍&>_[_LdvV3I𺩢~<[`7ȏ;Ob}NtoSc WAwzIՄWW ɫQ/^r(޼QRQ ^/\)OO iT.ON )wg$ 4?c|&⋱x'6̭ ;@Ă-{0vi29IqﺄgށQ&Fő׏YaԐH !Pag|`rS3Jf"ΕkzfPDx{G@8/A;N8g;zVyV[Pex7Iys-$twҖ[;2DPf]GPB@ L Z0t ygay(o +UqQg] ;̀4 lPeY{__b+2*-<PPEBJJf:U~hGT|DHGZny(f=鬽A~[iM(Sן#J>iDŠ!#@:aagob=y)xi!fSI6E@X6:)0s6:&>l7c@܎ ;D2iN rV1mk 15)йVsǡ"̌x`ؼSዦU,ӥnN9P;uY3,(Bz`% =Q8.&rHSl,g 7$%`7s5j' WE`=;)&Y~~fe&'L8\۞dgdׄ53@Q>'3q<NM7ftaIXS4xɎ]Tb˗X>SX*'R{wy*LLzW< lF&WɳT a.ncy- D!1Ab#a]_q5vd,<DZd^A6W(-K~0|t1FQhOL$tPGD(@0Az(s)rק5G0~|ȖkVL "}uㆉgjһ:akAsT.2ǔPU,kyYn;?Bގ 9D řb1Z6pCl*rjzc-: sIHN)-堑"%إF믮#33WBAmc# 922׈փ33W 1>- $ӋDlzx]mwłg۠BZX[pQa&{=&  )/ӳZ'(` 0Ack&7*6-Ru\H_!D:ЏU6N&O+fEk х744{F%0Q3+NUtQZD\2ޠG"Cǣx[:OY5I5FX6AqZ ݬ011ZB9,hw38C;;#"WH$!5w"聻;8oʿ#؞VATh7eu+aK-I˔Yp_J/)2˼kG#qN_[_PC^Hupc~r0-b'INSHy o>dB7Ű L0fO1y?yW{x'V\S#MJ1"ngW]-46jjkGt3_y*TPf+ DAKKKDDAWA8VL04B T7F8dSwr ^LDs Qu vN;6z4^VHh<EB˰tSYXBˣSjKԗɑqq6"sd>Yl7Rի͘ߝ2j T!PdIɢkdLDDS]W.ׯٰY uWP'$P Ge#?EcH$|L"p~n-[؂I#LZ"ξ&)kVH ] nF4f?nWh"\r$(7n;=^BzM\]_w䀺]LV_>$ɮÃgYpN Meĉ TXАo|¬!77$2 #g?ѶuV<๐[Sd%5'ݧn,E ZaDJ__ɱ,`P~dVir 9 ͙DR(A4Gcp6Z)L"ْX0 x6ׯ|hWTszc{s'ϬCFn 3y\jrc_4tg5rWcB%MܚX4PrS!wqJXgۣΫ`,ˀn'˴P_t]l { cÿR\R-[*A,1wQ /c8W yC%4bBq=ШʎH1q¤Cݟ$;ʁ9N&&ѿۊucш^ZYG,{ 䡊#1#~pFq0Qcv$7Ǥ]R-G2εy gsZūNqvJ^i72z0=7(|A;8<¡0%YS'MS?$ '0z[Qa|nrl\b:0Z~Ka]o8ZnYPz _N`9w%3(l ""rEPYYe#a9PMUFd;l< 2tpqިnt,`Zr-)\D0DԸ?ds ΗS.fk~g[5t!:i08'ŐbbfE**!YPVDvw!f Ag;`D)wf"[wGJob"yMIhIZ)&l* ϶~{_Y?ߛГȯTREgf=}}=.kR؋tuɀ"6en-Ӎb}3f4 zugV^fk'zjK}'AQp8j V\ g{$=B5!aa >.<ͬI˝ט>>߆vxlg;I4g0$`=5d8weZL:uwB_^>L{# [;`w^fveon}e~\KJ*YRKxnތk0p#c:c=5jiai綥Y z'uT?E{Vg:ؒ8=CFѫG/{~_MH<"%+*uD瑚4 5 j 5I'#5wHUfb'EL}@VV/Is&N-MێA=%CwRSԲ"K7O6"bcyy:қ؛L+RY꾹# o@NYqq~2eȢ/QIe>`/mhQn]RܟΥ%Θad;kj{@v-f t"^Z:YUU6 j6n2=ȧRys&W/'/Y1eW=gR9{6= 831+\3잨 /7A&t .N]ȵ9%d(v }1=QRVY ys0K/B`c %'DmD\Xлthcús<))I}1(l5hynf]P9p"}rl"QӘ?(UiP~}ڐ]'\9!muze4ӧ0NKweKL2>}n22y#l@7"T(<,z2O_ރ+ :-2+-#ʹ  ( fy59ƴg'!ACLw=Zf?:Jl UN,()ojmZp ~ٲuR}>zJo3]BCcQA#=O*X8ZbkzE3٧A^vm(&AQ[NHBB̮Gl1>vٛLIb'qFcSSLw0H :Щ=9"H+>kjAnT4>mf!Q+Y==IQ$T~7HK hx_*gѵpMJ~ З ?ViASg3k;(<11" ~[0\ 3>A`Ao#z)͈,i="Q)Y;J - FTp+deeђ!l_ydD b[+Чd&%ۙ=P>{&b|}ѫ>iL!J;ä|X6JR"q6(j`&Bu#d(UT?ϓ^<u@\ fE:U5X l<޿I:. }_hnn>YR0SG4 2AR#foȓe+v\KL&CAx'-Mep`KK彠(PWfzm@ nJv&RۦР)lBS( sչ3r>76V1?<:3xaz둘Ku聥/ bS{6*R ˳rp{4cCI!Ui?jyEK49ɢ;[YH!x{:$$$Ft{K3E4Yg#njX,R89iOu)"|bcccݿE+Ú*6O^NAtbk4Y#W%_SY+矃lMџxὟsUlVz}Q̮L!>`Z9Uht$(@dĮ?^ѹ#IѐNB b73*?9d!GQ, 0gN,̄MAD̤E_}FK $}\ZWa3]:5#!2Ik^\9|I~y*'ި8 t9 sh "v<0@oI5HxF Ƹ??R?+D gUA/S&`M8$Q[t`&zJ_Iek`XlrfE)5u4ODքߥobAYpn.TVFʊS=Gq|r.og*jj+'"Ʊ( .ЙkB?Z=4PH2L< &dV\>AXοadT`tboz|{/zj}k'}n|L!s4ghw%\) Ȭ 霢*BC]0'1xOK!žOLI~9w'c^ ̈́\ßf*IzzuRn}GDgFBBd҂LLL )o6oTDU3>ˆL {  m7gN^PA2`ߌxI"/g sFڷuVv3_N(@~Sʕ.ү#1 MOG Ҽ"N<2y!IJhyZ~}9xog{L6onQ ttuh_ 2]}/fIT2f@I =(E|DbkZj+! bv:wܳyW.Q j{vSIeZq )b_UnbT lrc:EK'}Tpq lT7 t |}"hwf[J*ox0iS cӭσn깉ұҭϭUq0Umlpt߿?N!:K2QĐf!ص̘D {֑׈xGY(iQ@TF.q/抺 ·,6V%j"n=-A1d|329͉.gF$#%ò`=]°U)|{el5",. C$[^g,#F!W3ԪtIKFwvƼ(ٴDuෛXJzlhP4' +}z{>/SкX_뵊J-'[e;.NNɡ'CjG_K<{8wc{lUNNYV2%}QfSvMr{ F߻Y;J3hNNdj}6cw؎nm/w-9e|J-'` eyJheyxxU}h ({&k,8/WX ɰg"yb"b?gȅ:kuڵ =L.B6]Qs6K)[h;!׀tf-Η^DWz[Zu[N@Rh<}ChWpH)% QBnZo:!Lo2r~bC.W5  m`UK1֋CH&jhhyaqf~ExD~;.Y>0Ku^%[ڤ̰z=lg koYX_D;~a*!X9RN]=(Foͣ"^T:^NI(4[%FH=GDڜ~ҟUW'==ꔓڏv{z<0oTR82>\e!-Hԁ<4W숳Ip8JA+8aVTHZ9rȏ AUR3/oPBccp+389Se*/7?@ɞv@ZqpY;dYƸd"Ft```Sθ+S!(%H 6DOԹLW$`  QȐc9l1?6l'CO@F0qq*)`Z[<#ajQqpJpZ1+O;k v-tu~*7>(߆x^N`%.;(! RZeLJ;q]au5DGfEҮRrk*D~h "npv笟B1"[%O"+6N Z˔Ui0t "#Be&}O[ʕbam;?Њ15=oہU7ޛ)K\zV70:1ь㨔,@dnZJ,ؐ?XXuuIHJʚaxq@U!WU^:/3'ř,,yzV} 0'|x9T$d]oߤx! &Z[nFV"BD m -3EJ"XWf;_4ZTZm ɖ? |hd:!T3 `kpfB+?q'@bՉh]iH~ͯo?97F7#+_ O['GzEsYkkO#srrq(X؉]HP;`/:1SȽYP&B6dg=wfNuLS‚ I%'R4zAGfKl|$+"Q?L9OPe櫫ޣ`o `mD>G(ML67&Ky#(pk>8Z9>_.Z/ 6.#jk %Z6 Ҟ2cJavA<2>iEFӇƯ_ݏ $ZuݥWԈ M$Q~ [:e"}~w*4lƃ8Ԝ#+x0*Iq:]! Ѫ:rg8?Fbg0:BĕAEOZGAV|)|25 ϑA~F04tcVVLuaEPTg/GsD;ѯ]=Ed5NxҬcY2NYMV+9B&&R#wIdPF5JJk-s:z+i{++6ı,).COW/:rJJ.K z+X@%ۛoʒ7Hʅ&5/c23?(љ(3,>]T'Z'SE ,ިĤ|joY vŊ Qv TBW5_gvڕ:.c)\,] wB5WCU}Qf  \D=;<0)n J¬ij-l*kbPa< ^*G4_M6ˈD}`}'ϓg Yv R(P(b[Ѿ0o{{;loD}<}uYw̐Vv'0!*Y?oJ KF#y` \t#3=+ح{[6c7xuݓ/odWV3,E55|#9RY'{}@s?şrE"++땘K[E|a>lJ߃<ܞ{* Dx_m)Yt bp8`BfamJn^&6p;N&@ C[eCBD W˻  օR'?~]>Bp`%Zr)F$czg|!R-$nąqWiPF`A6|fTVJ5bvX>磺7ǑWT4 $ل i8Pt0<} zѦJ-)Ml⇚xRP5wkZA7PQjWn~a /Q1.Vscq&.4lrC</! Eug|wVGxMΫWAɨj( CwORL'+ vAt$`q(.HWtpDLWՕ -[J]߈*Ci61P1t+L[?9;pHAU '!YѷGywL$^{&&_b+mF]I8ۜCl8 5Pj$`̷xVɭ{`ɜix\lܣe?ɟZ4!G918#CR |9p*ida@<}X>6މI3) }VD5O4 h//w!G +>KKm8Q'/Z,0 ߜ0s\ݝ#*rs,ܟu\|6V7G(]Bڍ] O>GGt贌ա.JNiSUk W|WGԍ0('.DLv=+-h`V"|q8ʼn6Kڏ Ts,*} pidzoMJɰt?xN[3be%J>6[\ֹ@0Vq%)rgzIrxyD8_Я Fc,}F2 Bm|AVt0T[Jv8>U* .{}hc7\hV KB5pևI;ڬZ9蔭cmvW5r*Y! o>L`LL:]BX nМmSUz&d$<忿CvxuclLƆ$p7Ui1ccJ{ ="{d3< ouFin%-Ily_4 V$ 1zԜ}m{-oYD  **#k/VVfyg+dBeo@=nt22#.+}'#ֳ[~5z bwb#liOJGGfqT'.C9N5^;__I Is''DϮxk}7HZo'G\>%ӤΌf aCyfu5@q%Fz:Ewu+g88ʳ.F_ ~70!Fƅj:>]o9Rj_ncvY]dvx$~$hs<85MWGt7wܛq-9:_L2ЊthYYT';4 ZXiAoxjcN q:yH_u‹m@FZMڊhHaBjq3C!=>wqYkG{AC]dpI3Z ڦDJ<>J¿[!jNkžCA` 4"d(TAߖ0tV+[G{urr'ڇ( 3sbvƑ#_eD5֏ $@ % JĔYǨ"P881I]Ba:l9rgL¼v/±q׃G+ިjkNTvul :MOCՀ/:MA!Z;ڷ?+!F+ ?bC)]g.cQɊOr(iZzQ5[G M"Eܬ_ m`A)?{O&pmć{ UWcJ_{`aV0]5){"F"H?I<}$S$Ϳ Ԓ8M O`!9UK]o~~ǩEfr1Y9X] SLtE fI5a<{]Q- WěTT;r@5]bssU4[&a\b)XKx9R[&rwb?TA鈑"R7cyo;>8uo %!#gWüOy**' &||IAcgU:F"'Oq3\xxf?FuJLt;: ] gnr6Q J`URS +/\l1_f:mx@KJaYZ K1MC?5eH2PiMz|vEaa$a!Uzn]~T_g!D\osoR_zjz[FV2Ht?k~7syQ!JGآU]qϛMFm6 ԪAjx5ݻ}.e|Kgt>"BE39~Kh(X:|P\Ԥ*pvp6;hrth/P >?rm4秊2 Bڅ^\u4i_r7d 9yCOÎ0kuu1IaΪ\%D #oWk__%던@a#qK<9>7YH@R??(YPWxuڟP:8vɲl T.m{914 @ѰOo7ΣeN1#{C*؃cۘmr/4%E/m3>a*jttf*WXwk .eBBbҺz8g8ZyX<<↑2P>pj81 O|p3l6AE#X_:n{;♞ rH*֗x16LjՊ#gny/] :j3:UIܜBXY2F.ұ) QUS @Qj&9xorotd6=B9,)qJukhFtKӀ".hddP ZxO?Qd|HݖRҳڟd31DAEUO:#'C4OqBysX81(ЛAl*)Լ\(mMDӰP&Z28rf%y!.94*͖ik!:] Śt13UƄy>&%ć $aE`̹ &tvliد=+ۮϊoknc;[hoieh6],7z.ɱ5CM1:rj.W&~O%4^TޱZe^xu_P@z7ӇV7V K^r\񌚻+54⍲V3:LW'J\J1)fP$ۅqK+a孢J.M7bʬKCEE?6.9AcʵGr$CUջ)F.>)?Ɛ ta/ƌ}Lͽrl|S~;963!cbQγV]NխmgJfJ5=y @B "}8D`vYW?驓Pz1,}0PӋw.h='[o\_e6^o7Ye3r{PVte joڍFJlG_vs+^E_ne{i9G I"EfAY?EH0k1jhHvW†mT}Zg v_]F'2z O`zҪ@a6[J /|[<\I\L¼~R4 Yv]t|n'HYLX΀Pâ)-q -UFY˂vOHM^~>d{{}o&!΂Сw*= rЙXLTG`ڴ))tEv\Ҧ}7!o#x5x|4&|#Uhq5ay].-Ȱ(NDbp4ؠ [!3N$ZjkRV zӵTK! ۞*-#Xn Q,b \-AF"_==:;;?T Ud 9F7+JGգL\eS-l)+ S3Ϸ~9fcF;$T͉tsX_03VI]5E=~eЭȝNS8F"SkMlUcFPX-†|.+=((;o ,H163O{ѯ;{A|zii齩"L RG_kj80|/%>6Tgqyw_t[<<~Qw-,\)*A1~UKKKk7e#$$E&SHA^av[ֲ PB, nMs_t{փzjpdas*`V'6KcZC ƔD5QmVrut,i}x]Q uD1ga59`, |xK{9#9A}r{=8Q>Z_{HgdЀG3sN˙ :&\̔#RBҭ'Fp8oHs/xw0믦sҔ_OnĬ!F0Mܞ2Ul8,-nֲ_{{yy7/G8[-gNXN'j:ËyFClVԂTjL[@`@Z}Yqqu irq~oR}[ Y x!lNb^K iPӢfe(:;|jE? ݒĪ-W@ >cl#ʯGd67A455'UO)-B $5( ,dլ#/l6(Sm푏ʶQⵦ.C5٘Ӯ{:j ՔSS<@B] Vc 1kR`^Phk"raoypŲB8njǀ4Cj?(RoU]^euXC?vjDÓs"{)u_v.ux]CDh;('-pࠈNcE܏{~yz5b2_Tg1zį̍w3ĉK3sND _dHw".Δic"10?=e@~9j.O> Xu<Ƙe Dxr*Ҩ_Y|_ VFBן":)MGRS&''T̊ ָ4g{sLqU|444D[eg|:(H6TY"G5r)~_~vX%%.##*TpcFHZ\ U@ yU|R 'C'!2WZKnwl"4PHXͭQD*0Ḧ2bα?#?Wt%g>Yxc.x]E>4v"E|+|3r3ZF.Iײr @cq?Ks0XbJ$IAɑ"*,{Ӧ1N=E-yÐ1xDF-N\g {j.^%EeZ,J &ݐE W*8'|ɇLgu#M\B,>xp.GaL"6W,ݟ@ȂHIvC!0JۯNjKN$މ%rp ʛIEzZs FFƳ~bGaO!2nqc}L>-)C/y0Ao5MO)Xe4vl_4s iqsҒzuց'-f@;bY>^LWh{@hvr| ?bgtQSu`v,Kj~~ \ k(b'ȣuY[_`3<29^& mDJMCAZN NOg!NL޶5b]'["4saҠ@\W7\/shG)*jZ.5:q@nqVfRZZI,^Usĵ6qT nVDĒ0zv֑LDf}7t[-EO9FCC^ñ#)rj_ а]@^<U [SIaCw0Ah-poR ըY9н+ *:#Z n#O3R7б \O7䉵+ll'j h(1&ihl&5`WLZh5;MVp%Za?j5GBy_ x^I,KQuQk8Þ}e-N#*##}&\l4O;@']A `ҿ4'*W 4la hug^zHTo'ҡ LEhU&#s#x*dixΝiKKKaB'?4k;M,\"$q;Y W̓ zaԖ0Yp@ >,Gx: 4Z"5"Y_n?2 x#7+)wp)mW6nLu#Wt5kOARGyN-(AZҥӔ#K3Ҙ%ͧD&m<-((c48'QhӲƵ.1Y 87Ɨ0οəR x`.ɣг.ǘkd ]ҏxvȋVƎk>4aSHaC5?#"_ )!U%{O%;}V:kАnDnUb[*q0ZWNq`' ^ ޘ g(tiNƋƝGK] 9Zs&}v\P M\MSi E;5<ѠJnښV̞ɟWȠav)J뉀A8q0ȰdY2 q"b7nVd"<^vs_ő~[ѯko*҄m ZK /YDm#C`8|pn64qʻDEl^癌pF놯+X7HhMCw(̓Z)QġiI}o5[SGޫx0 wDŽyAe[WiD=,L/r%#A,yIN(YMݍz_[@wAUX_8TN *W(ZK|tتk"N?>^hbq6aj8sΛ%wXVy6tXـ9ݧU*b6lVϢ@EOL+z _ æ)\@egc|MꥒWwREiA^\+]]2T^vF{%d9Fpg\o yC6@QS ]x)*<ؚ곁浿K+$$ӋW b667gUF 6 0p(7X"igav"  N-9:P"f᭻{U|crZUgWc12 ;6 ê3.uL3`8v<*xH{fnSv}f4/9,ź&T߆`϶ Q_`֤`|:Rlw]cw1 rRj0U{kƏ?4_QoTi@Nꙛ1f*5r?زFY//~&II!]Htٲ]'25֘LS/&UPb*ây * N&\D xyj K L3ugmΟbv8 d-rUΈdˆ`W4V$e5?M~}7M2!bG~/s' mdY])Ӆ08Xe?2@UIe!^ QD1iY_ BBR]\wbfolWLf%@ @\tmÖȼ^V̈!=T"fC+;oG@yejnJʳ*rOr?xď(I:XidiU1mFU=h(8P!P@0Fb(} T6J'Sp¢7QB5u*|<}ԫ) ݐ uË0AʆJd'\ܤ7SVckaPwӮ F NBB"~K}ƊdfqAcD}K)%N1B{'d'f c6:劜 > 0n]{yi&po]ŕG?}?UOF! 6\o_) ʡaz=΀{s\2H/bBK󆚅*Y" cQUV}=-/:79<S3v5uuUaFVV^#;2e.\)aUX$ c5 .wڶN|ڪ D&$ys{t&X:rjџ6a3 x~_#kAXinb)W8wCim_/"#*Ġ:NèBj}M*ЁݾD̒N׹K6EGFF:$dg\G@Hyq_0/F\D朻'K֕v-"67xO z^ÂSJ2{5c #߽Q Ò҇܀|llc(ߓ!pSY;vG? R l;?,k ;ĂÂpb>?]\葌jCm_,X~ B$ eeڧ 9 }n zm-nO Jϑ5$ 𢡊 3Zwe8p$\?\%:xO7I "jZ'X#K xjxsw4@ 4\hu@88Ar8pzȄ6gmrzzD{ˇݛ{'h`ԆEtZg4`ݧdaGhrQPï vOV8SJ>[뀽kC2ӽ 7iC3׾40@r+[ A5c)9BB5"QG0P$ҳtK:蘊2( :@i(pܷIu @-5vɬ"@P`}ΗO6Phbo*TR쥘go :ar!pddH=r.x|!HJA"J!%tN5JɯO1ȉEbyj~dFOKkgv`}F YS+,xSZZo8Éxl)>P)򰰰C@ОqYYvs * g#5/Uʂ_R'H: (!?XgӜm ".-`th 3G52䤪zpfZZ`j PJ 44D*8@{Qo/5u ABL{3Mn>A_(͠$O#.W*P< H,gNKG.3B7.oP¥Yj7 n+rl7s z`IVqA>ZzO(J+ݺ c D-rPBl5I71M!.! >d\1.B[\x\Lg'AI41|k[tlSG t^^$,fkq) `!(?>gЀ\ $"w9rhۅQ@N'Bnlx{'ۚ;H!k*>k`@(uErt8~l%g*o MEX%gԁu>őӵN$UUن(gaMhs~EJ s0X|q'w r?PDbDf|>nԎ_·䯕V|7x}5% 2A]<bn~J(ŨŠ(Ye޺SE"u9gT-mvٖ<_DDlffՕo~3OX ]2OeHI'/^e|$dw>U0$\x.,ȱr%!|٬ Y 6=\'!F#D qܓ"W(iuզ-i5伥㐁ï\{#vzHڈAN/ÉL'K^:7/ 2OG))D홫w\d Pf[q '&lQs,ͦY󩹺Jp\P-K慒>1ϚJlvLpiԳL, DU].3G>WVildn%fW*HmIw#!%Π,)/UTv^KW'@ ``BIPq"L\!SNe&Ͱڭ_E~|ƚ7RR|@|'T(3xҸ%PVeCGAlvXn~ ZBG oߧro&Y947,fnYq|7Qb!r4AOW8IP8n^5'2vxaK7fsOETL.1 tgj)†ό )>{XGvhxo64z1rqyvOO ˖9J*%3o\>}x|Rq,\NC7:ё:^ `Ol|'<"n;PC?|"*om]mwk)S̐i(,wMeU{aϳ5ӐOpkD8N`$wBK%T zܳsarMJڬSU^v~ۋ|op@m"6P.Afȡ.uFHȥ5;> ޫe84#.;^P޶wjmc̯fR&VyB_J }`s]& aoS |Vc۬1BmMO̿(EbPySjrl^ ޣbpbonPjUU].U+V 0B_ u6+C ^9/(uPབVp21iyhԌ9ݞ%ACyg23cKppbfCO`ez;Bx h0Tx^AT \1"uh/6F(H9=OwbNl?~)=,Z EZJObj͡gP;C&d"? iLˡ:2Q- [rԼ/ŧآ^,kjb#ߢ bdkNo*>6DV=U}XY'RQ!/ ;[no6:}wTG4\22/({EƻPCo;R,fD<Ϥ U#΢v#21.o^K02Lۿxz Bn/;YFfYTDzo~3/:O@ZpG6d13&VļFLUkAOIBAϪ@m |jQ &;!#L]7?/|*9KAaa"@GM긞[]!gDgIML=匔/Z_9h8uՉnþeDJD7 u$;#ikjib:)d_`d})xm8(۶dgK"CB&##PTg^B~8ܓqC+wUhBmhX2'Q90>I fV94w<t]@`u9G}уdP5>QWVW#=ijʰ%QbؠA$)Tq9zTJtWi؍w{o$0 ETıwA{dmmHLk6N1̊ I9S62k= Kc0sb{"ay`O?pn]7 g.=K&q!ۃI5X(6E,19?]~_b&=u~}Wl*D?Ds꽋"<LD,o/|SXo> }wF9oIrtGl7nyn^7º+ֽ*7jӼ āl~$)p{@Ϧ!|]/1&6c8}U5}VH| q{b0r1B^Sy؀AlbK>N9͛e7sغls!lSx6#2T a+^p qo"@*3إʌ*N!/ %MkNJM/PH),_Tci^6>Y 7hlUiROBFg3nITZN_񩘘PZ]JjRa [m-P/{:Y(W_Esi'`# }-`VrJק `Lُ֍Fw4,OjUP)-WLzLvN)CcWHxe1*,[=ߐLl7[/a\ElBQ0sۅ ,*7&<1Ȅ𘴌uHU|*~vixlc:SB#}4_{~5Q@M%~c0AcGq{E@۴{1n惒ċK8zGI E/ٝBAĠ?q|i@`Ne-yA@!62=YR役*r2[4c*r}CAڳu]JVv5u7q'.7|8r[ɰ- v wp- >.=-Qz+]}M4n}EF33a;>J&!K*]л3ޭ_xs*VS |jOeDKtHS0F&D#tvLUDt|`{W8c­-K.vޘz5^ 3ssrY"2-p!=q(`oI JiNEԺjO"dK91hcx! 壴 i!{IK@pkϢc׈VhY<j/_݈U .(exuNW??QF_:_gy%'#Q9~ Vesl"By<(04DdpQY4l3QxU/TNJ ]<"B| B$Pm>/KA.6KA $ |SBNN[m.QZ- J:5V }WGOxJC t\WuYռC=Zt"$[Q>43 ð͓uwbkD6_ kNeZCKMCgNbw.}YE9òV6tp ?P|Ɔs=:ڙӜs"PÉc{RyY[/xF40:!\s3'~# ˋa77[Ϟ&24>՜BsΫ-s%;% l apT[85 %M)j-v=c> ֎i32涅^FsZL=]bz,ҽ{isqt)M~A哚aRc/.\`zBk$rN3[.~ccEzya{:~kUk" ,ecZa6Q &WbYDݵ|o0 \n&  ޥ5zq9z~wْ|Ɍ6Sk2^C}zq6vX"O,m 4 x*zq0g10+q1i54u2%vX8lhcPPZ^*4;v"NeWWI||?[8!t.QΝ A# :xYjZiK sj91 |b@| jHrwaw|bl@r2&rp~ "vŀUDR&;2^gjBAaRaӖḢ nQ61y嬅;̞yB_E >-yOLj2]Ϳ6hvWWk=[mRm>{K0wJ qΔH:lj-`[_J[ MxWu #c b2!B"J ­wzmwjnc6p|J$y\śZ˝UFK~7ˍgݨfs]~hvu\':lTdV 8yž5+mkd:{l#l-AA,LD Q^ods@Mッun[,??U9#6^V]E@p6Sv(QIAHҌF8#p>0>u&\`x%Ox˥|9o+ŃAm5N k^Eeu,oaLZ5*|WS҂si\ \jj`?*1ص?*GZP v ͏,F`'B\$8` ~ |PLΘh~cC]kiA`nDpmB}&#t~+zϭ@l~<|Fxp0Z|alV(˱n+m k;/aNcFW_B~1prt@2A?>,|ʲJųu@y"ݓlRVMSdONcǽB W4>һcU/\a9Dh;#hU}UL)P$uU7R k3|8Ӕ&=<j/FCsV$%7A1i2{[O{Pjj(s48 0vobMH,б xN'V'!RR3O@ [qkg}$ʑZ ,"CF>-F"oʋBkL"`vwaG M4?jD} o?5wO%MTyFِ5Geؼݔۧܟ3ᮗ]$i`k:;m#onBqQ #_y?>ܞߞ0pev<5f~W|C ^*,Um.+_ )DW!b`Dn.+wE6JUC /=<x bs%YL 3%@uً'ܭO1a=}Qxv:GxL*$Aj Tɂ<i)1@'-j#aˤpH#O#q~l( \|xeѲb1^GA-ں?yΖ\;e ft2>>l3kox -`cm(˒B෵h< FG%q; }|if5OIEWqʇ/wa":QȂ ̐ktGjߕO<#bX3XŸPɽ90dNRXP-]x+[on.Doix;I`)P_U~>ƇZk7G(rn{_(&_ۗSgbT'a9#z{ tg+t8L{%A?T{|(OD&!ln![(si1JfJNbѫC(=Y0k~?͇o`==9L]D11dJ甔៺E,hhBOB6 \i{]]OSfDQQ۠Oa3U4 .)p^'F~ZsKJhWKnB͵yCDPjn'K@` ^ OP1 ægaׯF][tL1xg*V~)A3[~ ~|q i%@t}/{t COWrcV"_VGNT8 @%/mo !In?SUk3 B=*lGm%<J6V%oNoVg2C$gOJᶙ$f3Ni5SN=HRX<]՗|~O՟g;.4z-C_b|xIn?䎻 Er=tԐ78oB~X GǶF]A{+m-,͜ƾm[M6<J[2ΛU&ێϳMM:U2^,/`&D3rlwnqkA$۸bjpvCN@ުvbz@n!G#~7:qL k>w0MяUV*So-'zf\ՅI"J#̣N ǛETTQ7G7G)&;ZRawb9JCmќ=?MTA84D6T0s38vɆ+ٛv!jbD!8֊ MsEg -06)] „r I`W;mrnxXGco xLyqb0vu YoV #>y: Ŀyyo~jO7 ,s>49 kĹT@ħZk U@CassuX4XJm:p]^ERU@n|xP"B;_ဥG1?~xjJXau46C#j.lyiiS[ڶBdO斖a~މkvdXWUf Sx|wNkL'yĤ$NjUݤ Yygr\E]'`kV~KA3 b Jao3UHNMK "Hp8v]~Hǻi> j%}]æW?0$k/* r=i>yR.Qw-9k+2ϥ]-@-nY |uv]ǩ!a߳-vwKa555 ofʒK(7\fP >:V𢠠ݻJg*X7T >$kP)ҍF%b2k|5c]ٛ$&Çb£m6gRF]y4xbs 9kfGj?񫃅suu_ QMBģZxr0Ɲ_li]W;nӐ3IHrQ`S$Xtbcz.S dddQu mmsZSD;t9RJWcXoFW䢦:&!zFY[DeO/-=8Iө#Z0٢CɍNĐO{L%ՋŐE_PTjdvw}s@ j xiq}HFчa KCA#[ܕ:T3r/5p?8 j;=M)l "4pc{' U!eBII2wgo}E ]>Mf~RdQwjKTdMċ\  %1)!@p=f0&%&uwwc]X pNjB|R@uv'n-#E8H=S,]/mNC666؜22Xv˞~Bip`@PMc &Sܕ*Ql{Ǥ%gq5$c^Es:U|,XGM%ƕݻGUq̎$6D@@`|wM,EIPP[a36`}k(Ar<ɰ&?{waҨ#=>qbkH#;6⯾v㾟RMseZ8g LaUUw̆|oM9MK rD xneyf3jMumd=&.Y׶ 0t2ѭO70ST((&7 #mcVkCʊc;6/M}@Cv$%]9JK5qG0ze x~eJς8!%D0BBB*IsS+;7C wvA+7n>a5q^V\\|oQ 4_Hbxޕj#lxxi4(1Ʉ:[.NK̎`Rc/[|2^YTD:1jYBOHO'MeQ]po^d|NkP .ԲKKʾ֖[D8 t"Bѧ;cqOVyځlҥ"[l` *%_`9SKRRЀ&XYfz}͘mKsJ D&:.!)ٖd xƟDBBdȓɵ6zV/0RڻxM N VF/?-lD [/v֬Oc8c > ٤LMv ?aļKN|ӇNҮF]\jC&ZӞDFM :eْ,Q<4RP^vnbbȋ!D\/1hYQؖ`P_^:l}GasN%%x/_ta".&Fgʴq<^}Z|k_<-qc+'g _Q T;D^ݍLUsJSa 'fbn&!!m~=ZjJЛW' M+HgʊCqb7 dYcDU_QG?`K?WkĥGa ;Ai/Rߔ{FF y=,4< 7MNȚ)LƮq#Нet"޴T $ڻ~|% MCUF%H: D8??_.%J-O&0怿&zgu{ߜl6q9r("po-A^<$de6 <ϩHHIoJjP~;@/y}3n59,읹ө^)**z48,Kvxx3K"I8~7F()ztpX/):95a7v[ bu\I1jnptl7v҅p/as=rXVh(z/2 bkV^JsݥPQ+^<KK$>Aźt=NOWڜl"#F(Uu%@ND8]'\jvGeee^'Sx$+Ev`~"B<''2(=*8 '$mvDw``$yѱ_ww]}}lkB DȘHhZC7Y5*xDD-֛7Z;шlbq/vuuitsyco5p*ПQ4̫=ck@٩J^\\M1O"D ! )sI~1~8Ұmoߴ ] Z ?c91mJŤYw2#q{~:Vʛ, 1EDD]:,--o=NY&zZ< <N!pj\%m/9 IlF8rxEhDR w&  o/ID|F754g``r b|zd!cȷV?5t*8~^2nuWTC.f.?.׶'E iב'yO_^\^Z-.&0*8#C$2Ŕ1JȐApp=ewywW\w ph!(&`<΀gV$P!lllKm>ɶ+j4L*ItiB1&'Ö5p㈞gf'L,$ jb3GI鵣b ~Hrrr4\#IjL 1~?$Մݼk2>l<\=_$ n@AAl{<`X@.ӧq=b n.glmӌ,܌'##UvLcב666pV-'NAZzWiBB 1`߅>>0] b7]?LsrQ[-l$74njХ'!Ou/n1$Ѿ&!۳.mxڛ"D[AtMdNatMpo;Ρ^th%&Z_jC?&4\K5J$X)6-ޜm@^`WqF`5{``i%2E9F eI.緝tF)7Ԁ-j}Y0hKI6A|*64MMW~H 4i Py$ S;?V݆>A/Uy b m ߯Q @>Cުh }}tsiǥ ZM93'7~dKZZX5%;M)\=z"MCQ3GpWlV2|. Si];F?0 eT|fffOXr3OnNW%kWb}}WIn|F ~dB $M7NF$&t| ={P-sm_ ­P|a/SwW[utE7C{;@1{< w9/7M?//0))R?,=\]%==lLК1@1$$Y3<<쟙r&^4b/Mɂs܅!u6v(l$OUt~;bK;IP1-UX%v7:C+y`Yppv_}FG7^f !$%;k|Kƒ5@1:~}wؚ1%"kb >G`UENoxK~\DWJ>XP^Tr  j Xn~K}沢989nRpQ^p_|km>]0<5Ac?.E~۾50Qn~xTH5"BIR? m> JN RC1{#Ӵۅj+ 3k{pIjwwC߰vU38Ձ@)e1'D;TAVU+ gf9ʽ}o=!Z6 H ֤s} *pp>WȾaR&%_'}IAWWVNb%%' ]@z@𘴶CԍeAhnnrORhaZBTAY?"4S #|$"F?FVy!//_ԨX# ]vwRG[^̕Y8&2eNfǹ(2xL6|ú:ؗ%k7v䳓6Aؽi!5_8v@[߅FetGqqA""R"h ߥ~c6ycc q߱;Ijc~dta-^||wky&z;7~c甮5'}y5-~k\1hti.:0nhjkp\ "Ğ {Y}G`NSm@2~C%[)"*M0iϐε3/r-^O$ h2b/" $sBK5w!(Q]k@˛"vF+_+p- odbC. ('hpd,YW=p3xE-TFpqiSg"-NWQvyvVJí M"OH_-NpijgkRjo Z}4-ra0XqE&JnHK1|QHg4bx(~RÔU[4!`ڱ4=Zaױqlj1Q4(@}7$ 6]DwPXcsv$s$P? #b:' Cnl=ο !4h {aI!܊@r 3ɊzZNao,R0J+|a`X,ZKsW%7ы؄^͖";n$NP< uߘPs8C0\MIݱǻ|)IawI>1Qߩ8 .KPM˥J4j^bV%hicYʸ9Oޒ; =o @@cKs]9ߴʝ1 '\ߟ߇`ycAQ a{ް#hžW@YV2pVv%ϸk|gׯwf*RS͒m?)B^kN|Y do1C"t* 7&si?^by#}hJDI[CPSStn :4 qq X-}_9=_wX5@ėѼ?EͨV%gyCw.7JQ .7-q !Y!ũs)5-pDC邲W;<|5_QnvW&'qnNX| ]`m<-hQ>]nKmo0??c`U>Q.7^[O|9(_$rݝTU;핝QWdtס !u4"M/70oIT"[t#U`xF[ZA:P9.Q14)W֋yU=qIZWl)uRXwknGBٞ\/2 rt:GPЂ=\g~z]Z1w . qqG@u4@OфՕl,mpez۴%z`WЂ4rFƫ.^d!+X/AuY#\t ;ݍ`(}KZ\hV7vU1()^E[ysioWb>%.\N [::Ρp,\f@qiɁ@_ #ojnK|T)O &wfn|e|lц@ûlL b){e,טͷ$gibC1ӳf|J S3}J$= Γ)z~N#)sPeA'^ѻSȉBP8"9烧@>l'3=(&uz8*q9ILGC#||{Jrp3L7A#XD*?0pRF* ;ҚQZٕ-c Y^%5\p{/3rK *s֛ribӇU~u\e|%' paO(ۙ @fǡ4"10xzrw^'C޳ NN;?Ǵ/vL .G=9)g(fL!/RR8®l{Ȧc{fA'τ *YV [ae ss,l"006!PD&Ls(֚,rQm7g.+{DFB%ƖF*#跫/>+m ʼc+d0:U_e<_oα#ņ*r3urg(I`Ka!Cdt#}xGA6rvX%10^7/U%M]>h3JS>gcZ md{}ܷs,[lHn"x;\ύTиQ>}ےN2Z A]#4ةz777g߯zJ񳖿'4/NHRZD@:.kuaR#ۛ;$ ~~̸ FrLa;/-%k~E7IbAb1aE@8uz>٠O$C qaM,մ(Oxkzd-|kB}3 `'Ӵ6dMGmas'dBa6Sv2E~j$${Ny~D?b (HeV1 *GMnH`HrB& jl…S͟ppM78(W縚 ~txq[ZQ!&&Ԉ 353K ߫bP2_کHn$"~슣~~\qyj|yM)\cKY{0d=9'.N)mt(Jr_{TɄ׎kzND.b_76pD>d@+Jp8u^xB*X2GPsGG2l9Z+ -+%vKcČ hj@@g3#33{Ϙ Dh_moPٿec# sO"~繓̫:kWh=a߿M 9> H`%xo,򎮻IŅV$&8;l7[D>}UY-Dez} I+Q ;L7LLL | OQ{%B~p^n3>sJȺFaNjtAAsz3T< KC  Q$F0$~n~Ҟ(11 :]~*}񂈝յ '8WDאaOGWl}9c9"L| }~w~}A ' QOH8F% >2$I\2 l\ͺmJ֭׏r>T@錤1-w|51A(h_?#nIѱSP ZBKKmvv 2r.kDsjFWUq p Bӵ%It'.*(&n|/)dEv2u$44D9pMOT7n)@HmHFf|(ߙa U&g}[ %<+x]kj7hbAY]"E e3+hr2!O$n+ҀH,hH'BC\ϊ.PքüZIx?wrQ,,O 31k^mtKq梷_rY ۷jXrrrP"ykCKuk0S?n J-Et=NG02iCk]"x%hF-?˅F 22[n̊(:wvPȉׄd|aibqqB֗E9ddd@ U+m2$ @nq\,(̩H E͗ߤ7sұXZFYU.#^r/u~Y&& )3hbٰśr}JWU%Tv;}mи]ᢢ28QVw!h=N;$(t+QְG$Jv|dZ Y)p)[؟`:V.f V{48(^n=ҙq\wŊOTdnxu[cwں&D} ')b7͵Mo 2N+8.+r. Jd9?캿83 Y,ɹ cRS-=N/90Ф@Ve5Ws#LЎ!ʺR5#7h@dLD"6㋤O̲_N;dg i%!*g!CˌCOy$RNGhEjD}7Ly!lq[Kgڪb>B%XIߋT8 IzR6Xffv Эpz[ZD&;nRn1rooogONIhܝP"bvW:4>"wAmקuRAzSʊaa;$ ꎢ씆0!\Afxzj_VsI"U_ȇ2Xl%xFqCz"y&߯fxv6AUxDhc'ᵑjtZz|ccc1/.\oPxG3,\ZS8Y$7߿+*/g7Glbmj-\deʁ] j 0R6#=J O w&Km:rP X.(&J%{Db^fSϢ&v~~?>N` Ts/qgVVBbcׯ%}y>^^Ë3īn(h kcԠ41 Tk ա3{JWT{0+lCQQQHPʻĄhdCc0zh c,"? ezC~ffȘ !P*c*V`P<\V3,oJ@/ݑpޅmԃG.@?'#!6pqmPM "p ؓ;NB#`zubTx 8Q*[Er5CJӥWc AvvvpoG/_6y gXSl|Uɚ!FEEݽq Ϩۗ"ZL`l]<}1\z?Kj}dx`3kD"khbc/>|O}@'(HKɛQCiEBCJ˾7)ٲˠg6laTJαaF.c.0 3l.*{+hҟ0 Ud_4QB$Z̵D1 E8Kjh|՛=IQx ^tlʀUcf2/)Bݸ%s ThɹA7Hbl,/d4#!KMX)R2yDlIq~~&1#)Mx+UQ"B,F k~#.w! ' $lő"UaHO_D0CY*:.սxdl?+$ddΆPgfhW"_qRم8/ ׇ-w;a^@ gbٌ0(-c)9, %CRR1?IZU" rZXL جjhA5{_uW dYnl]wL{?{( !zg4D51Y_## =xY6z)`B17-~o]yޮDP~eTR7OP~ݠInd9h¢exD讨Ï*y&fKwutF7{,yIǹmFd@KeeZ9?bLj:2-}ABd3/ãl;0nv썢YWA ,_Ŏ@\BXAN?ZB!kQ :|ߖڭt ԑ,4u[ҤGAOrגL'!;_{R{)(Cc; ~{>* mGR#ASh:0h?b^,hfUDY͡3v- #EI1ˁ0"m w֌n/\qy{qd `2:bqx*V[jikk@DSmFQ<罬oC;kD0]rjG{;RV@#1ol!`K[֫H<oaccQQV lGx-OJb*x}TujP]]򏋽YܴvP:jƔ'>[-ttڙ #{B 7,QU&]^^I*v;fO!t1%+p_fd|q;Fev I uJ&^/Ro U,UQFK>cX7*% Uw׭n97kCGガ9Ogg`(*!t&~΃h@7|o U=- 7? d5#ٽ6e Z'A^~XAbYB:'~h8` b4O>-0hr/,g\nI1śa .cʣ?T_kSgm| )5뷼|ka3ewvwIp.?IF#ҿYۤGY't_PuȜCTY",ZV#Xʫ:.Ŷq@̳U;ȉK0G49Tx~?&r %Է6999]C`_DM-Q$Y kԋoт υ K/8 d}\-*>SX/v^Q[^kѝQVV6"42\I>]A6DGG rTAx\ɺK8th1xn*ѫtab;ƐWMe"6.Ĺ/n6ɋg \\ eTs_AŲx@;$v+` qH鈼ksVKWFD=JdDHh_ghG N; |5pCl[&k$ 1BF>b{h8;Ф8hPi \/3;cakTqwgcip'O.@g>, 7d^0s3"ESW:nM2XL=,6kR'Gz]~~~CykWZv߂t_^Y{'noOɽZc^A@S{y6ͅZm .#p_?1,`d,FT[hAO %<xb6*Cu̚ۍHps6NzadU_("` ^4Q\"ݽZfe%Z2Qq0;.-3\PsDM|>7kmYV_ ԏD  {5q-*gY#=[-)LjU$ag|s `L"YYE /(p Uɒ0ZN^q~ġ hFJE%&?f}wo|@XiZa-Q1t?R8FXԩNGcF3,u%^ɓ'$=!eAVvOOoK/XN_Iey?3HhM lhߵGU2@iKe H{urxytt*;MMcLSa?N^=9+ UT\qd2 D/j n2K &MUeaU|||ߔ/WRXʿ!tU=]pTW^HZɎ+T*o+~ho+Ty@yy,9ϧwE8ɧOtȞ00JHfɴ[WOlAJ=&mKu t$Sך& Ԛ 1hdq!P$u b=BUxn{snBEi 77i˝,err/Y+5,!DR'+'Gqu0LJvz-ޏܠ\?ܭHQpQttJJ_ߘBNt$`LX"NC{k, >  h[[,qTK2.~m*+4 Z(V, vwJHGG=p d`gkۺİ&Xd3XD+bC& ؓxt\?W㕼AM<ST 3aU|~KiʭZڎG׫ z 1 aڴwtڄ{}Wθo/ׯI4`ec<߯3stBolmAvvvCڜA?Ж$~"opmnyYeG"VWW鉁ĕZH2;MXG='r ]B !ͩLd`@Q;#.H$s ',Vk=>%Y8t!\ύ2X_$߅c0lw1>]`'ΈUvf`(|& orhijw8pR9S<kpK_m2p2H`u8(‹$˗KfHkxf߬3;m+`jnpZ@E1ݟ[t;)0 1j}9}'QvAŬ7pV֟㏕>Lt)'G|2;J7Á`*Ց3bN@n͒j7YmaFrOd M!u:;UI7MȬlC7%rQO.J)vӕ.Ʊ!u 9/S_З6\쎰;#轾p{I@M?ZtYcF `F2h' ;60]Yz&7NFZ0'΁OemZUUO 49j<1#[*# 2pER{x?E)2'dvx&'gjE N:O-@pVf~o&;_a#B@Qc﷕ U3c Q΃܄ͺvJ1Fq Ia%#DN^%YiãH{F.yc-aI֛ 2uÂflS3+Xm޺uXz))?JSYښch˻gAG<8S/= .̛ ޳+j>`]:؊4F .iD\mi^fi</Y tOmll$V0sg*iOQ5rڙ\^wQZ n"FLA 97N!w{YҹI9]iu\D"wYqٺӯ mW9;*aN'H~[操8%qs<𢡊S;zG],EI"I4<ٿ~RꡧCB45n7,,ғZl)?󮵜!Z:Z8yکvwɋߖ؎Z7'au^p6D>#QSUDHb"e,\-_?Li.25f }&\<.u_%85_ʢa=_>1MY~Xӿ)1AJ\+M rƷGCtTد$m&s#~MNyFJMX))(XZniً0j]/muUEY?~\cڟŞNv_m䷘,9Z@$CRwuGh;OY֪tBzNƈ_vPq{fv8a o(0RV-L˛YyL[g 8i -&!_^5V.|)}w Qngxv]) kL ȞjRݿ_'.iHlӥz32ۇr= ,s 8Foט%%?>\"xTQ!`7NQ'1foqu*lזV.=q 0eN\ĊgtA:I!֦w?~ F~Fv^^z2eh#g!oqaiڌ8 zzpgHB wv Znq .*NipӞػ>"c'h=w (VW gҭ3[c1oK_f]IY=^{FikX,$YMTMZ w\[1ߤP-Cyu=H?IcqF61E }!hEeZD6.2[w0*mo}iyK름 Q‡mH>$U;oxnnt(B{" jSUK:<_N!$Œ#uFT $t߇Uj6Exڰ K vkx̏vo!㜝3ijGlQ.{'w73e[7÷'-iI6ַ8~P^ ۤ&%JkL:x{|p=],%ju-s V#h+[8 >.,/|}v|E~1K>G%lcp|ړ|BD̦{n.މUjICHzz6Ԕ=~yw{7FeaL&[ LDz =3ODuޫN\H@m6awؗX(j5u:0+=Ζ>BE>>ҹGZ5dÁӀ6=RybLiPáoBx jnt#YYY.7)b^(@pw{p`gb_\]/x베m@8v9ӛ_%k|>2ܯii\mHM6c9 >qkP]♟fĚODAcsXxP تwګ_Adj|=v;ieq eZR: ,lt[$_:>9+N;> !!՛2?VyޙJV W皸N6֊Jl.BWO^ U&To{EKoLȕKTG !Y! 7$wB\qnʇا8CEi#! ͨ %Rߔ[k9DB&WzZP]?U  ,vȷ2VW|0uzFE͹i&d @>՗r2DOЕΔZk:lF*fTNWR0$X: %QOFSwӭ2Z\MPo8|ǿ(u0qzTcR^BWu>"g?0}OQjz}yQ-{{=x'dqo~gH?M'EaqlZ d=Iѫ@ppk9@VFzh/><#")ذp@[)R ttS32襥RUqJ`IӋnz>I5vAjTPF@HxD !!`TC,Q[ + L :v"OO(^UݴtqY$ a+ V4S-x{Nfe}>2=,Xxt /Jxp!c ׸ ;dd-ژ (uww9='"4,l% !p:0?"1<#wߟZe *I-hc{\h ӇqnO^2@cy+i[A{c_񌉦nY6vjN_z6ˬ 1a3OdPHx( ptk1 u^ʇ U`= BQjg?ex8O:Qj7EolZ= *4n蘶Ѹ?@YQ = 3r ؑox钞B3k niɭWVp+и V͟)~9XBLARBEI9B ǽݨ S3~w~3fSڿk:Q ]hf1QX *;Nm<XD3\z6}vq4ħǦQ'?)گ B=:Q KO1,.К.o5Ҕr$8 }G MCH`(sFJC qRmY3K4-}E#.,몟>tt7n?ؠ0#{ENђ%|OXbò/;\RFӮñ @rU6ynhN]Q6ٸ0OrvdT\`ea)q貈b`ZIh;1MzYVF:ǟtLѵOZ@R@o:F4[u `Ox 5u.wtS Wǭ[LlUU-O BIy:rrr>Q F(,_ƍH8l %SC8+^|q;TQD"ag<d݆:װ{Z[3⋷s8vё{]cǎd2a2PU^T$wvvq:RTT$N#---RTT$kWwlqd NHs|>yE"?,'e``@/Mjݸqƞ={pvVMD"3s&UT[[ aZIIYD"j`0Ȋ+z_/z6zz~  Ν(pJw$Z!躎`)))wcVr'*}oъ</tZhjOm[#Gj̜66'Eܹs\.*+Q|q0"@Bu:N_ <;@?<$ܾm@.}6V7.\,X:H~ "r-w?"@~~>f_bBn.Cq1[f;3Hig$$$L8_bv(4ӓO@{B֮ɓ G̝ Wd+oFDak cm1yyʕ[LV/_ZZW`dcv)y< F{^|3/^tusi˃F#,Y݉ܺ5C>%...ܓJ(""Wo/#GX^WGbg?Gp8z22 3]Kc`YΞmh4N8Ey188HUcngRY"s@zN|t٤j@D$~2vti"Bk[ǒ|,/#H70=:.`Nnt~˺u|F֭#s|<QXKG͛7sA6nކ PQA /'.zMs'INZZdgOw"jllwjj&`jm%pv69sΝ;-{QEeóg3<{)$1ew x(F4A4tYxQD"c>hc!fX.xGIENDB`PK lYN˺svx.iconset/icon_32x32@2x.pngUT KgKgux PNG  IHDR@@iq pHYsaaøtEXtSoftwarewww.inkscape.org<DIDATx{\Uǿr-*dc1/dgt3ZN15RP8eISÎ!W b@H:YQ *a6}cl̙>{]>y\Z[BI*V;u2dYdYV˲h4c}'yؠB I 2[nhL(..^[p`Xdz=SNm?//wNdd$nnnNfddp9.\$Iϓ$:|||tz :nRFFoǏ2ڗ_~k2Duu6m:ufk111BV @"""YjQQQ!xiFa4EUU(//ׯ_x񢨮?(..w׬YjKvW=JOOgu'dY_~l۶qƑL]]]~￷n.JJBef3:Vϒ'|Աc \RM-[0f@Ҙ1caaa444`6({ǠAhۧlFբlMrwwm0fee P}͚5mL .ЫW/tرcܸq;N$G[k陖CCfW:NAQVՕ+WHLL$""ٵuFi6P$$ $[V;UF%;;{=S@{tR|||Xh=//<Ν@ojQ$R !(כ*j^Ϝh% 63ZBBG!!!nݺ9IJJBe&NHee%̚5:*:@e;]բ(Ck-ZVjvv6$դ]>-\z+V0mEEE`5PշVYT*Zվ2 =4zG߿?;vp` @~zƏߌoILL $%%1o}Xp!ݺu#:z9sܑ߉]5y:1 ONvv)"]P $IbÆ 9r 60d{ckӦMѣ9_ٷg֭(E 'Odl|xfoܦi4 BVV"]apԨQ7[9xp'fƎmر5ݛ 촢",Y֭[={RSSy=*+WdqwwopL3qD;իDE=%Μн{|o`ĈxBC$44O[--ÎUv,CTtm$222bDII())bС뢤DرCy7Ԉ&CiDޞW,bѻw7u~E"<<[$%%,++m:vgk׮4dYfݺw!>oG[,_.=3qn'B_~בl6 ssa ~ױ<]ӧٴiW`00eJ&S>[zu&_9ȍ:, Bp- j(?oCH@0n8;]|{mRX @Q̜ 7oœ9`d*,{uDE-w[Ѣ̮) 0.EӽO Ǝ C`/\ڋ{!8ٰmYYɶmdVCd? h fJls/tNayEh<&ॗ`LMP=s.\N ;~3+>HG.eZgP_doqQ.|.?JbĈ o~cUНؾF>}`tK .NůnhƩ8K[cδ={˃vO=5'>?Ç=IO ??={ٳ@k֐go4Zr5Ə}K)G3S0nLxT{eP~2?XII1{ZبTǵ:ՃW??!; n޼t:<<G$ gRBQ4iG7qR#5ݹ!FzÇ3aP{= 6fϟ'''_EIIID̢̛">_$z=$^;wBU55 8 jLɎx{{3x`>Cחې-;ө~u!dffJvҥsr:u={2z(R]-3o"//9g; \=m@f~oǎ,[UUԎOٻr1=HX,Z%੘T׏0)**_}})c:Fni\[oPXXHLL fdeJ RZU IYy___> /^ŋ?pل<lٲ˗A-bi@@>}1#Ggxs9cpx9z4,Yo==;iv"..0+y@v]fdj&OlFgokQwߡL)4Cyd k̞ڸVȑ# a :~Ҵ#p6I:t(6((l"g8r&N~ĈkT*ϟ|k\DGD]p0uNi#\SOpOh~*աO 5N%IZ~+ ?j$IK$/!DMK}ۚtdeYU*jZNf&ώQ_ λtIENDB`PK lYKGsvx.iconset/icon_16x16.pngUT |Kg|Kgux PNG  IHDRa pHYs\rtEXtSoftwarewww.inkscape.org<IDAT8OHq?m{#ږQnnCX XSI]HDax :14fH]?νN:D{>y$@U7Pv㶞P(444HM*ST"LhjjJDnα#B:!MQ(繹(--:N4Mccch4Af3D*9)/|,`mmV)?ࣲV Y{<]htjzsʉO>|ټJYU]D!knaii200:X\HEϿ#pI!\-pl;g޾}JnQlLN~!N9%7,,,(cd23tvpTV"V4vGvk7/݃ PtFGC_#d|apx[j}$߾mJSa2 /FF(&]7)!rH)Rf qah1~:؉hi! MhkkE2 )%4zH$Q?@N(.NIENDB`PKlY#篯svx.iconset/icon_512x512@2x.pngUT KgKgux LTU=Kt -)R!E:E""HtI4H7HHw\s}u cPgkε>i?¢+@1h؃0+;57A W7Zo-.wv.fo[p9:[R(#홾N}hH?Q'j ]1.T1ϕ 5%3&(+3?teRٵ)c@ÈMׇԒ!M/owM-u$ }[OZd4O#'J&Х2b8|1PXGn|/|'f\\;5^u WݻÇ?8QƥC0x).@}BXя-rဃzZLqXa/Qaivی(EW_t?XokyD(n΃ލYG!%d/n_b:{ ~ & )Md\E t,E_IV$._Nx^nX):U- jܨ4Jh!ux6%c'6sE?u`!B!UmSl ڶqS-0)Ex0F/Z$c.:uc?F2^ƲRH~0bOo'Pw ui<#]<^[^Ē\yZ=Q)Z | [|_jpDJ6aƀg܃Ȋ6I'݊8]ceM͠~@ HEe`,A* ʯ.|ݦݫلH ‡~7p#qE`!?cAsY^^BZ:::sTy-D%/,-/nl2`)2'UD4Om?2  "}KN̊ߑD~pې!ӕcgBOf|MJAd}f#Zsdsj,Mա/%$~A)&+yqp7:^ﰐ'N,OhtD"V o`u"ڎ5 _8A<f.Y˦9OԲHւiu1(rӼ} 5Ĥ$fLœ;wjnI҈vxԴ(@u!"tVYl׾0GAXnxv9HknObARX>Oʠ1HX2ޱ}),㕬!ɚ׍ K[;=ڷ]F RSb$}EOoIo­L,)NW4MD٦,gC6Hw~54b,SzarriZb9N5\ '8|X"9>{=v=z$iRf@X%XHy7iV!n{GwniUɜ$aUR=\ȭ#b]ދz6j511ibt",Ց~PL&"tq"/^Vg'`$H2Dz=ڍګ͛erC#83k2/!i"y,+tM%=}By^ 2YײS[4Z(3h]ylV꒙Sh&܌`DWanVNq0_G )t볯&Ͼ'+ar [K+0 [ТV_(i@_qSv}^V:=l08`Zj8C6(@b^tUn'#rЪ"(h2'wW>>l(+j#tS9Ԝmjzz1e &g/_v\) kBAkYdXk(unaj:ǔ$(X\MJ>kb,OoEA/}Z,Qiъ`+=_JMـnhrr%.PgJg?!mh`ÌU9é)ifcїx 7oy}.dxɨez?!t &g>@htYa8^K7hVR;,}pvf*hQEϼ& Nvf >:`qCy@^?I%:c.`jA 3;@rv}N16[0g5?(??8gd: h_*Od2= '_ uPacelF+OԨtL]N&Cc[[[gѥ%5L Ǿ,a|z1[k3QRM|GffUxD[76{_' a0=PC-1RA0 8SWiM3Tyf|ORϤYn~0NIEKjRvl %:F + wOx"s@'"B, _St2S_~!hE >J'!lx7|~~ߵyJYޒ:,ّAZ'4Vi$/5pV$DOeIzvJjv(Ŭ6Z9i; yRR]GTeYHRР؟+ 0ZܱvR30=KobmFS=smEߒP׬w1]3{{i djFJRrqdig.KO Tɱ;͓o'tn>V]y6=A)*G$.:\(we= %DH'B|-t/'Of?cX~kmq x_Ks/tmZ,go8TˠmbOqSv%(f`Rt[A"=,wk1hfPW[;w 2󪫟LQ\AD_5_9\Cɘ,3}w\C'MQةCKo o8]kV1!bgy3d]@'b  &zՠ|? A}u3O7:2@4ZV֖}z.75*纥!SkW#؆DG'Z@qZo[ZCxŇZ)]g}%6`4)'~ XHM<e5A)o]gGNjFs :>;ە|}L&.?,`ɺY~&AEkׂiji}cmp)ψG'w,_D/ ip|[)wڶO[)`*008(+:΄G=&"'!RF-%A{+-a+ylôSbg|,H6?qR 3>bbCFuvbNu3?jfjԯ=1?.~iY~6[}碠?e"S t{<j__.IƩ:gsN8~C#AJ/bfڢ70QW8jм6[et.@m=hs+O/(^k#hsLA꽔C~wD-Wy3V|W,`D 1CxclRZC3 G~nP-075Ȫwrnc'_uźBu#E1%30N~,VO4eMu"[d .2G@**ˣ# c!g_NYl}'xtzZ.3m秱8zz5 Rkڻmfa tE|EC87>ihxkA3X>H8䕒>,>L!T@tRs:)fx (~yMg-n5'A] } ( Jx*+!eu.q 1rNr$p(`z(shXI:)MzIT]j(6qU96;il!q<-[V*FK4% di笏srbbbzЅB{%TD/Ndw>g5qwSC!1>Y Faɛ}a&goxsߝZOpH`Ä@*$cLnr&RoqAK6qC* Fn@' dpgP~Fkom~{ӫ.IK>Ż :wVG2`U/22ǰ}w ~,vpz?"dMu 3 WYbGE\KƧar^ cU?ޔ-^>U, $ٸYP=ﳥxqaL!aAE՜) h ӝԒnv~ӎҪW_BlNzGviKҡ=G7~VIY TXtTe ?6cu0hUYs8 qgY]Xtu۝z~ctۮm{Z,. mJwډJ!L^^KDH-DpTO:rՈ8JSҍs%J,BU7pj#.[ `x<ӃH.X2=naUVoi.!tLVrsKKK/<6 } LrFgEӡ9l7|= Y>|Lnd U3`yбW;R= c %t3>.F Ibkif[ٮݴxƣ@A'8LFIpSh&&_Z=W1v5@2Băq+PIhB]םqyZkxyaD,n28 };h(y>q8QX[ib|A:W~:^ ϙ 'U&ȮKbKf0)W`.jVtt ;Pi2|ia]4rgm$4M%,55 īPj7ݐE0M"WL)@^M$Rh/vW::$`є0Z#m;ӣ '3EpHL0jvJZhpDp ެX"sLfoV#-EptBd/~w*Phn+n=x ]/KEjUep~uŎJ:~(Zq\~<kqyt/ozNuH@|6y9J@u1c{~VPee(L7-<`]YxI˫m1%(+J[kYw.eN+FlU<dz,6)d0^nnS] |I(Gffʍ|p10$PYv$0kߣW wrIi ݁K˝܆ 6LVf_N3hJ0z&x+8V<.O+ՑJMa&&z|.sœ&c/\.J]K1"!@$nh3I,ЧLxmfYy,y8,s. ܅6/ӢMrL]BA ]hb*ӫ _oe$Κ$J)]L;״|Y::2t9tߝζFDNqo)A>KAika᷷uv3"j@m/РH&*2bV\IWVȽhskn) aKz׶$Ox:9J}˛_A ha5!ѥD(׵vLRNϜ?{$L4-KJȆ. K#)! o+]$T4ѝm {K>YH&1#Mp5u{:\>ݾޭq'50ZXٯL1'@OaD˫6P4?CDQqk#vgiSz7*n(O2~ܘI0w%3'-XRA0( ||b͕ C]8?RRQKC&@ҵD\,w)O/~N;`!Iio>H" Ÿ̅[@ uyy-6--◀@ၣ:,97KbE ؇ ՈQZY+XLY.G9=bwHcC3w]_-|tUov0! F$L r5G"vC^Ȟ4`MX9n#\㷛6:iEsK{ܵ KLk/@\oX8Ժ6J.a 5{L,*(z.܈E &_iky 7PmB #uf^ P :,-%毱b#q8`PR3LL3E[Wװ ^OZ`5Yc<܃*(v]/xbԆ:pJZ:^98e6p;]f(A+x+reY^IP쾣-(()_z\]zڟt*3,,qг$7In66ۧfw{Y(7OM;%!xe__[1yn0=ti`Dm1cĢwE v2S@H(FTLAS\˔$ 7 +H>}th";OOp-#F`)ו`2z 6:`-e=>gl 7ŏ]7q+Bq^?!4yPWW.*pn1w^ƴk|L; &k7 !wKTOtkK ŅR\T茼WXɠy~KTQ'DDݟ"f|gJ(ro=?Qj>9"*Wo.93%)>\U߁g(s|M, d!8Ea?T+ty.BEgryIȌ=Y˾??lkm(N/8u\s+DUc!X(HښRAx )Z__oJ<(^,p#iGoA^9lDkuҒS:;t' ,҇t)ǛIRww▸.ʃy`9k`(W8 0e|ϝx+3nM~U#tXxw'qP'Cr#v˛A%"'W+|cw/(@V GSK qn[A6ׯ=QTfF A,Y!Fgz{j ;(;ͱmlts*ST]eL`=j={3$i'ܨYIS Y jߌjh)7ȑºoAa2w1.f_8f8H4`O@##z R@__3brCHyp?N5\I-.hv[>$.9uŒB(ݰ0},m`()y-LcDv]BS vȹ8*\؄m(]()wϣ-^ cgd2c~@ŶA2H V]<unz̢ԕq޿X4T]8L_gC3T6߸a <С.@k6@Yf4g1$ἭWzA2P۴ۃ/CUjmj|w^lI;VP H_0H,X=  3-QS`$y2*āk R .8tuOR4g׊=WZF<$ή6n ̵x'X,Tkd`]XnWFBYՕe%^+#*nԇE*(+bVMJR&]ycwD?٫Q-BIxm5 @Hy-ɩTgO@NoG:a%ǬtFXLe㻅;h#©1lƝRko_P-GE֠B,iO4MJٍ͈4y &M]==(S'\=a^sԇKFbl"+7+qz$DA 2O`Lݻ/#wzl22Tt7+;qs#^ߝMznhRPpGI?k,w>>݈:~(3= 9czFT;sRR|3 R+DSַ"5c$azS AŖhDϓ3Mw􇌡7nك~kܱs*?SJE,`Lɣ͇miYy?pw1 \x",~Xs* Q8z>Cb`gwxB]ƒ5("BL"*{ xMH_PDc=>NAZDn@T-b[Z!~ &mt~aS|:Nym"cNNX'dt ((M: Rp]U_f/P74BDmp,WywL$_TscA#Fk#p]~  HlllluYOhM@7V*nDv9U\hou)겣1?>7(>@"G?-C\ߧGTi*GvPvuҥ14I @ Ư~"Ornh_u_%wu$YRW5M~$ }  +&ZߞvFF4i謲Ոq?BnwL&]!FvJ,p"{FDN章#x`ɸ)Rͺe_S^Mc԰nSm##Upd Q/t~T5b-;Xs:gZa*YuFിxb㽥s9W@Q8~Niۏ|\n=^YdHH u=EY"z.-y)!_Lx_ ^Et>ƭ0E^f 4 X) 6 EǪhQ?d Sw~uоaI-u/Sv06 Еݤئe#㽯&5g^pDf=_!h_&p>f{gDs*l#%@D;\EVjYʙG߈!8}OAXGܢoh WnnnJf/y' ep$bşʉߝiiZdc^Tal<U kxᠷI3W>ClN Qrn˓n ܝ~Y@}:Q! 0*]2R3k\K?繺YA.H5.>W0zuͿjbUY-`TTӎ=R6-fM'g%I?h  ٿ0n/zS)Dt#1j>g'pږR h~[}\`JOu([XksDIuGC,x6REv |VhRyGz3֗o֝ wٱq5#G[tP~G#NvH=q7Y,VH8KԺ*uyq"mBm{ϭ{MMѷiFI;Ygup.ygX8z` FG?rUYt(ϩ%.ɏ"Ζ9m݁QtcǽXtKЪ5#`_ьKxOaW3EqTr;o)(] mT{&W( 9 Ȣݱq- HAÁR=.44"xlWX 8J巛{n?lĒ1"ORȞS7ɸU-J ,fd]O%x3[Q+s [Ra lŖED8SSSi˨~+Gwg,2RGBXdpd;t9anQ-_~:dh,gcN Ƞ.}[uze㽓9u1Z! on~!CN4(&{:#gOTE--e-`ǔ T|R~{Yx@J7h;bˇ9_&*RuJ3VJWaF.|L+}DH=beV4x!!Rz{vyy4gq' @u G}+o>>n3-9 -ۅYƝc𫁆[5Ai@`}롏D= M-M/wKR|?av|%hZ0=Tb]XoLse(󮓿^ jMR`)SF"X1xEO2yhEWiEy\_s e,@{TƄ!mуS{M&azpoޡ = ŋ<̳Wt@}#I/a~mhrTnH%~4 @,ݙ^CAf2Jʦ׭U㘎oUZa4VfnBnvD)CuCt ",=G}Q~h7MGn(bc~za \ O>X:|~OQ H2fjs:cf6Z˰Cʊƾ.gt/4e;/դw^"8f]q7!l#eI| 8 W{1Ot=~P#m(⋦ee5 O2,eo_`m\uf9i]f9Uwe֝OMv@)̮g۫F1OD";O:=ot)WsͲzP?։'\OtՄgu@?k&4@۫Ĺ4oT)]B-];CL2oɏՈ$Y{@OM]ɓBw.9HsAϻ!at(|uRRsjsoI,ddet 9j~qifǑŃ(})>汛=15 ?+tZ'RyiEE#h.Ưq=C# sV6 NoIoovb;,K1+n4l  SN[?pSFH$-|kN}flUP -tcvnBt*@z JO(H iVpY.?A;H&9+Y5؇ 8۟Z:۞0jv^|I=7G3Ϩ mDY$S)+vͱ2&se WY?!wP?uCpi-)u:c *]< 7$JL*wfC6ޮHp$Z$qݔWtfc1_jX| &tD]oL{~\z?nKj+fZ_[a`m Wm*XhtyI^IzrqI{9*+2訇DpK<1{P;mxZOĽY,[RGQ 9$=Z>k{X2n $&q&??_fE(B=1)iZNدDpGMƕWfp}Y=u($y(Cdcqr8q}kSq*naRR{;_.τ rgGԠ"(p} %]x*+~3ZgUaB4e@2:[uApCz_!XKedd2 ًdEXRep}` .'|\l~Udb8Գ3s7ۻF4)0vLzD+_~;GR z,={mps*RT#dC=5;%nwOykJܧ?:A)NFuk4wۉgyZ|$ztC%Ig-n@ WEP)^ )RgѦL74aQ}g*hp E0-i3ܹd/ >$R]zS8w Ckk3#/*ڪ~`pp'6/cT;_,[Tsy h1 ɝC⿫9„.| QDL\$rVk֐v(">OwB(p:o'7ddbQlgDl[O0`jw,@'k©k)MZdq%v6D)!>AzKB>_A*"=Փ6L#`?5YGEhO˦T"t3#J>V K/KDb?A&9&Tunjf9cj7GOF88+ɍYwz7~4sU .8O{9[ͭo%7j2xFG\1~@9 /]*Y{6w+躯Ax\umdB\:Jq|~(P O/F;_h&M=ɥOB,qAnY]"BSQq״jyn yNwʣ7|mc˕m _+zej r]ve.o5HM?j!g3A`K\?k2 ꂓ ;Sx(q.oax87h#mM9^LW(\;iLl@^V}X4V 3\W\p% _Y{8,,ף"r@ap߭?"n;%`<6 66,Hs2akbmFIn._ WsCAz?sҙv`u1m7@8{ߵyBk]- */hM]ʚ mAk|@IO&ϴEcQ7c(Ru']M"֊rS < WǦõvwj! խ %Y8 f;UΗpguvg G5\-2]C*;;*x}t ;[aP|έ4Mfs{dA1 bDt?3ӯ+!]ҒN|ԸCXwya4A hO*~H&?F&'GS2AحH[/EAjدPo<|0/O#g@8s  ct 2‚ 5GzFB`Hf4P^JQ؈MUvЈ}ӫ GO=u=Luþry9 У <󊆡D'rfHUS}(ϓ =odϟPuG,}-hD".6JtptOTTv'|[9^^߾Er5mя VẈws)A҈-;tRGV~tH;1km) AfR/n؟` QP9 e"pw{^J8,p5»ZΖac;Wķ1k0ey:u+ Q(^V"RKWO>`IGe M*/>0\.ac V ;2WeE퓕8%ɡt!40Zs(z:'#њ:蕽?G.,btj.⇑RP{e)+0O95PTw(8jDLĿCTIItcޮ"kqq%@ΗѣGg^A>cH7}=s#+(fvPC춽gN 1ctR*ӱ!2sj~LцaEfдF%g8f}q dP9 #LTjzRu;yYR^^EAqÊ(hhOZ I&ST}:&fBx~QFqMKY GiXy:sfxґdSǾFV2tc84)ҿ OB3x@ /hF8Gb5]߭Xf~2Lq,ŋ+3zhtfGgPYSUgyZB"N ,KPQ ]䊈KYi-F/j8^ $Q($qiܲkqkC_j1B~]Õ2i,F]s[&kty;OeewЫhca`u'35yK^s~83|] dW;k@r3稞cdxP֖o{h?P$sgwAR-A_9>e#σJ8xzk|uVs$ٹo߈0 j{3$_>\mlms(x-Ϳ'CRw~}?cʼFo +{%5w>Cs5mZQ%(]:$ &o?f 0FL|@ ,?|s%wlL})ײc}y~vU$F?As͂nz`\\͕8Iz ;Mg.8?<.rx=(fFX`qNw9tEoh[>d@\:9݋G&QuJYA- r矢q &sZ@Pސ5TǙ';Ȱ}߀ ub.\ve[%v(vWiXjo.%Ӕ1\3~kB~nM;p|P}HՐN3@{|;3]v$X.dP g+'L;/)-Nz r_9 =mO/b.&(DįvvSu\Uo*6j!YXWs$%C(Wo?>idr)<^꯹ L Knq(6"5afo.&ϟA ,ɳ<rp!-qZZ`xL>rĊbDg΄Cv:jU3/zڀIlR>nh:\Ʀɦ>-A#e)2%Y[ېt~% jX2ayx/LQ'Z֧ikLeM?; ,,y_V+q??O)mH?U !@8^%5cGEA' m0HfmNY'lw|bg/)n{'ɌC[@:jWf:[GXz[)MΞ;"(&EzRBSWup[4%JkLj_SfYGWAh]]] r%D╮`9+k0)/@> .,6対 >EeYHED^[O[Z]q7/rP^>*UZ+m{K^/:=e1`DbrN:iH ~ʲ$eyuQ¹&}ZDzë4P߾[}WwQrYXo^Ks@*b[rao 6U3WdNb#P+C 8:3py&W>N#X7.< w3^z0QNi5儿+CWU.߾QaBr~.D-EY7\4Xނb 4^PsMu1J&.nnz 8y,~L-ZV)V/dUeیț{bB(`CEBز;nzʨW66Ź&zӨ`UuH@?}h2_벩|91qLwv'Xt-Gɢ}ґc*8,*KPA9BrXcq4D7m7=5..bT=UP_ ыV2[ FT6dZ6*B̲O#ˏߊ^;t$va}9uӧ`Da}@ygXcՊLxJe W.BǨc3E",\0⇻s+ݯg)tK|q@㄀&킁0LCQ1l k!,p5M@G@4~kq3ΌErSe X|O2L#o6o*$% ؠ?#4]ٚ趕Ï?-vӳJb 8/MݶzM>E%%P`zKA-Okp]oR-&Dg琒/݂81:+q5흙W6̈́_>`'hE2/O'L(qUlϑuhCLVgפvԹ G aT'+7WMr9cgM ,u+8I4RP uTī#[^Q%2f'6+rwA|/%<,#5Zݽ< k=()|BQCIX3^z}a! f, , P5Ӆ0Ka1i)Gƭo/N{/@avS\\U8&sD){G3-Jw-L<})*wKgw(f) t{>4Md999)|7?bLJrC31*ݲJ_\P.)1֞eȈ"fY)Ti;a/wK`uљ-C!<<%j cĻ5&[W;m^~R 9}nVK:kG5dHZsۭ- lH2m8?GD d sVؖ ؛ab{ pt&ts JJ0K|C+^  rU&149зU(p}R8ʀ멣Miҧ+1?pϐD5T.7 P"xVVY$ܸ^(Б {oƶ aWֻv" ]wr-:*)f%Y `%ct7!nb̷uk^ }+NH hudrE31@=K/] Z %sF'vү-pUxWgg%r/ۍiZW휃Xq$#֥Q$I>>08G|nH +ǁzpIyfYU)Rv٣ ּ1"Ny7O P_NY~tSKՈ+wTb`2hyV=^x&D".RVmXp'RgkpCQDv|+ߴSRR,8d-8t=y`ǚH Gg5):ƱhgmTxwP _d5Wby(_mvۭۂCX*8ɬO/@۸uשu 1 m.= k]_!mAoRO:EcJ~}RΈeiy1.6 fLJ.o830WBP ~7kf ǭL Ll{{'D8`-G-慩S9q\e0ljK2JL&>=&!{h'(A5 ;?gɺ5hxWkC8(jB.y~q=ΕO*5I5YȮH dDOD| WYoc rA:M4XsLd!^;8=-;yTo}1}.FK>ay+e^JFfr~^)& &='XA2p0P_5zh|̶ }ϕgA?P,#x^|a+[wXMwW<ܝ@oШ_{򝶮HLS|PUUgoxGC.k0T@o橁_yebOGr4$YR=,Z.L(''t]nCXÜmEZKA%bxK #tRDHղo -9+P_*0Jy%0=G3ոVVӝTo|"'R,s' 9BhW[FnS:sVYcߝ֞R+lw'[e&_SR!W:y)u7BjnOR(O@@!`"}W)+zp[^: ,Wb 6:%@Ćc:ꤶ^!~ uJJԦ0IaKpQ!$ե^H(I'Ib x[dG'<w($?{[\ߘC#pS2܆blC8s 6mm[}d@l|ӣHLN >d̥aSKjGkGYuu1>򷓫P2z?ޅ(hIKk 2itt]~=+k+D.ٞo%99ͨ.EE q;MqIu虯" * @Mїxޔ(Rt3M 1K.KZZ#{&a ']yw7D\2ϩ7^9@>t>Kj5W& 8v(B$6m;ߢ}yL 6 ^7AVizfkHBnaJxZlgѵf6v*v[&"Ɵa6^$B~GE]ns,g%+#Z'[WQxd90;A`1]f\Pivp&}TJ>~~MGȹjMsihOM#ȟ^Zs> 5:fh"!&їi۬HTZTFM*y0W=ÛDkm.O7VeAV_Wf /p?g sdEQjy_ҖOo}4svd\DʵXINXu 1XO3ŦjPNNM}}1;dvcܤr 2gȿ55mrN /{|SZAI@%%.SXĨ]u9)0{X*5n7h>1|I? 0ͻ9FU;I{ k×QކXY)(M*|Va*Rb)|>˽+OBc}5,5ltl.P5MDaKSy 2k=XH!}O黨Q2 >j 0>Й=ߙēG (JѱsPz67*tUиe~w(vTs6}WeaQRo}᫧KӪweoi,e!#-ݥ J7^m>+tm/b֏GW%꿺3k;Og+yF iLeׯkutd)0ZN̴;Uz惘%`G,> 6f^W*]f% k dx}k!}W忺W3si@}y#6,払6츨1 Bn|h{:jK7wDmFϫ16V[rn0N$83m3t TZt@GT^IFF4XT8Z8fOumW~3u>u &ҝP.&@(ӓRRQEJ_n 2aӺ`{U,R˻P mIS vIAFvXF FWWRfMpu2FX X#>vf o( RmN1PnۓRJýl`a,0'T;AŘY~p 02(ֿH Fp1g}bw!%X@fb-ޞOɣlKxO:C` h]CeRouW }+`lEYa}deߎ|r`ykć0b=@:JlHH`CoMi?W`C==ژl;JSxk8 ̖BB. t?ƾ\濛ӘYV6[PRRrُw}9VwXΌ,IBA7f+77 tgoq8 IGGk`}`J}fMMMERkغo'x N֕^ˋ'zXFESѝJOO̷9 /pG'Q :܌xޱ̷鈚8]o{:X} eh`Up>hhqxtb\Egso8yvLd)!pcmIV1ǁp,$ԗ5dŮOZU_TWj C$h-MMswR:(#kjHZ\1o$e9H> LS8\/\y0DWJ`t}5~ëidL ;5AޔucT٨ٜ`;| 8K([5 #  |rg] źu mH(++tl; Ӈ_`/eeQܦz@H@ GÉ=_NIA \>`KoS~9vUF ({0suj7 $NFc>DՑb_TI8{Aw(l(O՗Cێ},X*,!_ꔑ_G8ypo/8/DI1?2ixyM-yMO eTKa ؋M9ʛP4ᵠ޹W@FCrLr'6PF qXc=8->hXLYZ%N|(Z\|RM,:v=,<)l ~8jNJETL׶eDpG2*?2hh4/l8b d! ed<[g5!1 ~Yu(EݷB32YȦ"Nujuca80_ѬQloqh0l%nuoE_ tzX@sf|!+nU ۋuK{[bH>38j4H6HIFrg`}{p*ziKYh(.1oo``06Y[W7+s| L DĔ1^y4 MŢGx-KIâ{Ra]Y$uFnQ'T@3Svz k2qf Lg_nT`9=̪ajqueڀ*n5xoNbAm|n}/Mw#WF_h+ętx6LPi~X쓛mɘ1 zzy5B< x55ZlF3OoگN7N 8{}[=4{(D=+оo$:Db^+>d)Z`rx8ҢbjY HO/w=a.o"vq`FzT]7SoN6ٕy㎴(lݍw$Z^>r]fE6T=8nG7T.Bh[XC0~a1[_pn9J{um3V֢3a6@HZ:?x}tUEzjPy(#. jḁ=5轁V' -M%DՒ#82@"YAXj"=.jPLV=.#@aY ",lϬGf _`RJkK4G9pf=>\%55uo~mZL_fP <[{?В:}3^m]lv]--ԥ 4~/*! &#C(wP$$rRK}1S.\(F8ws8٫w|l./~μNOޯ#y&L:Ks}/ ,IUXg׉1'%'Խǃ{֝m*lWG}\P|>]&;]HŠ|磳fv2q!3U GK M ^UC A?e~? {!y {~^2exYW/0HTV[߹.wVӈHv܎ܮN1 ɝ"WgDR BdƏy`" |B=g*iVL{v_AG4a(*ɿT$up+[zP <t}YFN7>@U$lU4f n.G= tpT ?|̲8k<ύnV{s׎O1ae]BGwM{G֪qS>͈qt6Z_~|¥' CAR!:"x-K `*bdut~41_+~U(uh{g̯p;M>8bDfF5"MAĥr+flrbh;Y.\I6[XY,a:re}C; /5G =l [*=WyȒUԮG2U, ԍ ~rɇw٤]9@BO~ s m=^4|z ChүL1*"f4M \9E{Ϫ>q3w#;o FeFJvҞ㨰@l|Dȱ7KE/DS|6}?( ݶ^5̻:35G#aT=%]jO1d6[Jyy^Y1By tt =d!32|hu5Za'Z*gs@549LK 5#^g5{xo~+Ďٽ֡[6KȆܻbxx`GqؐQv\v6Jn,C[tX Q4@=6U}@Vx& ßEe@}tӎ2Y,oH:l4;^z]6 $t a%z~ݼ+`^VVVGB-׻z en=\Fe}}}uyA1)-VRùU[C4!;,6=z1}Vg7x<3T[4W^n\L\ִIg\gU /v"#ܖ9޸rqጬVv:Ԗ ^d" R kǢ&T./vwf|Jyܻ^lnO6pdI[Au9sౢ20Y` g>ou>7c\hB/O%8/mE>~Wi1|ciyțd/6O,#{cF/rP)7>WJ/%ݼl'w`D덺YM^;L D*zy26: s۝~PȠ51 m~2)jEmV* V+_Z 3 }]c)QK َݧ=ʙi4`{#,ܔ?UK,CCC "[f6)S?*KՕi[ܘ-ud8qR3'MR#!R68|RpfkP7C`#{SKF{Cs~͒YH׶3N]վ(s3rP/ dpO\ Wiw2zj c#= :ߝy&}H F7IB뿶" ;VS~5i9KKsk/ W+vpۉtw/GF^~h8)n|_d̸ъy[i}~7-Ek0_I"`'Adq=9Gjlvzc'֩'tB(WϠ=/v&J+]w|@QjR9+Wh^9 Ӽ㎮Uᮺjt̝n˞۩N/aEBYEK}`.cfRW&]{gSU w,o1?D;bݔ*1/aHfP}\gc &vrIoW0OBP𥩏֩1{ 1li| TI82*7B{G~ыzؼYP@$geDRR7dV6Z=jv_;Ffc/U)Ubrq?NAӅ L/!]3bxގ4yI-|H f^2p[&U2}GCmڤ,:|MY $Gm&emR8X^%SxSTcI|:])z߭s<Ƿ.iRU7:}53s#ɐtw'j.酽./Saҷ?<#]D3!͝.g%>le(k3uf3͓0|֐heuI0K)iiNԚm^E0Re=8 q1Fy:d47B$TPF0Wh/ Tyh?=lȜ(l/}ǹJkَg6ZZ͖J7c①wgxbkaɹV9u 架X;.< wvueHQ)h2y%/blO"HKA6 |֤J2`OeNp7X7ni2aRrx Oc߼#֣~iD+61_4_aCN[Ћ%&3Ķ H8̕PR[:Zn1VꎄHB㈻AL{kLṙaJcm/l[Ld`R[G`?Mp|f=Pe)(~뢕u/6X470886=IO>+[UugDB V"4(:<#KBTt pŎo#kES9CwO/65gzo(qp}Un2[io1tkE;-v=%Y}i2(Y)`Wi\e@ `ֵc5S:Cmb.aBEmyݪ`3aU{],B7%KkPr˧]MW2+nHb hx7ȨY%#^0f_vu:ݿn !wx{D]v&z]cRZ) |Ah!˳fM/.#<} I,2/3E2&J6 *}?twwJ)JJ(R"R %% ?~k}s׵g A>~~$6D:[}ցTeX 1u-S݈Ql{NqEnҕ:%cC(r>ߌHoz&0%DskΝڦEmrtٵ>t8 OYTa =q8 \}cY!VA|J!ypA'ސ+͂Z$gV軐S*{oྀD ς TE֎T6$Tㆽ..U|D98,O;S?@N,n5L}:gU@r&7P=¦dWX%b GەK#ryxs^h~}BFQ>@]TߝM]Dͷ|Y025j;Eozz|nefw|~xmljfϟ0ɝd ٱc9WwLF~-ÿF}ԍ7.Du>.{zHu&mcgЅ#Yd1 ?ғ r_>k|8#lncERbQgy㚢7Mv>>MF>sdh46j' -1x*Yin^OdӾDʹ٧;g-y򚬌ro?mSҖp@j˻a܇ Z1(+`{2ׅ5$/۱t`/b$ +tpX$4%rGf\E3! Ak%t鑐؍H哌Q7fs⚓҇tgLV"Xn{O+N-)`8d@qAL@N 6 w(ufvQ ڹ+qN-B$J4RcgTnv]QigLТWgM1ujD(wNW.$6h dc#GOoگM ٟB( o9(/zbm&|慶+N> /y?lz~ɺZ&c!^ִ5I ~h { ??Q >N5 AˊA:=i:G(w7/)!6>LbOLvJ~]~ͼ']aq?-՛p ~䩱W5CTM&y lտ?5\`7|^ه,Pqr(Hy+Jgg\ڝ)6Q9#co8QTY[p#jh|'~Jg $ŮODWPE 3 Ws ql!3VŸdfp 5_wkĪ㴄I z$ 4xw_E _&mևӢdtGt8d?ǎ5G?7&Ʌ&eDpPx΅?-F* ͗g̅Ne[d Td^ΉκLnzy|~FngtxOz0,m\M5GGE8omQoJi};Z*!wdv oZe=龳Kpgh5ݘatg sK}uF|<?Hk L~Mv$se-.?ze#⡢"FKF.XR~ZmHi1lb _ +݀ύr'q-Q( $@M4ndݣ&GB4u"}Ub&^bE{~j0gelNZ|8W2r(Ò^!@48Bss})Ϥ7_`t>d(ע.}&4fb΍2(_+t{ά{rڞu:vՏƫI>#1k ~ɱ#fFODyØ_Dڛ_h),2N@~B =ǵѫZG2Z}onK.&yO6//j틕63˷ї']LuvoO ӌlT-]QDuS!QV6ηiϘr;oi6T7"{G"D 9zui=|>).B07 + [|o.^U䋍Mv`lh:09 .m@qM`Q0:Mq+x,{AWƜfG \{;Yx/Ǽf2~p\=J=~𻀬HD('Kij<-J' L+NFtH_Kj7\P1nxbu2%t>}&F_JyUfSR:)h@7r:1^l"CB1t0od B폝N{XQg9lE3TpM1rpg]+'R=8BuNS]5 V˲@)J01>_H@%; 3tr" ֚'_ (Ws v줇-z͂/f 8Yn)Döy]Y@<TT4Ց>>^vʲ~Y=R6 8[Bћ,r( njz8㢑sXI|5:_52%,͹/JHE,L@o"e%9B82Y?W >սX τ380$z#d<#_?GΖԭ|˨@Fv&I1\+*]K"}Nv ڤ~6dQݳU.W!ک*VoR5Ol%خ87'~de!ݟ,WN`%;b[#|ϊxao& :2z+P9~)t#m\[6$ ̭n= Qd <D-}Uz\DؤnEB06u~֬(D< ۋiߖ >Pc39f4)7tIo븱FQaDkD ,Sٶͽ\dJ0nحyއ'ٸ嬡]bA*!f7I*k Q/O^yY!Ѻ.ׅ~+[H Þ ;zi)`bϝW3l{wci!#M' z)r1W8n#ӣ`m5.^ i#bκRof`G: niaNIO#=FkOIY7(&7{%O}Dn\uk+QfWhB4u,G< 8...3rOx6[~3əj"ưX[DrV65sL 3O gg0>#,>BnU)]S~8DY%r4 ^C#t}J\,e -Ӡ/Yyy{?,h7SB ݇]gk/u-'/*/q{|K~ۏVjoɖb`g|T988uږ %59yrCt|F6kq qnQ}7eG~?oZ4| G(-"ۈģ"#" }O'밾X㤢W*eJڬ|rp@/sVǍ q98zv\1~[~;ًԫ$7{56ӏ=uAuEm^KI϶KO<$>G8SOLs@,<=xX4S g j4{6;H8 ␪9 ;I8/m,R/ $tlYZ3ɬ; IYRC+η:Dcb;ӟz_2{o|iXrusXx #jżT"dޚ$nt"p1IȮj}mTA3/5Cmz,'V#U[O}| RLdyx§u?nnm"xF`-SS|+ehpyRV>=۫aoǙ\L~֓tzՇ fL6T~S6BvC*,EzW..U[nEchyE(wYŸbFk;nb&$/goS۠z'DĨqxvX"Z|D\=jtj>߯mӯzIcn LMu5$D4bE8J8j,yʬt}|ϸ?M+ ya76n%ѣ_63 7z1jb@ݞJuA2ԥ$eO-fޑSd$1cu \x{FRyd޾̎7>y#~#L &݆RS?*̷oa͗-'OIgžO+̮`J:adcytߊJ ꬻE!e+0zLKE5ua ~ReSUjR(>'W洽⑼pR=^hFnKz3f{0? e$}9 5[ M^wr"¢*qsB'u35<7.pD$jݧ.JW!Rxj;/^:0^FOkYomLr̉7_)Y^O`M^.(ݖ|lTgk_;25cc;N_9QToJ]lzbV }Ǣv!q䱥^. k)eMq&m8%o!;?~E!)kAkzrhf{e׬4cPC8ܧ^wt O'9U*AZ#7n-啫0ME)8b",Qt%EQOO mռfv2w+\Ovh<XK3č@^jxÔof7++^LF'aFp̰&3?s7%mtƢZ$H8и7Zyo>?vM[UpjhpvVKpqB#*Sa :d3EO4SFn?f}EȂ܉/yqRfєr k9Vƨ7STCC _U()I Q簜/)НnιPLBsvԖM.wNR4hD%W[W垨v%OiYVCWC(D 2^DA5f,tKv,";TܦV 4om 2.Ntߟ]"=0ۆ&Ol~ pM+/?ե"3!rAK*_2ab5E]4muKp0H]"кp Qi, Z׿?DK+ )Sv(}&i|yg$~sSanoF$+0P֠\㻿nzIbS4[\ᒗUh +g~o)rdUB㋹*[X YZ/),J ƦGk7U-l x;cx!%!HpMi33&h z'""5 ΆFP Aœ&H?q- #f# Xc뻐't %Y|6xvzmY?=@:wQ E)D:nLЎ?޴qvu5b첃^kֻ [ 7 St=t9'f~8x)G[8$Wm~F|bڰvdv=Eo=䎄ݺ;Un-_\ndϤ1IwTcU6&'c!ȰL|ܺPwnEbq°ȸ@:v\ (=uj5wiIic +ہPqiaOz*?7^(CXS,NfFBܣ9xro 'Y`jG50ao(JG[;xL ꭧK7W ެ-c,\,?YSP9Mfg$ʧƱ7yX_̔`myY@^. _.jL99;;4_?49{ --uΘޤßELsGF^aP@"F&,iBPa@Xn’m}V?2δjљkkk00:kCbֱ$EymKGcb+^g'HaDZfW@5 ]v9_#+q-wAmܨ"HUU@qbY"Ao==XXǦW\m!nyCErMaI|&M;+ݵn1Gft:VII vn%3KhB3w#( S`{c?BW"{Y{GD[ʌ'&V;M5lRR/o8Z˰Z8DoM_pFH&g&_lpߛ4hO1QA)]A1nas/# HrUV6h)d.s_J&~<҅f>FtQozq::y#vբ#l޹ Ք':Z8$oLPwP ~F[[f*kaf De8Jjͽ E@\ vWPƓٳ,;$8Fa!QUf?#37`H@6, prXSVg#XviDG0 ZoϊOĠoCdvWTP@Z3vu͜+2^!4vEÂbԤÔ*@b)]iBcpnߐGtV#>6/*AynE.;v9ZY(׋~TgAf[:%C骣^eYe2GF[111t^bV-$JYSaR{/,Vʔ M|j 4ɿ0;HcF35?~SCF=}28C)-x.9?jD P Eo+9[A'+*꟯U>95`bn~>H kl&bgoآݴ#Vy}{^-xZ>?rwveK?V,A@*Jj=lddk,rz9~W>[v0^Io? {jRsLoc?yV4so<5PZ?9h-Re"k2<ާ`ƭeܞ'|aMuGʹCN8U%룓C Zߗ@d/,DW{P#$ϗXTMfYpMM5_xnȴ]h~Xi?OR$ W_J&fjD!1r_Irw~*A Fw7b3a -g;,K߲qw.[~y?;rd$EzD)%hl }䠲ݝ?!C\d_pZ8QQJB%;_xH+l1Pŷ }2q kgӱIX "wZRsS1@Hbek=2l󖍓q^:?`\b}ji? Dn'^<13+;}w$l0 |vH#vq'lQ]v}x8J#}Qʻ؊nqU2#U,LEk߿k&kT?&x3ۋelэ#O#>YkeeE./}ӷ76$ݛM/ ^il^fY dd򵅾3-~Rc/PHO w>W7E.z4 oEM3j\~vּ0 'f`fbNϵF0WBRmPM. Ԗ0JX,<<Ն̱]8zyE#4XOQkG%Rra[p}{n25׫A|T^E[w,}^`+z5=@ ,A`^<,hdcWA⢱-ߢ\,vKM{EƤЌT>[`صPQ4f8TJdjW2:_/G/mw~Jk֩1\f5~暍?A{aLuw5tgei;Pލ#5?uGI.9CvAG/t`TQ f~񽴼ؠa[w@Ɵ] +EGCvv Um>ªwxGGg_;F,+ځj\g?I\:3^lkjZ$%m9?X(q-R>s_.S~twKθ=ߥNf_% z88ũ ˁ=LflNUD&B H` c1@0&S3#o"=S#8:81!zG$|c`2nogQd>%ҒTAŞ vY `<ȑU2L3Y~d tb;zcXG4L ;ܖGJmiľL =+,,,5{=EfNvFvySR% /x৒z-ideIS+t58 \qORGHOMaDƄI ?\l2kkk_Buu?Ϧ=uvj _# "*{0 4Oyyl +UɄ\]]/7FȜiζA%dԎݽA~{Yf|TSKFFV[[nv,')-1ӗ/ԢΡ\ؗcF7TMLUPڑH!q.WkՌ mXP\,5}()RT^ue|KJkIɵwEeeY]]rTwb-/¶~ޘPZ*hEg0˦Uwt 8O[زgT$#V$ossN--B׏٩\sUS92X#((gggO[@[W pzzG-[s>5\Pu|OEQF+aA񠩧Y0JtW&̴ ٕ99885 vL;8CnrϸԂRf ^I?(++{6q # ])G8TB63 >112t d9[LX llH#RD-wT9)]fQ~7Kj[nW^&9::w zk%յu4K:k?fla e7ؓ/3Ҏd q+YO. ׹&ӽkfH{7TQHOp`q߿F$ ~*®4]hPhuah[S@[cyv_|㪮? ?AIn PP˳21!-x:Dz_CGqQ|)mf`2@lVѮbeT)|^(Z,xIru !f==fOCssY1FvCCalZéXgB&'u#Y𱚸FuRI{N& }yb[  [ӟⓒʧܞٻtN"")4Tz؀bscxPp0TEjeI2?xrUd#86@jM)͕l==O"bUY @&wfjj=QVF2?YmJݜ}ū(h¢hisdچ&FFmLu60`^Pǖ2E%Rvd@% p١[9ޡs fwg'0,R34-#Ώ?OO5 h1G "µJf?97#cBդ^|{??u&tcl Kաzכ}N,{:Sl0;Q)csx#G|hD%K)>N\ EG%>PxtݘCD xֻ\W8&"P22z b[bTouy4!I^M]^_Ֆ%2ډZ95'Q?s㺫"O=@'fa7$G~w,(6Pxj^qe0;5ϳMGJXf%uK1踸9~:,(_IBv<¿ɑIIHP=T"(ÍShDfTmInS雭G_$+N7*'? i=)z8忻k;ߤz@Jvk[-^3]NfKK6yu@w]Ogn#&c9tJ+*-711Р n"=~5-дL~eeMN/M%+^XT#j"aJAr d{#ո*n\!H j<S310GW=#yj43 O'P#n 7&JfNXYcGȕ{a.YOv3ZiK؇/9^+6 gۖTc袃C%;4ʏNZ?5zY3!qO=6td Ç>6ЋRKz嵹9@O`2XK.1׻z0PsX`f39tղ3F=㶦 iט7`9wC1Hc˥xz7e(zŽ.K^w7M.4ᨫ+`<]!ڂhGGGI?~<3n[ ^X JЦ+pg@cढ~>l|qqq\ ڱ[?*>c܅A%/ye10\/89ޣl,S}$&%z CC̏2k-}D:??˅~C~}04 \Քq@PUU\)~7QAu߷~ppp36Sk% s0#])Yuzxa5,H|!OʳJ|~=msM<ؠ@O7:KNwE&a_?෇(tZZ[{PC[6[1DOAAo޼yM=c\u1"""b2Yj[.v,"]](W7lP0 ԮDvw_oZ0Zggg`3!WTF ZLgRB&ȏO]y)/j6p%Nj&)s3M h (  osl D.f .V{c&=i|9E7FL=%"AJ*ͭa] *w 0lX*.t>zX7oh~lucIdiQC+:Æ3D(9raD;%5RzȌUXqSI3b%rF =2SqDWOJ:'"VnlLJo͔ 3njjf&7eA0,($99o'X233G t t\ւ_.5}#NO8\U~$΍KMtc @˂#""J6*Vzt 1/h[/8[X,US%[ھ.W4N1ZV*.ARZ^^.rl߼) %`:9h3N `nTw? O!~4`,2.)]D}z7RT!EOVT/)ޡk/o4ݳsv*'bsrtk{-Q_Fr{. mԡ> P땓¹e2O r ԢRHJ5䅝7?ז"{n<2P4WoWї INO z_'b*K}M5bRa< 1&JA^6ạGmpC#(~ڸTFxUnӪ^)`Moe!StMx1Lƙ "c-VV\QA!5;ZfLrc2UnuvK!rLlJ"9Db5tZcqqvz:9=y!~}]/'{tfo&cTбQ?oE)Տ{lp Mp#%Tf9:6*}a;AȎ6f{l7B?8q> & ԧ=cy74qtT:!oR$"$2Vc,7"##mfH@ڋ!}EZּg"F@ -V]:[RߦF<(U"6Xf84͌Y|oǃ133~UX2\+& #̇m8).JmJ=~:\Qh_Q?7QrmYX'A yw4uf=A$!A-W=ǿFᳯKYg~X$HkxL;S g Ĩ%qd=L?pL8XA$j aDC:c9Z$`zwX|gs"WKzz mV?ƛ\JGi%MXkHޖoS\U`l͓.&7I#zTv2l'J6g\I2S`8}Ɔ*%N?dG~<7w8(,lk8am}=Sׯ_#[gPPBnyWPYҧԶ^m;Ng ؖ׭_[q\p_mmIAQ;:JZ)-1LvW5??FNKnN߰ ^kЁPmm^I#IiBFmo$Dt  MMW11*zF1G)pRe k2n[-,jal}n=贪|Z 3B0%`(]i;W?0 T л@Vm33Iv/#bcIdddJAĤDk7q4qhʇ\יK @USDL.𨥏ɨ$9.6D F,T)dwqt&i7w~Lq_W5xDLwp}0iHZ_Wm{opX<,<tl >l]aaZ4Wӆ2Vz892پgXX5y@53f(b k +ȹ5}Ԯ1;f9T.Rd~qS~7aМ}İby-YYelG0N:Ȩ#P#u?M¯ڟo BN B+!bJS}W07ĵKz!eĂgw=rPSׯz7;d222]w'Z|1=5`k,HT@$zհ//"7vp&)y1/.5O'֩u-M-,&6F= 3E$q pvbq}'W:Y8db7+FA/t*,m'A &z_y)DoRń#Jd5}*~??s8RCBd }\h]fmtTc}w+c&[?rr2Z|u)Ng^o[JJw}ь#(1"ۛSRR6OqrJ\㎋Ů6[[:ҡVLNf3hS"hMz ޙ4)W Pb-;.1j]i=ƪ[V}P.*N{%` =ǔQ/16F$[+Z-(eaS-zTRxpϜZL3\޾2Q\Ӎ țKB+ 儦JL(n9@!ԜbN'T @4$0e-u]Wv4eyeb\4pLg_8DRMD"NiPSe%4uYYaXnWDN hRԘ1S+a[Ko͡s5oZ;?kPaݹeuOOQqq/ܭ t44r&G(O:Opl*;ɢ/AsW~8xnG10;!ѳs6Yl?]zVr'd]eum t xu 7oP9/l|i֓5@ !AQ~}>vI ZuXB-כ֫ke-? B-% ?~l'6C7hp_O>bǫmЪUEĎ92[AB!H""(3%] fhhh`*HJJNVX諪ڵ ,ݫJ %gUK%.gr@FCr_ڲRf1 @ 7/8y假sw:k @7Q Qkkז BKN^k'I?{Kauys3z 8eаnfW;ßFQ(J-?#{Ӊb38FX R|%`4 H{䰑X?~DC-&Iꭞ^ZdݙH6 SSSIQ(j uJ`዁x B,Yh-|=CVZDfv ~]_DD=?lngy>---gg;߿qt?A$1CDUOV^/BM p񉻧'_JƋ jV~E3:}AQ;ܴ8^7 }?ʦ-\'uզ|1222bk⺦)-NH 苽IxOʥ_*%е允l!sxAGY:0!8Ё:1E0FYcGGG5 PLX~ߏ;'Ɓx#x@AG1ˣ=rp`qsvp]^$YX~;akc?E|S;q͇Z zD}.r/.xx{~yK-t+{BBBK[1 TUN؋Y3QK3%(P1H3+l*;7B #7Nh 5Lك 8YQM¸ qi? ?9.74ne?:FKYҪ55 @A_$vQ> RԖg`OOÒ!:9C^JXCm( uQPMaf ٖj x&)bdh, `(Ro{ߔVT<)6j̑ΧGR8"L*ELm/<NN@[\5EK\ q+ :Ų >_Eт\]? . biܘu`StJJѱ55z/iLLH0=kFhz8#0pt_.u )H 9=<曼ڑq4yņ%*A>C{Vr2,!yb4`mOQ!/ֶ"~%hYY:( lApzd&]w$+1ה*4 11$nuvw\m@j5*7/-/i뼩v¥9hևY+MSG),2ZvD˜kGgg]@%nlF BHeeh>oj91/:sG^lEK@f(NACCqK8a ѣ!Y=3@a%LyXQI ;ʫ/y_m@o}Hv -Mz[der0 \dE1i$p뻚*w0+߿Dd@<:ȷ!Bxd[hȅ$_3yenó:z oYV³S\g5AfgK,F 8`-Ջ^ |'!4`Ё,[iĐa^|>ed91#/X3cqOfʅA _5vxddd?ʁvy[ Ȭ: Jǖȃ|'ȸP>Yb`|jhyPoh"ocV766G2>p!P&Բ0$E`0 BM]ݦ+2W ;dytRAXUemm(xipƋ0|`5b ()jC_9Į𙙙 2ї Ёحi UUťY Fӌ?)ҫY\_rbGA{ ڡI&P{7SP נ8&Och=:E3Ƀ͚,(n%Ro 9|C2Utot&f2/ gAz q,;I\}+t,Lx@"E HND7bWWKQ;u?4^]_o#;#+ Gqׯ_][VZ?8)Iؙ`SW!! fѡO//UyP!4@jqLxD Qդ$xָ5KKK[[n?,s%oWNԴ#jDžOۮPK3JdPf@ ?YI( %kX60r YOpaLSKzR?oZ{*>kDQ‚ЙEE)'}"X(Ɠ\̹ţ'a s"]\~K/233vt edd| 7dYj;q]S漋γm]+&;8W:薦3_sv3)D'Ld@ c9OW"02´645 JH[_3 -u̡'BK?/Pq9M|٬\K`MM [] ~ &~HzO7I(@+wRf {W]dĢ .;.A&QcrB`0|@=4Zj2.' $5N~r߇}"Umjʇ1.q٫E|t^"=]C--4y]@KW ?=NP(L BGzWMLHRK+b6p8N %--75TXS0 r#AC,!I(:v=.yk34z8yL ' 3a1vccrIZ@thL:4xB\b"=&6gefz4&|gčኖbbTCY'?WH:R|#(gðgk Ao#&rP[NNNKW'J ?ȄH%p9jAgr%367ߞc|zR2P'6}{LRW{VMOl0@g85t zOD}f.+ jJv![0̛F:'j骍Y 'wY?dAE؂4oӟ 9r߁'F~4C2l{4b)?Ǧv&Zf?$~:x"- ? `u&G%Lj߼\)`#? po!IFShؕں:h OX玂?jI@Yeuu54JkŸ6P0ީʦnnhL38.`vЯJ:@@=r>2>^\|B&Ρ:kV$ 5y 4vfov[w盨y)3'`O")S|Pj6֓{5\cgtfeёVҷ^6]l:Y;S٪5bȼ>>c0YmW " ~3(1x +t)%68#-~~rr CK}%j&ddoϯSpi&7)fOd33#u Ks*Jx9\]~T>Y :DmոfR,`Ц@;F裊#bэk[ -|Н =7IRsJJwE$ u@Ǎ4:km48@v0dUE6nˡk E(R<4G詅E3J ϐ.xecn-ACWvz"J wîOD2X[ 2 X#"p^(Iܒuk ߆zcS0uBBҋ:FR*dTq IIË(}kPdB|%V3%Rk +CEwֵAҝ@4 ]&LT~K\J?&bf۝MB=yhrCDZ9ߦ(w])o1zxx0ATkgj,S w01 ыRNDQ_Nix 2t6d廋W/x>+F \\־']VIFV4p㯫ҫS/tM :8h b껩9*I,0v͹ GGDAj<"@GgQﴓ9z$&^x9G#?A뵀NC=(%/^|tq} ڋłJ[ xL+.4X1SV Ú5œЈnoOW4E]~^m@U}II*}O65kĕ$&y΄STŊBTU<,ԟE/ q^h>|^/",*ֆcb tw髚$ nb4;ҟ h 0իW@J{_ rt_SYi|2eș=Y9,t=hPB[ " J^A8T_6{%^w^NMxG>rttT -IkթaR—!es:6/*~ss3t5[݋ϞGEE)(تOV^v I(-;%mVum8]I`wX6OF@/37Bq}-@$g(Ds?DhI٫ KVA=b7=UҬwmX(BmٰXMtSOP tL4U]jDR̳H:;!;G?>/vͩ5?2VJiiXB pyYY1Xh߽{߿} -ZWVzz[!U9MQ5vGۘt\Qc9882ǧ2!){9>cz`ޒLbֵ+tZKZ?-UTx^~BZ_a E6QQt{1fEr&-+FrZ8#qA\ze' "yPnT`X../gkȍImCZ$$"t \M2TTFFAg5jozM/mL 0SL/Ԏ>eG28Fڀ$, zrPTKb#$\p:)7 h#D:l[;G6A9xc!u2yZ}wy9$v"%''g Yjm_}k X(\NB ZJy r?۞.:9.q 0􂿁jflon 1Mt,lwu&~E_Iluklg/mEDI8 e< L8ydJvi?a2 80SGdsa3Km=`i~nd1H.%%[-Bץggk[__S{KK;'dynԮ+]{ Wa@娦^Xٟ֧Iɛ#p\\K#k 욳`V=۝ssZЋa| 'r6g6LRlo7T T{/3?=ef@$Q1 ٳb|dV'bց;Bzqrau ?9  {{<3}EX'5~7+5CYŝ֨Pq*,تtX5? {5.0e63kHwZUeW %ÿ58 KGbs4]06bpe0'IQaxHs{Z@1&PÇ'&Ȝ6K'o6o!&쏔_7+z͂VYĘțs &.]֒}; #Ɗg*I.]%ߓlH)tC:;qr~+{-h+gGoZ&z3I~lG"D:Q~ܿuS+<Լͨ[]aC0I#d/~벫[v[Ȯ8N6ln&oC/++{]}ಟ̑,E'ABދ璿Ha~w95aB-lrN $G_y_?LxK(e^o{OؔukAkܣf7شtuC1XDd>bBwy+zGH544ﱢ"tF (Kzg>bkk)PPx^GA*@t%5k|7KvS@t* J_CC$ cӨ:^ ʆ21R_{Б^8جp7V,ޣ5[ˠG{;:~A3t5JhDeUSTS"7.̆_b }}%.sq|z7QPwѩE2%Mb&/c;j{3(%edXbTZYjCڵ:u Qd$1 A\k8E+=䋓볘:q_`NXkt}b wv: bJ ҇]F? ޒc9تAf #eQWA`DyTڵܑ^f4pwd! = Ad`𬈉 ("ꋃP`r,u/{| Q3uy" U{NLJZ)WP*Ƴ4ޘkGLź7^7J j7oxtb?)'z{t#ձ{{ljɣ&*c㄄s@'WW]Bc=}4@LH'~RGnnJ6 " /2MY rꖶk/~u&kE)y,^IVv|M1+ o)Ijt\ [> w.w>ЩԸ>}bӫ.&f͋۴N7{@q+BykFƇMG+H$9E4Ӿ7-rq`]k_%h ̗|dD@p elp"*"X U D<<fSM Z#<#:::ؠ'1' $A'>RMS QQRM?!GS ,bxށ]Ijr_ZZ"mTk?~Mm {*ևZx1I湬 WZ0Hf+bqL!r} e4t#2]@ JnAøϘnF0 #waRi'_άHT zVp3co$iϡ?^C)ņ(@zqk"I&-T^oe.:[W.‹+ 'Ags悑d*:]tߛ7̂v]RE 뎌z2^bѠ1w#JvZpJ3l0bdn y|֓ #^l248QB:w{Ul9ߛz|kAIZMBႾ V+,~\^:Lݜ#Јնi1ǫ^``z_e6~@@?^;[hkwy6;IPa9,FwEqAZK#41X:L9K_vKϢWL Ώ27.R4/dALHg| /8&WtG)^G yNV)\햚g7BoY+̗J?}:;;2CqauƇƿӭ_5M?" WB؛ѻ( X1;m(kѧ xMb*@/Fye%7"’=ro+LƘ-ʍGD?}Ț*Zot K^D;Gd; \?qsu곧t]m;cZus|0@b9gBGH@ހhzNY`.i.X O ֽu2.rD d`G*`??ѡ[j.ih!yJHN hBᔴv1Tk P1ox気0ٱzff,Ξ?@7$㔶2Lquj[a <'TK` |el|u>Y o9\ ʂb_F6cBG6- mš;]{`*y3KtScL2OpSEۣФLxU ;U" ͥ:hklSS5!MٝJbVJApPe8jwF`j@IBw(~iyHfN|0G,{RrrR!Ue~ #d/WNwg8lՏt8Fp&z~s*#4IsDٝJ3ӸQb<4D _x}G<%³YAO #!$HCjqX"WSbqP:ɬ Iv{F@@`4  曭,2ڟ˔ e,)' YEɐ5tT0>á]^^.Mt`~BN稔)KxUπYY=!nRST(dy~i4\*徑Qjpʰ)::nkX&3G\t@07]m^|H墨m2"FS;{@HRxoW M=pCk8jDmtiD❞JHľ@v A^WL%bzzw-1% i"_Uu"(达^\h;Y:8(51USH1bchmYDwCPC|vYo561d\VBZcJ%6k[Q}vNelNL?ٓ$ZPcщ|:Uah#l_\,*F v4ȇl{NC}o?Dꮸ7BF$_XD~EG(,TMVpiiQ#l\@2?+VπK9?R,dQb؂ٜp4/gsNåiEtVSFwj6v <๎UΥ}=5y{v6 ^4α j淄skNKl۰Q f_:R\p !pfy{3Eϙ]TDyJ%;G<vd%:4k 1* 7dѫ8$|/B&ᣈiLqlpE㠩:ȱ00]J?0׫{vP$Rz~FA-s ~byDF󺤗{oơpqKl|:rQ,Ѩ}]{A/逘mB("1Sk_?]`83aNpJ)#4ׇķ-pV&\m|7ДAflgOwK&lVUs%2! %|lTvkp:hq0ߓɯsH`hSE,U_=P1Mrz&*w-,SfH4Q\QK6t[xn?+w'R 䬛C ~]J, WqNV+?a-lào4__qb7&"/؞>u>X=>d.*@86VHNTm`VD0vh/ClO̦-]pgTNA߼|ٽq:Ty[逞𧞯_o_B5/A^U~]kPڔ,.NYP} =oi@׶JyOS]Dh:Mp۠ vUHBt@(7㼸uVC?لxaVw/2 R oTڔ2)9Y!:4c@=HBUO˔B>#nM OGNyzeHdMllX޽ii/?|PS`a *1 DCR\hx:zw^(?h,o,c_*zζf*h=:\SnHۢud"n`Y>$Ӈ#^6(ԁ&JƩcuU{0Lt'c4DD)l.GiwXߥ#͝bIr{ }E}0H\uj9[rHu}vfp0P;D:)O!sskZ~c,07dێۜ7,ЪtY$<;a;2X>rQL @UM sd4m-wmm5}o0h ' 4Ej&_~a5Ā.t:EA;uv+#*Nob'KXxdiV_.4gHmHhB-d@QM9|""ͨ{SnQpu|^5x(H?>=bY @" ;@XfYyyF3hPO.߿.x`Ņ";__o>qiJP~A,_si9O/o|J)$a9•ίܶ^3zT)MFT݆Hqm^go {u@zVyh~΁a_8z4> b]^Y*y&r[:Yo/1M")h}do~Tr ts?2Q縹Ū%ixW(j#2:%`a ZA<&V? {k/ǯP[V,F;D%^8f~fOD_,sO5O7<]1$a411f0V?a D7CQE"M2o0K|˄UgYJ`wuہ;8۹Ϙ쉡ٰ'2&Pƙ'70TZ\fuJ +i3UBdqF~hR>OU~B^H{9 rW^Je#Ԙ:]Q)Q]C<1Z{t7*EG -hRΫ a”KeؘؗL_آkj$.91su"6bFW*ތl{-Q++f;zH\կ! qrZ ?%+lc$2JEd6W2r0bTU <9AH \ ;4F(yqB?QIP9#k$f˻ۡO#GDLp9_HKjp;4](s96($imm"$OIy4^]\A'JDsy>c3Q=E*}I7Mr[0 /$/jWzimם6A$z&iݓq6 :g= PS<@u|C]Ά.yox 5J{M{z@<@%V0OS~K}"c:pppN{ЬtĦgVp_ggaߋm,:Ҙ6e}Asa:%?rx$w8rqWx4Tnh7~녎\~I&r`U< ?/l4thΫ_ ́6e u5%3 ?դ?{c:N_VJ/Q_aiw5Qr m157-THtxjb3TD +F@M mIa^|tHhN?mliaьcpbʷwb$Z.Rrχ[DGCuU}Ld]\?R=0hW=eT =Trys6 G,?yn](j@["0۴jFBNfk+)"@SS#`j?P?hǑB&x'{{ƶ/%l&OYAf:(m\t͛Ơ^!zOca[S{jkJj$4AAA=9W׏l%q' MNo0ߪZ1tc:nD#S{c].*+}iڔaCFb4!&m88ާv֕_>XgltBᨨJ7 #^H==b'v9v?r*+"T:~<.כD0FN@' "9ZG.Čwax (Rx0[a>,Bc^UZE~~~q>$êؔ,I0=6䐋Q'Y'e_* ?-6k:xk4"ç7!cwqxmGW9+ǧ~Fn)z?sIwcq -歑BhFJB< L24R7>O6dxM3-$xΘ&DmBG$ R4o54*N33)((Zv^l| DR.jIZ,zm++k5F2$<%?_y>a;;;6[r)y|>C!quSXHHjzz r'\R[mmүtMV^6Lvߟ4jpAaWX6Z=/iGZsw~D"orۛXI(ZQ 5فq# I/eAFAAIId;/ b5h;L}I3PSw}.̣۟ߧHB@E4kN7\ݓnt*T5?Tg?{jOZaU HRم`%_OV}yw 9!B w۞TSBwC#M0'qb(S. F\kңϒAS܌%Kz )'PFC)p}hA5v2۪4dom7jwcCc*p>Fcө]Pf׵ʙ=[D:xx=rR":!Rs0ۍ ++m9l9ccϩnw IDV:wܘ="0XNZ4kSlZjk^no`٘y\Y.JG%#hBgA*7eƵ3LFMYM[oEidº/07RS`CWԠ777fBۣiAH(H[ ;'{=)npH\H|9 y<塡 lY(3Au0˭l-)-6P\dLy|zDA'RgJ''.P}REEtAَL;̦.hnB eIo=P!#0vi.9* ܫL0̎ A bRf^ ~GS Mdte߼#DAӧ^> iqơR"% $Kf˹⨸42XXX)% 5"y 7!A3utU ܛ< `ɾlN?g?N!{}?SE| Uʢh ŴUb˭YLwi+M7?}q祐ujн;r8,_S#.+z}&W\бkLv`2N'v B>h b0rNeu҆rgaa>T6jO@৓Fؠ GO쓑/G=E&^]! nOD,%L뫫9wUc~f)NoeN B'EA9 YQm0a}h [*.8&HPH):: - Z^WY"SݛSgv`A&fbzl8N8}6cN4QۇOAfGƔ;4t DVHM_jVÒ"7e,lyAۥ*QO'S?&@G1V瘧ٮv0Rk尧g8GE։17H_&v FGFò/  ]3㝰"!XSfs`khH@CDD]ÁsD`5w? D?ZuQ<}AtCWtPzOR`]ߑ-nK*7}mXJ]9 =W̙u>9JF(]oKT]N!1_2NvΛKhd`i>"ocvb60n^0$3=åSz(jOR˻ 5./_"C2Y 䣻{Ws58 ^Јmm£CN̷t HTUU'( yeWqsyBo,%(Ҷy/^eh8B &~mrr7<(pdwжr-r[,]Z +`z,zUX40!JvBej| ~׀E{9{+n!>BNbW2xԝ\ۣ7^/tomg2HRj*$ӧwDCk0g |i@,,Bm%I3^ Gձ?AD^ٯFW $\aZ;,0yU釅 HW]XgE e~~sS%”Ġ̠:=D2gPb?kRM]8z=T+',E]c}UN{]̇'_ΞhSS'O0`8SCff:Q7[ cƁ_LM͜ Jf/8fڙn8/ 3\Œd:Bf /'kQf@bOiLí,c =u҄r|WMZ 2ހ[$aʜe*#AQT̆ w 5SB##Z0jݮX։t G`հB5$q.eY79hqǽ{J[::gI)B3ABav;cˬSf=b8,f}IJvWed $j?,iϵO*zx3>ٗl[傖m6_XP|thYۗjr{ j.-V e_̐8yARĿNi!DE1F#z޺4ΞQ~H΍,'gXZ9n3kЋ;ȔUBgaib_3hAo6J չ(.v #őjOc~ SS^BЬŝ,{&jm3&GH۽S^"^V(5ȃ134O?$y{W=7`IhQd[ :!Ԏnx?g΋Qi6 LKg@ȟN7_~0`u _ H ]0vgX`FΒUm{Jqn1 jNQEnP=p:hA/*55ݏ帝.O\0-.BsD><5y :ʜ}SŦ ,[K ѣw5z 99Dlz־I:u5E{UO4Th4EWhH9f'NZ~0{|J*z%IknfiHɉkP+@7 GdೖNjOF9 [#Y+@Rb4TKLh`t5|M=c貜؎aɢ'?5sږA\MAK-wI]ޗ~P[G3 674.d $}}|.QFgn>: 9lOrş:6ڴN |xSH?1z MX Oo mA}ٸFP\ rzůU :3袭1: ot@v߬ml^|*Z3x&_hc@HX(i~fU I VL)]3niWP's;Gq־PHPPd@eaVppKܜW|ۭRCrbbQW'OOOsZF3jͺs7?~ ]xD) &͉"SMC >׈ cKAr9M)v*2^E%ɔYuZf!u}]ř؆Es"9yo{ϳRFX!v,/ѥ!+G1Q?DP 3Ŭ-~:קTTT}1o.G&sG,?}z Hfysi¤{x0{[0WJ 5zfMVSLԢ~tpt̤~xTί:}=1_K-w/&BQ8yn.Fܫ|j_j&HCԁ!',*jґ-UY.t@$.05Bˮ:\owYZmbBGGGws]=7&|I0X@](۷o/c="g)!]'GO9.*;NOw 顉nQ{ K vm4{XXi&˂fZ&^BY:$*N! :4tM:l9F8bZㇷx˗e񬼟G :ė)5 mM4L3x̺Q 岙MbADP!] f}}uIeWW9-._07EF{r%o*N*OŚ \ֻ'O^]>xx-65ᦷ." ?yF 6Yc7G],] BNlMi.G.Vwa4 q,lǚsכ/twMFq_Y-z&ޥI52:~SRd.: r^lLW.9z]3\Z΁UUlQ8IN106~c[4 VjqcHNEWf*_,bLeTߏݜn6((dG`вxv^@1MtJ9 gZ 같ʚ啵 o'_k@uYpמ2``E)UAګ,T󛓩 &c쾉"3Ҍ&Aj "T=IPB+Ĭ?FJ:K)Ip.h.G2A)OE&X0Nr!0[}A{b}"ϗ&gU@Ĭ%SUD^h>::qcE:dь8t76>$M^_| ssֽz!$^*91d[vnb8Ӻ)NꟘ߾m8]vwɪAGCGІVZn_g]OcJH<ܵ] JP9-ko4 Y*֓mO<T;qihqx8N:iPѿrʖ/@h&$M)/WP ϕuLlT(Dߍ*H]M#&n$ 3RQ=RȔl]k`s/t{6S §Ot7gdRq]Q@|B]m o`ŁM- rӫg6}G)jUG]]^~ 4һ/ժSfp0}ω9v~3$TeQZ]Oo;v:c `twAQZ5"ӞHt'eSw/`0Y 2ќ|q3ØD+/">%ݵ$,u)ڛY |=! (XhK>FziZMw͔XYB^q ˖eɿѾh_/6V]&h2ܷ׭&c:sMM`sMdb . `Pq62pkKq]y %8;U6 B'enݞل& $ٌ~AZPD70m^^RaL #m6-PNH2-K';fS{c;(u~yy ["Ĩ%%%F$ 7HGwYɆAI /`s|LJo_o/[@φ 6GuwNc*W5W+ c{d?wPI:kQI,NՁhf3s*V=1-V JP{TE\N7FDjEЩqW \C99&t:[ݜgbJk}^&Zx$G/8J+>?=:o|B &/5GRى\xM := |`7^Jel#,W]YO{K[b~ VgJ{3'g#4pMF\ +ީNiBAY-Ш27ЇKv6Nv%{s"d;% p~oVQ&R谛#NxPb]~NNN=j;ׂdc>yg.LPLG. .lg9Ǘٝn;ߝ_G?*F[hf9dUYEom?ۢHF//[ݗoj ]Mv~AbN>)))tnbp#cySxqs-p*D-QY5\l|bh>28h:jz~w'[:U~57fD^gc؅<[*L% CFl֦R?mSegsOwKuobjlΓ-$Qb6i+>AGd.CXP1E_Z\TXɺqe}r;286W뛴PJ\&9,m@D28mVl% >=c @eH}p|4v1^DdX ֶ vhr P/|ICVyR><>wm~%հT x8UW*D7dHc_R[-=QsT Sy[^xygI,dg,-$g|LLASYCf$_ڧO)>#I5@6)WOS q2;dFgblDžku!٧~>|n9uw},/>X@]4V'~d4#0i)4pYxůְ+:ɅϨavaɃa/% ޚa[}Ȁj uv~R"Si}0nAKVimC#rAjv|@h=6]`ҙ>}:Ǯ񦇠ip &O5P32zp:W/|/N#B:N̾j hLZߑB4|D.^\t3ix?TA>0/)GjW1%E(+'#2GNN.E<F:o6wwҟ븯UU---fS>.ΨTC& +~eJF'NM4*9oh4-2seX w'>AĔ>gI$tb#2鋓 ̀R$z\ԓ/}1yjd[#Yovbk{,/>TJ\<υϻBתOxfkl_~gۚ}56z=$+ C'𺔶" #H9̣s[%|' )%GwKh3\VVVE\\XXXBRjj^/dQ`ñp3=,c9@2]⽣T)|0\}XzIъZ .c`HVG_,dtQ.!=y (&XV<|5ֹq+zU9.я|Ӓbxb_9-\+)~`{Έ nUS&NG2Nǫ$~Xv kWX6YöDŽ|UEAg, 7840gY`y"rj$NR+20qȢqFh\*>>:a(џn(-mpw}&hW °sXA$g@˃.Dx4AR:/~oqs',"U&QSSsa33z A?+Ù3؂jSR=wn7&ᵲ[mz+rctz:;[?}ף2щ_u N^" lBqA`Z}KݻÓ'}Onǁit㬉w<7; _:ߝMaa.*WXVVVuDw|r& ++I1[mȺ骍fEcd{Lݲ݅PJ唑9]mIܖ t@꧕fWc?n de Kn}b< >J!UZW ـd"ӉJm)ɴ6NJrGH|:*v*9̏%CCRkp`gp0N i|0i@䶀~ BLvY9)DMSK<7;kAC;S//QL۱Rj  k4O -}:n-z|eRL /FNP+8A~G[o9s~qwl%L!jF~SQS^1tkԊ޽5s9W׽7;.:  3ץf9O˵hZplшd"qXG\5QDU+":TGh((9UfCC ಷ:=߃_SL &8{x<_W(ӎ5fXEDe^pGpӍbHAB!3tEg`B"%UTWb6$@w5ˬ[7* qtm}ק[\㔟42ޑ WP &TG;%#T/5//-Qz_`a煵h(˰|9ie2YmF+Hl3zFP8 j/WKR/H`U%Gb{677e@iS-Oqo6ɎMJkQa/_&ʍkaytr q >&)xThЬ/X^ A9 zT-x@p AЋ)ӏ=?qoƉD_6"6t}F%F.|ov!<-)o|Y ڴCFuPM>4PO.ɨ(Yw x`,3+*L$!^*`)󸞛m5y+]UtDgϸ|>z7 ~^u4gBgriH@kE|3?'1-}؇Ÿ?cmT,x,XV?ۀD2Vbw199K %Bff!gĪ?>G5.y(.?=`/0qתAݽ4fSU:K(`݌~EB@b)蚊R|K?: wl딴xa҉4(++LUk˛Fo>њ:l*D,t4ckDZòˎtBv9Qݎx_V:<BC[<I8\ P>3 .*ӸX,ħCu9us<>:< QF]j X`8̆,x@/#FLw&+uXҢB߼60l"׉y@jla'j v؄9\bJʋJ3aORlYƜ*CF6 &ɒ/Gm6@x {,755%,,q 6]/1P* UҒ&?ifjI5j=NnN[.Z=h^pqVC .B@\z;bUX˥|88Ux,.[k'Ou= Z(4^iA&/۟۷o\1Oc $V~~s'WUABMGiʋ?j<PPf>|RavR*OoP Y>>Ҳ6fi(Yx{^.F[l(j4-w  rm~nRj?T'tQNaz&Zl;]-߻=%yHyC 4r2PFtYml(9*lEqR"zw}0wWQ⁡޹D* M$+`r!+c׌.c\IՁdAeWu`#8א ׋}fOtdm~ P}%qkCs<:}{j{rcx)UsNzȏ~۽!Xx-Fy{`[[I8,0sEҤW ,g,k`\ b^=le%vލjiTiB؟`fN iJGՓ[c7 c/bBXa )]96GgWWlb glO|3WZ mY>g @W̠a;J %B*1qHkfVhN.>H]TR`B]\&i1/BX$$[#G ̎ļݵڴ_<+8M؆ۏ_j_ Bs˙IiƼg|vG* ]"΀dϞyd,oB2+h E )\0IdoFtvL%4uׁӍ`FƼhK23`Q_A@ G?zߊ~ªzLP wx@'*GC3 ~##_ᡕ9RACżq)~ˠ>UW8⮊UC192r)2:cp_(=?o!!%3h䷼l w#`F ;Ooͦ\U6TH;>$LM{쇏OxbVBڡ'A2'/q@w?K>;&Ou% I-N5VK}ڪcLr=xNۋ9G.ѓ~[Af (w]] Nh___&cf"s,ɺ<$5pD&.f흝>fSuQ &%dW~ (€ug7,_ %vj >>>EU#h;MHm=H&=%==}"2ojYUw pȂx1u| oUhϼ|\ݭAXD$7l%v:3)d!Q|ۻ]pa^KWe˥M9Zw z ßdKQiW(ԃ0a3>t/E'9zGCi0蹽/Ц衬\1Z[ȯ74p|7ӊѳ .}I o{]ѫ¬Ǖ'#7|)6JHr ~_! lռK\M_6=$М_JT55'򙳞r|W:Ɉ$7jф4blGMMG7bT [@c$bjTz)_KKKC2(@hvmj9ۙwJkFW=UhGMF +!kT5EξMG)b6@ 8?<<\WI0ÎcSRFW;.SАr2r ff:*hb^ᥲ%.ar4I<C~_5I-'U) szA u*?c&Y!ЊE1:\8˫%F@q:V/SƧ$M'^nD?w9MQяo 䴐1##cF я! ka}{ixw>cf\w[cЉ^t>[[q[AkazXflJ Zq` ,3i@I4ۛΠ;v6)?P] ՛;"rH4]_I"g4qL{Ẹb'mm^Mg۰*ң*ת҄Ɉ>m\h' '{5VSEGE.rg[.zv~~b>9v{ib_)*,C)oz*TZEvZB ssФ{! GavwfVYZw}ڇ<@W(emm Ԗ5 >)VZ6&A8O 6Z l#,?k}'_:j# "-Ig[?y?ee xFHxߐC^pj)X`#=t;B㩡F@H)lFyr9j&=n9Eh6)T!BCkʎw V–W #:D\/>BfO4Q+Kp/с?^륛< ZN}v.s ztAHţ=VZ$\H t8p! wOH`42T3 kw:kHPQQ󶱪siiiX 9h 0ከh1'''k3Ks<%$T/4R*mªjlǔb^NDwwin26L1ƿAO7y ϳjh*X;PQA.,U-<~//LBBrlmq4IU5͗qğt[Z@MoKh|鎾Qj1vLPP~[o'CI0BCa߲..[ieeo >sċаG?e}wm_ScQrAww'‹%--\TH>vn4R->h;:M58 I/̦€$Pt29pL̝qBNWOZċXä YInaeK v9g $\ZMAjeGW{_QSuPHP刀ȲfuG 1^*1D}S&oQ0iOW.@JjFo/ iUXT~)}1oO{"~@N Qk=FA%ϐTe] %| 0ss ~D 9F7~E6z7d4YBH;%xd%!QoA)KDZ4^5)}*3UmLe+kݎxhYA-cUBsJXv?ߙnÌG2AWd^QHTI-6БO@W+{b w^/%Dȍq hW4gDDDzZ 'LS rEЏƾCSqpD+;Lr.qaOn8޲` JR] ~3fY'F[mlZQ.&QT8:hk},ƒ9jk6E[p)&H/f9䴠ʙ!d!߿B{qŐꍪ0.ryQty(;01))irlM8|5-O:;.F8$D)Ig.2G.XB v{1T7_$8; |pwdFC/noo.f|Z)_,}}:G/  ok ēy|xQ-|Ӭ:>`@s@ъg==moU ŀzeH&@3:4bkʉ\R^Lm0c]9,,,**"߾]7K'2Hؠڼ&A\7>??}ˊ9s [״"jhp Thmiws\{Lìf`+dh@>ɻXu9&Hd; L5VNeaqe=r#gϞ.| :Wr:hHo:B:Ҩ;$Me=2-fM/`\@Y3j=% ..n6Y8Sty}ֽ3VС̟'hik6YC<]7Ŏ']\XeYYRg^ !;PᡁAfA4C!}ӧՍ<܃H'eH ]Ŀө\Nw9/o;.[O}GT(tx TAU+լ zч}vv:ŀj//6nC;+Z5uayvn:zPW)K~tt)~fq˗ i>֣t q)qé" ڄf=<;k"-77wzz: @7/'A "S)Tpm1[`%,"g`(:f\q>[PuvZn}smiN;^1F z{t"8NK1SSSx-;Տ?>*dВ) d0)0Tja)2[qݝi h$Gvgcv|||=9Zh ܋/~\޵0PRښ O v9|amјʨ>wc լ_Β>X\h[Z: v"#z}o533 VrNQzVŸLP;"`"C)Ÿ!%j#ZfCttW(둲`(!5صAϤpO'@@6]a:cG~,\e5Pm]}y^P?^ؾK߼)##"2`r?/m${fߜ׮B? Po;?|.;:yYе}E3PM^0اVf𔄤`ʿk`D9g*mYnTMՇ7;|)vR8yvk=8 ߵ\Ry!3Q|JG+TT=h-=)h3ƹ*k8Uzآ=|<z[_@4#HՊ}ƕD̔޾jDF0凁 93g1g-Nbٸ@Wӊ o& ]>Ҽ| DDnA\RLt-_y@ >uz $)m W-8-5 GvUȝAa8Qv_-I4?.^|OAۣe~[Een~0,ɊoߏKRMpXk݆lj@X*3VX;o<.q2~ $&Q $횱w*(3 ^,ȸٱ!2gM~=礤K$w}6%*>@OOC;Q^BA˨{3'ĸ@&e,o]b,iN;Bo%NNJ-WtY;z_bP+) M6B2i! 3L A&~Fށ^,煴N/ZO>}^+l&f"frth1V< z봮q>H+DNʧbYV! :ڠ~şYh ~550~9ͷIi6Ȋ.^j?VC)ĻHt5[/{hWR5 ^$M6MYL-L-")lJ'EBFh=DNZ+1'op]q8ƘV,\e :;Nbx\t{.=-?+G <'N;_mj\.=N"MYmrGK=o uTг$W Ph^{aEKaz#l* [Va! X~["Tׯs+#^{:C cU@wwdZT b2\ixRo_Vm-!XYwag!T344MꜚRk]]WeY1ybrKqӔ ԏdۻ%W@ _$?R!*Նu܊ٲo eb$YFQذw+6 &o(n`m`h$MW;Y}G1<29zGjiB^Vb t1z=JF{̶Ptǧwk{9B$ߧOˍ~2%q~ydW6*Jd_kdGd\X k0tPiWp|ܟGd F4RMz7>L!E|8@Qx1dWd޽dzY<8(HS,"[Z1W|-rZ6PѾ"sBބ!O>ɐ%]X; 1xR;}x&Y|H/u`q&TsSISPI5lmd5Xv-r$SvubB%ZǁlYWAE]IZL X"PHXo|Yd]+V/o>?RSS-R_/M -gD*:p4¶a|C{ -&<{-΢w\N? Iv2m $yJFy4!~Prf)4hvL=rrZ4>=}O> GMz!o)Kx-#(xb%Dx;h 'ʫoqvi{ 4 L7L?؝Q,ANv&t8vx286ҵAAL(Ơ#ΚD^[i3/[ jNWrr\q+J.|6BrWYL#Y2 √;ߛI*rd^J. dܞ|Ep~a"$:KE3jY90(cw'ρجo[cpXn\8=y02nŸ\{|z+pjC$(/5-/88S:څCך/d3yK8у,cZ|}w)TN>?? |IeՂRvlTll7HrclkkkUz\ ؝,G_ꫛC` G_c ~j' )|((_){)Y&⽷(_]ŎMwR.cqzZ3\A3ի,q ~9ri6 su5魱&cyѲ[zPၤ$L[[dP86d¡BB0III\\UU}Q'PXz8Cw"Uh-no0 4PQ-2pR'+$_rq8\ⵧMq[L"ℼciJuM`R덃BzKx! /TXfg,L.^ޑWG ޞå?KX+j)Q .gël˦@7)II߂I/ڲa̛p6KX<2t_!INSXtI. eZcWWvMVY}QnD-߈{?Í兮t0=M)ujSn%J{7ZDD9p1l+GBrnxwЙK_y3`h5TJZ/t| ~56! ?⡩<=+??'..^rY;/{#/BO"5܍[_\dZ1z `& Bil0'[ƃF!j&0؜4 &9u]`#Ql<߾&Mȫ+е ]Oappqq1pH߅?|s?:gA1`Y_ʆ{갡Grg8*ƣF-j)q{ ܅g"%ת-ׅO\!4'#XPCзyej>^QyW9`%Ey,nMVẋ66Z9n(JCnC^5tȊoy>{gy8'#Z> S`}>z#wj:HGde'ɃbY}RUՌ,YaLN|6?և KIE3$0t(4xmPi΢\jɝsJt q0K"L=#zqTΦaMmtPw\nJݮl]XLAJk"jc0bp~6s)[n #jlٔMH js \|L)p^rzqᘞ(w$~o^;XVo1W`;=t>\f<9,=RZP~1쪴묿 Y4#T͆_E7$Z'Ruז%V~|9pKq7䳅F_{ˮslTe9uS;;0؜6eMuHp1qHD7Q$$aUs{o. Kmz[֌i T+ǕAM¿NbێB^e=_`TFN^ }CB R_q;A^ƛp f! ՗n 4e$MxmUryKkJX=\I?A_E]=SPL񫜆K.3a^Wn@kL޿$f󲠁~T6vKvl iȞ:'#?,-Voϙpb0]@SWto%`ݜ"݃'mVHž(dGo&<EM ;yMr&?9tN].$X<6аdb'4mB6`BsAA[qjÔԬT Ej &<%LÖA-%"ϻ4[*Acع凇BHT˚yGt插0`C maѝ|,Y;H"^(i1;˴bU  [0M ?Ņ;-m5 J=j@;0tzTi:WQ8n[!͹{dqWyU13nF}&^ww=sFds''hӯC2-$tszk80q*Tav9*dEqhG kR>.C+Z+\%h3dm(Y"2,־B ݺ;Kꌡzeo׆yO=z/nbgA60qJ9<Ńܩ@yG! Sg`涻cV2!G<5A$ChC5]TʠeUͻbkBl;N-劸u?wÿVFL<^vV>-w@߉p#}ʒ2ZniPh$#xb8!C95[jK /SbVVVfc7UQ`DṭayWYv8pg̭MFSK{DX*s X]~2Mk4!jpo6+4᯷L!gV?3aw=r"mZ)5z =Z{MuS(R~[4IOfJu q᧱]UkzW:CYɲ{꓍aIUK9Al,HsB̗F#h3Փί[سĠve9*YLcin (?L ,VtM\*o&X${&kP 1 ȃgbi,\VJ:JA$bRX[#: ht"0w;ClD YR~GwVLOBө>7+ٍKtɇ{S_!ӏS%ᘁ)AŞpŐo^?X7>ѴR֊^e 콟E\͏v%BBˡ2kbpFm]Bz"K]aV0,ԅk բߞX"۽iݩ:m,5`!wr58cqWe,:o cnO{0r ۪Ӽ1ٞpaֆttpe!;tJVV qߍXgT/6G@nCD:s_|K)9]3&V5)<$pڈpI^HxA c~,wf9xHJK?ԤAgG~eFZӈEDb\wl7ò r?/jvMֺ:'V\95`g[&|X!+ =c! 9nkGO_n|m] >D}nAG|A=S{Ð +Low\ =|kЙ qф匌 \_j*ʼm^~ _p"% { %q$Nb*o=M^Y6i>鰻Sζusjja_U0[%0U KAk_R6Rn4Lr|V0#ط ߮*@y"Ԍ " LLI;A tJ`, @ D8 '$!/lo-/4وl!R9E{x.p3b$i5-PZLh4~t𴹤b)QsBa 9ǡה x*7 x xN9" ؂Y2U LA+-ku+N/&bh;IHA1i-TMFDpA&}Ќ_1N$>u^%9CY~o0wFoZ\O |O{AI-YK*RPlzP96jқPC ;ǭ/|-ʇ6oB($TMBE ʲ . kK tJ݌MEKwdzj ,W|Z8-߭&[G5L`sI t"쑮[u:/SutA^Dz7`H:XB%lU,Z(! :|ſ E1K2dŁ|݇0d5b ڲgae@:\`^ $%,a = t$@WunvwH0ۃ'ڕz<ЉjiID3WPۆS d$K▫hgㆈ RP!As,1KbHrW4t1}ɟrap.Q6j,+0A_Ly:~CzP)(D+H8 0eLI6ξ\_3v*񂐴a4O eRZPdƏہd_0΄޹2l]$>/{A&;7HA@NR ͅdmP˪HBR^y=s[FNDu3["Fܦk+6Q8OUeX3 P]/ 5J$M%t脨`K (aN0NY^A z +RNG#Z) 6P+Sn >7 2=*hRq_r0m]SOt>" Sum # ;0!qBZ$<;I>L~M,S et[d߈j 0Tn o#N+t^jm*%jypśT~Krh1Q9|:=ڢ{l$nEK]?09Uoԉ٘Q|B&q$집fҩ=[@8̘kUοec/-RbĖu00}׳&yMYMYP޾HGy/s_'yf~h:;3kM@:iI@uAeE3ЅѷU8>8٨4nY1((H5<0SzjkLQchkBTr=F.=:l0T[nzDG͍ԅ)"Zș*PjXW49v#bNݳK@1k eisWg-JwȲ6i  9[kNWv3s ;{ +bo_sMC/2*u/xjqt"ru{ *=<ӒGj}$4Nyz"4S[H~#nKzN^wxUO"z?oK6ϭPD4Ty_ϪnNh>"]Ax!*iFݹ-<-so3=ܖPv *`$d2ɦ#$L /Gli=3 9+8fՀ9'(\SN) ٮ<\$0;xr(ST ;ANp@.bi~h(@LS_k(XҸJD_P *waJj>&R>HviUzzYݓh䏦e%lm#]ƛ8@u-e-Uփ3?z64Q,"<<Uo%h C_|k]FP؃ TORqm 4oC XM v&o0HIJ S\48-BtAU+зb}4TB/.vGAj\A=RѲ\]Ava?Qiu^ѳ_O)p( (۵ 'JK '*~;g^;wQȷʉb*Ñ>WPKlY4svx.iconset/icon_256x256@2x.pngUT KgKgux DX]:CH  (%twJHw % ;9^&2ZwpUeYt"./'`?8ZyX<<↑2P>pj81 O|p3l6AE#X_:n{;♞ rH*֗x16LjՊ#gny/] :j3:UIܜBXY2F.ұ) QUS @Qj&9xorotd6=B9,)qJukhFtKӀ".hddP ZxO?Qd|HݖRҳڟd31DAEUO:#'C4OqBysX81(ЛAl*)Լ\(mMDӰP&Z28rf%y!.94*͖ik!:] Śt13UƄy>&%ć $aE`̹ &tvliد=+ۮϊoknc;[hoieh6],7z.ɱ5CM1:rj.W&~O%4^TޱZe^xu_P@z7ӇV7V K^r\񌚻+54⍲V3:LW'J\J1)fP$ۅqK+a孢J.M7bʬKCEE?6.9AcʵGr$CUջ)F.>)?Ɛ ta/ƌ}Lͽrl|S~;963!cbQγV]NխmgJfJ5=y @B "}8D`vYW?驓Pz1,}0PӋw.h='[o\_e6^o7Ye3r{PVte joڍFJlG_vs+^E_ne{i9G I"EfAY?EH0k1jhHvW†mT}Zg v_]F'2z O`zҪ@a6[J /|[<\I\L¼~R4 Yv]t|n'HYLX΀Pâ)-q -UFY˂vOHM^~>d{{}o&!΂Сw*= rЙXLTG`ڴ))tEv\Ҧ}7!o#x5x|4&|#Uhq5ay].-Ȱ(NDbp4ؠ [!3N$ZjkRV zӵTK! ۞*-#Xn Q,b \-AF"_==:;;?T Ud 9F7+JGգL\eS-l)+ S3Ϸ~9fcF;$T͉tsX_03VI]5E=~eЭȝNS8F"SkMlUcFPX-†|.+=((;o ,H163O{ѯ;{A|zii齩"L RG_kj80|/%>6Tgqyw_t[<<~Qw-,\)*A1~UKKKk7e#$$E&SHA^av[ֲ PB, nMs_t{փzjpdas*`V'6KcZC ƔD5QmVrut,i}x]Q uD1ga59`, |xK{9#9A}r{=8Q>Z_{HgdЀG3sN˙ :&\̔#RBҭ'Fp8oHs/xw0믦sҔ_OnĬ!F0Mܞ2Ul8,-nֲ_{{yy7/G8[-gNXN'j:ËyFClVԂTjL[@`@Z}Yqqu irq~oR}[ Y x!lNb^K iPӢfe(:;|jE? ݒĪ-W@ >cl#ʯGd67A455'UO)-B $5( ,dլ#/l6(Sm푏ʶQⵦ.C5٘Ӯ{:j ՔSS<@B] Vc 1kR`^Phk"raoypŲB8njǀ4Cj?(RoU]^euXC?vjDÓs"{)u_v.ux]CDh;('-pࠈNcE܏{~yz5b2_Tg1zį̍w3ĉK3sND _dHw".Δic"10?=e@~9j.O> Xu<Ƙe Dxr*Ҩ_Y|_ VFBן":)MGRS&''T̊ ָ4g{sLqU|444D[eg|:(H6TY"G5r)~_~vX%%.##*TpcFHZ\ U@ yU|R 'C'!2WZKnwl"4PHXͭQD*0Ḧ2bα?#?Wt%g>Yxc.x]E>4v"E|+|3r3ZF.Iײr @cq?Ks0XbJ$IAɑ"*,{Ӧ1N=E-yÐ1xDF-N\g {j.^%EeZ,J &ݐE W*8'|ɇLgu#M\B,>xp.GaL"6W,ݟ@ȂHIvC!0JۯNjKN$މ%rp ʛIEzZs FFƳ~bGaO!2nqc}L>-)C/y0Ao5MO)Xe4vl_4s iqsҒzuց'-f@;bY>^LWh{@hvr| ?bgtQSu`v,Kj~~ \ k(b'ȣuY[_`3<29^& mDJMCAZN NOg!NL޶5b]'["4saҠ@\W7\/shG)*jZ.5:q@nqVfRZZI,^Usĵ6qT nVDĒ0zv֑LDf}7t[-EO9FCC^ñ#)rj_ а]@^<U [SIaCw0Ah-poR ըY9н+ *:#Z n#O3R7б \O7䉵+ll'j h(1&ihl&5`WLZh5;MVp%Za?j5GBy_ x^I,KQuQk8Þ}e-N#*##}&\l4O;@']A `ҿ4'*W 4la hug^zHTo'ҡ LEhU&#s#x*dixΝiKKKaB'?4k;M,\"$q;Y W̓ zaԖ0Yp@ >,Gx: 4Z"5"Y_n?2 x#7+)wp)mW6nLu#Wt5kOARGyN-(AZҥӔ#K3Ҙ%ͧD&m<-((c48'QhӲƵ.1Y 87Ɨ0οəR x`.ɣг.ǘkd ]ҏxvȋVƎk>4aSHaC5?#"_ )!U%{O%;}V:kАnDnUb[*q0ZWNq`' ^ ޘ g(tiNƋƝGK] 9Zs&}v\P M\MSi E;5<ѠJnښV̞ɟWȠav)J뉀A8q0ȰdY2 q"b7nVd"<^vs_ő~[ѯko*҄m ZK /YDm#C`8|pn64qʻDEl^癌pF놯+X7HhMCw(̓Z)QġiI}o5[SGޫx0 wDŽyAe[WiD=,L/r%#A,yIN(YMݍz_[@wAUX_8TN *W(ZK|tتk"N?>^hbq6aj8sΛ%wXVy6tXـ9ݧU*b6lVϢ@EOL+z _ æ)\@egc|MꥒWwREiA^\+]]2T^vF{%d9Fpg\o yC6@QS ]x)*<ؚ곁浿K+$$ӋW b667gUF 6 0p(7X"igav"  N-9:P"f᭻{U|crZUgWc12 ;6 ê3.uL3`8v<*xH{fnSv}f4/9,ź&T߆`϶ Q_`֤`|:Rlw]cw1 rRj0U{kƏ?4_QoTi@Nꙛ1f*5r?زFY//~&II!]Htٲ]'25֘LS/&UPb*ây * N&\D xyj K L3ugmΟbv8 d-rUΈdˆ`W4V$e5?M~}7M2!bG~/s' mdY])Ӆ08Xe?2@UIe!^ QD1iY_ BBR]\wbfolWLf%@ @\tmÖȼ^V̈!=T"fC+;oG@yejnJʳ*rOr?xď(I:XidiU1mFU=h(8P!P@0Fb(} T6J'Sp¢7QB5u*|<}ԫ) ݐ uË0AʆJd'\ܤ7SVckaPwӮ F NBB"~K}ƊdfqAcD}K)%N1B{'d'f c6:劜 > 0n]{yi&po]ŕG?}?UOF! 6\o_) ʡaz=΀{s\2H/bBK󆚅*Y" cQUV}=-/:79<S3v5uuUaFVV^#;2e.\)aUX$ c5 .wڶN|ڪ D&$ys{t&X:rjџ6a3 x~_#kAXinb)W8wCim_/"#*Ġ:NèBj}M*ЁݾD̒N׹K6EGFF:$dg\G@Hyq_0/F\D朻'K֕v-"67xO z^ÂSJ2{5c #߽Q Ò҇܀|llc(ߓ!pSY;vG? R l;?,k ;ĂÂpb>?]\葌jCm_,X~ B$ eeڧ 9 }n zm-nO Jϑ5$ 𢡊 3Zwe8p$\?\%:xO7I "jZ'X#K xjxsw4@ 4\hu@88Ar8pzȄ6gmrzzD{ˇݛ{'h`ԆEtZg4`ݧdaGhrQPï vOV8SJ>[뀽kC2ӽ 7iC3׾40@r+[ A5c)9BB5"QG0P$ҳtK:蘊2( :@i(pܷIu @-5vɬ"@P`}ΗO6Phbo*TR쥘go :ar!pddH=r.x|!HJA"J!%tN5JɯO1ȉEbyj~dFOKkgv`}F YS+,xSZZo8Éxl)>P)򰰰C@ОqYYvs * g#5/Uʂ_R'H: (!?XgӜm ".-`th 3G52䤪zpfZZ`j PJ 44D*8@{Qo/5u ABL{3Mn>A_(͠$O#.W*P< H,gNKG.3B7.oP¥Yj7 n+rl7s z`IVqA>ZzO(J+ݺ c D-rPBl5I71M!.! >d\1.B[\x\Lg'AI41|k[tlSG t^^$,fkq) `!(?>gЀ\ $"w9rhۅQ@N'Bnlx{'ۚ;H!k*>k`@(uErt8~l%g*o MEX%gԁu>őӵN$UUن(gaMhs~EJ s0X|q'w r?PDbDf|>nԎ_·䯕V|7x}5% 2A]<bn~J(ŨŠ(Ye޺SE"u9gT-mvٖ<_DDlffՕo~3OX ]2OeHI'/^e|$dw>U0$\x.,ȱr%!|٬ Y 6=\'!F#D qܓ"W(iuզ-i5伥㐁ï\{#vzHڈAN/ÉL'K^:7/ 2OG))D홫w\d Pf[q '&lQs,ͦY󩹺Jp\P-K慒>1ϚJlvLpiԳL, DU].3G>WVildn%fW*HmIw#!%Π,)/UTv^KW'@ ``BIPq"L\!SNe&Ͱڭ_E~|ƚ7RR|@|'T(3xҸ%PVeCGAlvXn~ ZBG oߧro&Y947,fnYq|7Qb!r4AOW8IP8n^5'2vxaK7fsOETL.1 tgj)†ό )>{XGvhxo64z1rqyvOO ˖9J*%3o\>}x|Rq,\NC7:ё:^ `Ol|'<"n;PC?|"*om]mwk)S̐i(,wMeU{aϳ5ӐOpkD8N`$wBK%T zܳsarMJڬSU^v~ۋ|op@m"6P.Afȡ.uFHȥ5;> ޫe84#.;^P޶wjmc̯fR&VyB_J }`s]& aoS |Vc۬1BmMO̿(EbPySjrl^ ޣbpbonPjUU].U+V 0B_ u6+C ^9/(uPབVp21iyhԌ9ݞ%ACyg23cKppbfCO`ez;Bx h0Tx^AT \1"uh/6F(H9=OwbNl?~)=,Z EZJObj͡gP;C&d"? iLˡ:2Q- [rԼ/ŧآ^,kjb#ߢ bdkNo*>6DV=U}XY'RQ!/ ;[no6:}wTG4\22/({EƻPCo;R,fD<Ϥ U#΢v#21.o^K02Lۿxz Bn/;YFfYTDzo~3/:O@ZpG6d13&VļFLUkAOIBAϪ@m |jQ &;!#L]7?/|*9KAaa"@GM긞[]!gDgIML=匔/Z_9h8uՉnþeDJD7 u$;#ikjib:)d_`d})xm8(۶dgK"CB&##PTg^B~8ܓqC+wUhBmhX2'Q90>I fV94w<t]@`u9G}уdP5>QWVW#=ijʰ%QbؠA$)Tq9zTJtWi؍w{o$0 ETıwA{dmmHLk6N1̊ I9S62k= Kc0sb{"ay`O?pn]7 g.=K&q!ۃI5X(6E,19?]~_b&=u~}Wl*D?Ds꽋"<LD,o/|SXo> }wF9oIrtGl7nyn^7º+ֽ*7jӼ āl~$)p{@Ϧ!|]/1&6c8}U5}VH| q{b0r1B^Sy؀AlbK>N9͛e7sغls!lSx6#2T a+^p qo"@*3إʌ*N!/ %MkNJM/PH),_Tci^6>Y 7hlUiROBFg3nITZN_񩘘PZ]JjRa [m-P/{:Y(W_Esi'`# }-`VrJק `Lُ֍Fw4,OjUP)-WLzLvN)CcWHxe1*,[=ߐLl7[/a\ElBQ0sۅ ,*7&<1Ȅ𘴌uHU|*~vixlc:SB#}4_{~5Q@M%~c0AcGq{E@۴{1n惒ċK8zGI E/ٝBAĠ?q|i@`Ne-yA@!62=YR役*r2[4c*r}CAڳu]JVv5u7q'.7|8r[ɰ- v wp- >.=-Qz+]}M4n}EF33a;>J&!K*]л3ޭ_xs*VS |jOeDKtHS0F&D#tvLUDt|`{W8c­-K.vޘz5^ 3ssrY"2-p!=q(`oI JiNEԺjO"dK91hcx! 壴 i!{IK@pkϢc׈VhY<j/_݈U .(exuNW??QF_:_gy%'#Q9~ Vesl"By<(04DdpQY4l3QxU/TNJ ]<"B| B$Pm>/KA.6KA $ |SBNN[m.QZ- J:5V }WGOxJC t\WuYռC=Zt"$[Q>43 ð͓uwbkD6_ kNeZCKMCgNbw.}YE9òV6tp ?P|Ɔs=:ڙӜs"PÉc{RyY[/xF40:!\s3'~# ˋa77[Ϟ&24>՜BsΫ-s%;% l apT[85 %M)j-v=c> ֎i32涅^FsZL=]bz,ҽ{isqt)M~A哚aRc/.\`zBk$rN3[.~ccEzya{:~kUk" ,ecZa6Q &WbYDݵ|o0 \n&  ޥ5zq9z~wْ|Ɍ6Sk2^C}zq6vX"O,m 4 x*zq0g10+q1i54u2%vX8lhcPPZ^*4;v"NeWWI||?[8!t.QΝ A# :xYjZiK sj91 |b@| jHrwaw|bl@r2&rp~ "vŀUDR&;2^gjBAaRaӖḢ nQ61y嬅;̞yB_E >-yOLj2]Ϳ6hvWWk=[mRm>{K0wJ qΔH:lj-`[_J[ MxWu #c b2!B"J ­wzmwjnc6p|J$y\śZ˝UFK~7ˍgݨfs]~hvu\':lTdV 8yž5+mkd:{l#l-AA,LD Q^ods@Mッun[,??U9#6^V]E@p6Sv(QIAHҌF8#p>0>u&\`x%Ox˥|9o+ŃAm5N k^Eeu,oaLZ5*|WS҂si\ \jj`?*1ص?*GZP v ͏,F`'B\$8` ~ |PLΘh~cC]kiA`nDpmB}&#t~+zϭ@l~<|Fxp0Z|alV(˱n+m k;/aNcFW_B~1prt@2A?>,|ʲJųu@y"ݓlRVMSdONcǽB W4>һcU/\a9Dh;#hU}UL)P$uU7R k3|8Ӕ&=<j/FCsV$%7A1i2{[O{Pjj(s48 0vobMH,б xN'V'!RR3O@ [qkg}$ʑZ ,"CF>-F"oʋBkL"`vwaG M4?jD} o?5wO%MTyFِ5Geؼݔۧܟ3ᮗ]$i`k:;m#onBqQ #_y?>ܞߞ0pev<5f~W|C ^*,Um.+_ )DW!b`Dn.+wE6JUC /=<x bs%YL 3%@uً'ܭO1a=}Qxv:GxL*$Aj Tɂ<i)1@'-j#aˤpH#O#q~l( \|xeѲb1^GA-ں?yΖ\;e ft2>>l3kox -`cm(˒B෵h< FG%q; }|if5OIEWqʇ/wa":QȂ ̐ktGjߕO<#bX3XŸPɽ90dNRXP-]x+[on.Doix;I`)P_U~>ƇZk7G(rn{_(&_ۗSgbT'a9#z{ tg+t8L{%A?T{|(OD&!ln![(si1JfJNbѫC(=Y0k~?͇o`==9L]D11dJ甔៺E,hhBOB6 \i{]]OSfDQQ۠Oa3U4 .)p^'F~ZsKJhWKnB͵yCDPjn'K@` ^ OP1 ægaׯF][tL1xg*V~)A3[~ ~|q i%@t}/{t COWrcV"_VGNT8 @%/mo !In?SUk3 B=*lGm%<J6V%oNoVg2C$gOJᶙ$f3Ni5SN=HRX<]՗|~O՟g;.4z-C_b|xIn?䎻 Er=tԐ78oB~X GǶF]A{+m-,͜ƾm[M6<J[2ΛU&ێϳMM:U2^,/`&D3rlwnqkA$۸bjpvCN@ުvbz@n!G#~7:qL k>w0MяUV*So-'zf\ՅI"J#̣N ǛETTQ7G7G)&;ZRawb9JCmќ=?MTA84D6T0s38vɆ+ٛv!jbD!8֊ MsEg -06)] „r I`W;mrnxXGco xLyqb0vu YoV #>y: Ŀyyo~jO7 ,s>49 kĹT@ħZk U@CassuX4XJm:p]^ERU@n|xP"B;_ဥG1?~xjJXau46C#j.lyiiS[ڶBdO斖a~މkvdXWUf Sx|wNkL'yĤ$NjUݤ Yygr\E]'`kV~KA3 b Jao3UHNMK "Hp8v]~Hǻi> j%}]æW?0$k/* r=i>yR.Qw-9k+2ϥ]-@-nY |uv]ǩ!a߳-vwKa555 ofʒK(7\fP >:V𢠠ݻJg*X7T >$kP)ҍF%b2k|5c]ٛ$&Çb£m6gRF]y4xbs 9kfGj?񫃅suu_ QMBģZxr0Ɲ_li]W;nӐ3IHrQ`S$Xtbcz.S dddQu mmsZSD;t9RJWcXoFW䢦:&!zFY[DeO/-=8Iө#Z0٢CɍNĐO{L%ՋŐE_PTjdvw}s@ j xiq}HFчa KCA#[ܕ:T3r/5p?8 j;=M)l "4pc{' U!eBII2wgo}E ]>Mf~RdQwjKTdMċ\  %1)!@p=f0&%&uwwc]X pNjB|R@uv'n-#E8H=S,]/mNC666؜22Xv˞~Bip`@PMc &Sܕ*Ql{Ǥ%gq5$c^Es:U|,XGM%ƕݻGUq̎$6D@@`|wM,EIPP[a36`}k(Ar<ɰ&?{waҨ#=>qbkH#;6⯾v㾟RMseZ8g LaUUw̆|oM9MK rD xneyf3jMumd=&.Y׶ 0t2ѭO70ST((&7 #mcVkCʊc;6/M}@Cv$%]9JK5qG0ze x~eJς8!%D0BBB*IsS+;7C wvA+7n>a5q^V\\|oQ 4_Hbxޕj#lxxi4(1Ʉ:[.NK̎`Rc/[|2^YTD:1jYBOHO'MeQ]po^d|NkP .ԲKKʾ֖[D8 t"Bѧ;cqOVyځlҥ"[l` *%_`9SKRRЀ&XYfz}͘mKsJ D&:.!)ٖd xƟDBBdȓɵ6zV/0RڻxM N VF/?-lD [/v֬Oc8c > ٤LMv ?aļKN|ӇNҮF]\jC&ZӞDFM :eْ,Q<4RP^vnbbȋ!D\/1hYQؖ`P_^:l}GasN%%x/_ta".&Fgʴq<^}Z|k_<-qc+'g _Q T;D^ݍLUsJSa 'fbn&!!m~=ZjJЛW' M+HgʊCqb7 dYcDU_QG?`K?WkĥGa ;Ai/Rߔ{FF y=,4< 7MNȚ)LƮq#Нet"޴T $ڻ~|% MCUF%H: D8??_.%J-O&0怿&zgu{ߜl6q9r("po-A^<$de6 <ϩHHIoJjP~;@/y}3n59,읹ө^)**z48,Kvxx3K"I8~7F()ztpX/):95a7v[ bu\I1jnptl7v҅p/as=rXVh(z/2 bkV^JsݥPQ+^<KK$>Aźt=NOWڜl"#F(Uu%@ND8]'\jvGeee^'Sx$+Ev`~"B<''2(=*8 '$mvDw``$yѱ_ww]}}lkB DȘHhZC7Y5*xDD-֛7Z;шlbq/vuuitsyco5p*ПQ4̫=ck@٩J^\\M1O"D ! )sI~1~8Ұmoߴ ] Z ?c91mJŤYw2#q{~:Vʛ, 1EDD]:,--o=NY&zZ< <N!pj\%m/9 IlF8rxEhDR w&  o/ID|F754g``r b|zd!cȷV?5t*8~^2nuWTC.f.?.׶'E iב'yO_^\^Z-.&0*8#C$2Ŕ1JȐApp=ewywW\w ph!(&`<΀gV$P!lllKm>ɶ+j4L*ItiB1&'Ö5p㈞gf'L,$ jb3GI鵣b ~Hrrr4\#IjL 1~?$Մݼk2>l<\=_$ n@AAl{<`X@.ӧq=b n.glmӌ,܌'##UvLcב666pV-'NAZzWiBB 1`߅>>0] b7]?LsrQ[-l$74njХ'!Ou/n1$Ѿ&!۳.mxڛ"D[AtMdNatMpo;Ρ^th%&Z_jC?&4\K5J$X)6-ޜm@^`WqF`5{``i%2E9F eI.緝tF)7Ԁ-j}Y0hKI6A|*64MMW~H 4i Py$ S;?V݆>A/Uy b m ߯Q @>Cުh }}tsiǥ ZM93'7~dKZZX5%;M)\=z"MCQ3GpWlV2|. Si];F?0 eT|fffOXr3OnNW%kWb}}WIn|F ~dB $M7NF$&t| ={P-sm_ ­P|a/SwW[utE7C{;@1{< w9/7M?//0))R?,=\]%==lLК1@1$$Y3<<쟙r&^4b/Mɂs܅!u6v(l$OUt~;bK;IP1-UX%v7:C+y`Yppv_}FG7^f !$%;k|Kƒ5@1:~}wؚ1%"kb >G`UENoxK~\DWJ>XP^Tr  j Xn~K}沢989nRpQ^p_|km>]0<5Ac?.E~۾50Qn~xTH5"BIR? m> JN RC1{#Ӵۅj+ 3k{pIjwwC߰vU38Ձ@)e1'D;TAVU+ gf9ʽ}o=!Z6 H ֤s} *pp>WȾaR&%_'}IAWWVNb%%' ]@z@𘴶CԍeAhnnrORhaZBTAY?"4S #|$"F?FVy!//_ԨX# ]vwRG[^̕Y8&2eNfǹ(2xL6|ú:ؗ%k7v䳓6Aؽi!5_8v@[߅FetGqqA""R"h ߥ~c6ycc q߱;Ijc~dta-^||wky&z;7~c甮5'}y5-~k\1hti.:0nhjkp\ "Ğ {Y}G`NSm@2~C%[)"*M0iϐε3/r-^O$ h2b/" $sBK5w!(Q]k@˛"vF+_+p- odbC. ('hpd,YW=p3xE-TFpqiSg"-NWQvyvVJí M"OH_-NpijgkRjo Z}4-ra0XqE&JnHK1|QHg4bx(~RÔU[4!`ڱ4=Zaױqlj1Q4(@}7$ 6]DwPXcsv$s$P? #b:' Cnl=ο !4h {aI!܊@r 3ɊzZNao,R0J+|a`X,ZKsW%7ы؄^͖";n$NP< uߘPs8C0\MIݱǻ|)IawI>1Qߩ8 .KPM˥J4j^bV%hicYʸ9Oޒ; =o @@cKs]9ߴʝ1 '\ߟ߇`ycAQ a{ް#hžW@YV2pVv%ϸk|gׯwf*RS͒m?)B^kN|Y do1C"t* 7&si?^by#}hJDI[CPSStn :4 qq X-}_9=_wX5@ėѼ?EͨV%gyCw.7JQ .7-q !Y!ũs)5-pDC邲W;<|5_QnvW&'qnNX| ]`m<-hQ>]nKmo0??c`U>Q.7^[O|9(_$rݝTU;핝QWdtס !u4"M/70oIT"[t#U`xF[ZA:P9.Q14)W֋yU=qIZWl)uRXwknGBٞ\/2 rt:GPЂ=\g~z]Z1w . qqG@u4@OфՕl,mpez۴%z`WЂ4rFƫ.^d!+X/AuY#\t ;ݍ`(}KZ\hV7vU1()^E[ysioWb>%.\N [::Ρp,\f@qiɁ@_ #ojnK|T)O &wfn|e|lц@ûlL b){e,טͷ$gibC1ӳf|J S3}J$= Γ)z~N#)sPeA'^ѻSȉBP8"9烧@>l'3=(&uz8*q9ILGC#||{Jrp3L7A#XD*?0pRF* ;ҚQZٕ-c Y^%5\p{/3rK *s֛ribӇU~u\e|%' paO(ۙ @fǡ4"10xzrw^'C޳ NN;?Ǵ/vL .G=9)g(fL!/RR8®l{Ȧc{fA'τ *YV [ae ss,l"006!PD&Ls(֚,rQm7g.+{DFB%ƖF*#跫/>+m ʼc+d0:U_e<_oα#ņ*r3urg(I`Ka!Cdt#}xGA6rvX%10^7/U%M]>h3JS>gcZ md{}ܷs,[lHn"x;\ύTиQ>}ےN2Z A]#4ةz777g߯zJ񳖿'4/NHRZD@:.kuaR#ۛ;$ ~~̸ FrLa;/-%k~E7IbAb1aE@8uz>٠O$C qaM,մ(Oxkzd-|kB}3 `'Ӵ6dMGmas'dBa6Sv2E~j$${Ny~D?b (HeV1 *GMnH`HrB& jl…S͟ppM78(W縚 ~txq[ZQ!&&Ԉ 353K ߫bP2_کHn$"~슣~~\qyj|yM)\cKY{0d=9'.N)mt(Jr_{TɄ׎kzND.b_76pD>d@+Jp8u^xB*X2GPsGG2l9Z+ -+%vKcČ hj@@g3#33{Ϙ Dh_moPٿec# sO"~繓̫:kWh=a߿M 9> H`%xo,򎮻IŅV$&8;l7[D>}UY-Dez} I+Q ;L7LLL | OQ{%B~p^n3>sJȺFaNjtAAsz3T< KC  Q$F0$~n~Ҟ(11 :]~*}񂈝յ '8WDאaOGWl}9c9"L| }~w~}A ' QOH8F% >2$I\2 l\ͺmJ֭׏r>T@錤1-w|51A(h_?#nIѱSP ZBKKmvv 2r.kDsjFWUq p Bӵ%It'.*(&n|/)dEv2u$44D9pMOT7n)@HmHFf|(ߙa U&g}[ %<+x]kj7hbAY]"E e3+hr2!O$n+ҀH,hH'BC\ϊ.PքüZIx?wrQ,,O 31k^mtKq梷_rY ۷jXrrrP"ykCKuk0S?n J-Et=NG02iCk]"x%hF-?˅F 22[n̊(:wvPȉׄd|aibqqB֗E9ddd@ U+m2$ @nq\,(̩H E͗ߤ7sұXZFYU.#^r/u~Y&& )3hbٰśr}JWU%Tv;}mи]ᢢ28QVw!h=N;$(t+QְG$Jv|dZ Y)p)[؟`:V.f V{48(^n=ҙq\wŊOTdnxu[cwں&D} ')b7͵Mo 2N+8.+r. Jd9?캿83 Y,ɹ cRS-=N/90Ф@Ve5Ws#LЎ!ʺR5#7h@dLD"6㋤O̲_N;dg i%!*g!CˌCOy$RNGhEjD}7Ly!lq[Kgڪb>B%XIߋT8 IzR6Xffv Эpz[ZD&;nRn1rooogONIhܝP"bvW:4>"wAmקuRAzSʊaa;$ ꎢ씆0!\Afxzj_VsI"U_ȇ2Xl%xFqCz"y&߯fxv6AUxDhc'ᵑjtZz|ccc1/.\oPxG3,\ZS8Y$7߿+*/g7Glbmj-\deʁ] j 0R6#=J O w&Km:rP X.(&J%{Db^fSϢ&v~~?>N` Ts/qgVVBbcׯ%}y>^^Ë3īn(h kcԠ41 Tk ա3{JWT{0+lCQQQHPʻĄhdCc0zh c,"? ezC~ffȘ !P*c*V`P<\V3,oJ@/ݑpޅmԃG.@?'#!6pqmPM "p ؓ;NB#`zubTx 8Q*[Er5CJӥWc AvvvpoG/_6y gXSl|Uɚ!FEEݽq Ϩۗ"ZL`l]<}1\z?Kj}dx`3kD"khbc/>|O}@'(HKɛQCiEBCJ˾7)ٲˠg6laTJαaF.c.0 3l.*{+hҟ0 Ud_4QB$Z̵D1 E8Kjh|՛=IQx ^tlʀUcf2/)Bݸ%s ThɹA7Hbl,/d4#!KMX)R2yDlIq~~&1#)Mx+UQ"B,F k~#.w! ' $lő"UaHO_D0CY*:.սxdl?+$ddΆPgfhW"_qRم8/ ׇ-w;a^@ gbٌ0(-c)9, %CRR1?IZU" rZXL جjhA5{_uW dYnl]wL{?{( !zg4D51Y_## =xY6z)`B17-~o]yޮDP~eTR7OP~ݠInd9h¢exD讨Ï*y&fKwutF7{,yIǹmFd@KeeZ9?bLj:2-}ABd3/ãl;0nv썢YWA ,_Ŏ@\BXAN?ZB!kQ :|ߖڭt ԑ,4u[ҤGAOrגL'!;_{R{)(Cc; ~{>* mGR#ASh:0h?b^,hfUDY͡3v- #EI1ˁ0"m w֌n/\qy{qd `2:bqx*V[jikk@DSmFQ<罬oC;kD0]rjG{;RV@#1ol!`K[֫H<oaccQQV lGx-OJb*x}TujP]]򏋽YܴvP:jƔ'>[-ttڙ #{B 7,QU&]^^I*v;fO!t1%+p_fd|q;Fev I uJ&^/Ro U,UQFK>cX7*% Uw׭n97kCGガ9Ogg`(*!t&~΃h@7|o U=- 7? d5#ٽ6e Z'A^~XAbYB:'~h8` b4O>-0hr/,g\nI1śa .cʣ?T_kSgm| )5뷼|ka3ewvwIp.?IF#ҿYۤGY't_PuȜCTY",ZV#Xʫ:.Ŷq@̳U;ȉK0G49Tx~?&r %Է6999]C`_DM-Q$Y kԋoт υ K/8 d}\-*>SX/v^Q[^kѝQVV6"42\I>]A6DGG rTAx\ɺK8th1xn*ѫtab;ƐWMe"6.Ĺ/n6ɋg \\ eTs_AŲx@;$v+` qH鈼ksVKWFD=JdDHh_ghG N; |5pCl[&k$ 1BF>b{h8;Ф8hPi \/3;cakTqwgcip'O.@g>, 7d^0s3"ESW:nM2XL=,6kR'Gz]~~~CykWZv߂t_^Y{'noOɽZc^A@S{y6ͅZm .#p_?1,`d,FT[hAO %<xb6*Cu̚ۍHps6NzadU_("` ^4Q\"ݽZfe%Z2Qq0;.-3\PsDM|>7kmYV_ ԏD  {5q-*gY#=[-)LjU$ag|s `L"YYE /(p Uɒ0ZN^q~ġ hFJE%&?f}wo|@XiZa-Q1t?R8FXԩNGcF3,u%^ɓ'$=!eAVvOOoK/XN_Iey?3HhM lhߵGU2@iKe H{urxytt*;MMcLSa?N^=9+ UT\qd2 D/j n2K &MUeaU|||ߔ/WRXʿ!tU=]pTW^HZɎ+T*o+~ho+Ty@yy,9ϧwE8ɧOtȞ00JHfɴ[WOlAJ=&mKu t$Sך& Ԛ 1hdq!P$u b=BUxn{snBEi 77i˝,err/Y+5,!DR'+'Gqu0LJvz-ޏܠ\?ܭHQpQttJJ_ߘBNt$`LX"NC{k, >  h[[,qTK2.~m*+4 Z(V, vwJHGG=p d`gkۺİ&Xd3XD+bC& ؓxt\?W㕼AM<ST 3aU|~KiʭZڎG׫ z 1 aڴwtڄ{}Wθo/ׯI4`ec<߯3stBolmAvvvCڜA?Ж$~"opmnyYeG"VWW鉁ĕZH2;MXG='r ]B !ͩLd`@Q;#.H$s ',Vk=>%Y8t!\ύ2X_$߅c0lw1>]`'ΈUvf`(|& orhijw8pR9S<kpK_m2p2H`u8(‹$˗KfHkxf߬3;m+`jnpZ@E1ݟ[t;)0 1j}9}'QvAŬ7pV֟㏕>Lt)'G|2;J7Á`*Ց3bN@n͒j7YmaFrOd M!u:;UI7MȬlC7%rQO.J)vӕ.Ʊ!u 9/S_З6\쎰;#轾p{I@M?ZtYcF `F2h' ;60]Yz&7NFZ0'΁OemZUUO 49j<1#[*# 2pER{x?E)2'dvx&'gjE N:O-@pVf~o&;_a#B@Qc﷕ U3c Q΃܄ͺvJ1Fq Ia%#DN^%YiãH{F.yc-aI֛ 2uÂflS3+Xm޺uXz))?JSYښch˻gAG<8S/= .̛ ޳+j>`]:؊4F .iD\mi^fi</Y tOmll$V0sg*iOQ5rڙ\^wQZ n"FLA 97N!w{YҹI9]iu\D"wYqٺӯ mW9;*aN'H~[操8%qs<𢡊S;zG],EI"I4<ٿ~RꡧCB45n7,,ғZl)?󮵜!Z:Z8yکvwɋߖ؎Z7'au^p6D>#QSUDHb"e,\-_?Li.25f }&\<.u_%85_ʢa=_>1MY~Xӿ)1AJ\+M rƷGCtTد$m&s#~MNyFJMX))(XZniً0j]/muUEY?~\cڟŞNv_m䷘,9Z@$CRwuGh;OY֪tBzNƈ_vPq{fv8a o(0RV-L˛YyL[g 8i -&!_^5V.|)}w Qngxv]) kL ȞjRݿ_'.iHlӥz32ۇr= ,s 8Foט%%?>\"xTQ!`7NQ'1foqu*lזV.=q 0eN\ĊgtA:I!֦w?~ F~Fv^^z2eh#g!oqaiڌ8 zzpgHB wv Znq .*NipӞػ>"c'h=w (VW gҭ3[c1oK_f]IY=^{FikX,$YMTMZ w\[1ߤP-Cyu=H?IcqF61E }!hEeZD6.2[w0*mo}iyK름 Q‡mH>$U;oxnnt(B{" jSUK:<_N!$Œ#uFT $t߇Uj6Exڰ K vkx̏vo!㜝3ijGlQ.{'w73e[7÷'-iI6ַ8~P^ ۤ&%JkL:x{|p=],%ju-s V#h+[8 >.,/|}v|E~1K>G%lcp|ړ|BD̦{n.މUjICHzz6Ԕ=~yw{7FeaL&[ LDz =3ODuޫN\H@m6awؗX(j5u:0+=Ζ>BE>>ҹGZ5dÁӀ6=RybLiPáoBx jnt#YYY.7)b^(@pw{p`gb_\]/x베m@8v9ӛ_%k|>2ܯii\mHM6c9 >qkP]♟fĚODAcsXxP تwګ_Adj|=v;ieq eZR: ,lt[$_:>9+N;> !!՛2?VyޙJV W皸N6֊Jl.BWO^ U&To{EKoLȕKTG !Y! 7$wB\qnʇا8CEi#! ͨ %Rߔ[k9DB&WzZP]?U  ,vȷ2VW|0uzFE͹i&d @>՗r2DOЕΔZk:lF*fTNWR0$X: %QOFSwӭ2Z\MPo8|ǿ(u0qzTcR^BWu>"g?0}OQjz}yQ-{{=x'dqo~gH?M'EaqlZ d=Iѫ@ppk9@VFzh/><#")ذp@[)R ttS32襥RUqJ`IӋnz>I5vAjTPF@HxD !!`TC,Q[ + L :v"OO(^UݴtqY$ a+ V4S-x{Nfe}>2=,Xxt /Jxp!c ׸ ;dd-ژ (uww9='"4,l% !p:0?"1<#wߟZe *I-hc{\h ӇqnO^2@cy+i[A{c_񌉦nY6vjN_z6ˬ 1a3OdPHx( ptk1 u^ʇ U`= BQjg?ex8O:Qj7EolZ= *4n蘶Ѹ?@YQ = 3r ؑox钞B3k niɭWVp+и V͟)~9XBLARBEI9B ǽݨ S3~w~3fSڿk:Q ]hf1QX *;Nm<XD3\z6}vq4ħǦQ'?)گ B=:Q KO1,.К.o5Ҕr$8 }G MCH`(sFJC qRmY3K4-}E#.,몟>tt7n?ؠ0#{ENђ%|OXbò/;\RFӮñ @rU6ynhN]Q6ٸ0OrvdT\`ea)q貈b`ZIh;1MzYVF:ǟtLѵOZ@R@o:F4[u `Ox 5u.wtS Wǭ[LlUU-O BIy:rrr>Q F(,_ƍH8l %SC8+^|q;TQD"ag<d݆:װ{Z[3⋷s8vё{]cǎd2a2PU^T$wvvq:RTT$N#---RTT$kWwlqd NHs|>yE"?,'e``@/Mjݸqƞ={pvVMD"3s&UT[[ aZIIYD"j`0Ȋ+z_/z6zz~  Ν(pJw$Z!躎`)))wcVr'*}oъ</tZhjOm[#Gj̜66'Eܹs\.*+Q|q0"@Bu:N_ <;@?<$ܾm@.}6V7.\,X:H~ "r-w?"@~~>f_bBn.Cq1[f;3Hig$$$L8_bv(4ӓO@{B֮ɓ G̝ Wd+oFDak cm1yyʕ[LV/_ZZW`dcv)y< F{^|3/^tusi˃F#,Y݉ܺ5C>%...ܓJ(""Wo/#GX^WGbg?Gp8z22 3]Kc`YΞmh4N8Ey188HUcngRY"s@zN|t٤j@D$~2vti"Bk[ǒ|,/#H70=:.`Nnt~˺u|F֭#s|<QXKG͛7sA6nކ PQA /'.zMs'INZZdgOw"jllwjj&`jm%pv69sΝ;-{QEeóg3<{)$1ew x(F4A4tYxQD"c>hc!fX.xGIENDB`PKlYm((svx.iconset/icon_128x128.pngUT ~Kg~Kgux -ZtMƍmhl6F۶mhhcm4ll'3;g{{?%ψx 賴7 '{)-'bȮY\Yhakބ,"IQs>N\VLܠ?oCЂ1FGDu鍄d/EQ*iWc«`4$o Q"Hg5[˺_xdRfdff8D#)c03Ir>+cݺ|Q ̘+2Lܕ/%xׂCaOұdu]jKJ|YSfs<-?hxdajx]D|d,):L>l5!-0qC[JH_ggn` XyD ^Zё촴]톯 ?dFvkt#Zj,HQڡ &Xt=R^p:R֖Q^6%D!W_~E^S3L'hs8_׸'Pɲ@7'<"bw6lP vcxt4R([*泟rVCiX\T˿WBL̅Y>kdPdQ S*&0EGvfGpXϳ٧TTIGJ^<<RURڎIHJ10 xVD?PjK ة!FLL[?pxiSQPP.r6ksfQ]'UZ Xnnd-JRɡH"+jFY`gy|bky\0fP b˔TQE@xYCSNz:N,>dWe[s奧BCvjc&8Eu@zv ΘGFDR6\7 T+OޒEwFipV k~xdׂ`eT>:V<]m6BlȎ~e3T$Q#|sΰp[Or Qb9۟l2d]x1^^P`-Bx(f0pps*'>owK vN4M9oмغ_v1`0(O9eٴf; 0@:iZ )ڇ)tuUUQmu*|myW] 314Y9|Z >' -rtd=<<}u#(<Syqqqw**]WL*BByGG LhɨH׽uL5S1şb F" )-_jll=VNzA>>@J Sw @37ڬawt/Vi(~4SVfwYO y$TTTD!(YkvQOfc`3{KR[oUUP/^/JzMRٻo0֣rQPiz?5o{ޡLJؒNO%xddKT ,g,ymm=$!cbJdPJ bBE"""*Ѯol5WSz_ܰ QO?>>or|5d=<6JGt7cDt`/[w8desqqo#I. 5* mP&BDI:Cx\jNkr˦\\tqJ.ѰA6Ѯ,,8 =H)2ݠHjwvzu#XTV)/E>tE &+)w,RX eBILȓ:~ ڮB4/ɧ1QG(UJRX0..8[^믗yФW8+C!F03ˆC[.B!99SGb;ZulsxHK W!&*+ǧܼhTk6c2нœ|R; R;3/ss ǵd0K:JI!;!*f&+VٹC@|7/WNƲQGZ_7|'$7D.@ ̶ޗg$BD9AнM}hsq _*b IeTgwq9 }_:ؼܚF8H(ByGEOiʣ\6>BۛMmA}"ڧnvϘ/VrXlmUkzzd m60;6520u˕+]tHz@ו!Zgle$c[Z oøji-{xRKӘwh\.@n=]i8]PW?H)I3\eo9)tAG^1+9}=®ﱏ~S+^dNgx u[ <}ʀ:`}@赧JyLhVct"Gj-8Ax*/~P_[1`Ft ½+r\F1%)kޏp?I$Xp#Т6 ̎N8.:MBA(F"AFh ) eS/жN>s}`|Ԓ^x PxQ._ =W2،e7Z2g$.AaȽ|j$Y6ν(?iQ;v1IHI&wvD's7;M>) d \5! f:Nf#gmZ`c}kA}eZx|_,,,J~ >3N<H()N]VxD*R x[gYV[ZZڃRQ͹Bomˇ 0bQK컀@|)&@]Ͽ0Af)tn=Izku GkGC%`(T.Dz*[os!%-t)zqifYqyi'nK?`2NJ$j< zF>jFk ulM/ = v;vf'`j|ŋƘb]ˆ7܊ }Lc= ?#8o8=bo෩j m[0WTtÃR G;cF̄ [ydڻ7˝^nmZo.>v J!$ZLVytARzVhSݪhS_4 5uZHa[BއVX: My<ˁHL:%: ϻt2z-klYGF>,;iV;}!qXQ.d(O&^K5CWD0[abKa&3|[*F ^DNDf32.tI*F SLRy-{~.3}}BlFݞ)YtjZVk L3VѐgSmC?)B &%NF#s=x(vIDd$)^_R0FFF.i#r_ ERE&G1Q4HÓaNJ\Ckw4Z:_똽c,w4BH4\ړgg.S#Sc@ObFN 1/􁂎bhZt yƲ (`Z/K\8?GcPJ5,b6[M}Af&E׍2Q*D<,T{k+/v]dPH..&_mN]sPܹ7m}dimT3ζ5u7 Օfkm1nk8ʫNN1Z&f1{X%ddPDJą[i(yfu1>YNrv4Ӿ`sYe&_1 Pk4K c12FciLlNrc/ak\sP89Tݨ DD`W8~$k i&WAYD'sy65 `M0RQ;n&R Eaoj7bFqSՙW M#f. Az,jW Xu|!*VOFUb~?lќ‹RhzގNeFU]ej\";-!WǮS7hbIasd5ja.9^GWK4<>08Gx>G6ZfIy8_V ۗ*9ki:^.&>ή (]N >}5\{qy(D|"ev3yvaLNx@- `4Ml8y"r3cnx5#zv478U޺N/D)-o F;Ů6Â(Rt9nIPg[>aj82FMBHT1EڋL LRfHrK m|dnIL̮b"ZrYMAU"!ofgQV֪MG|Az 6.qߥN:7:o&_Td?Xk eNq 6ZQ%%V.7.>PiҊDy>y  e lsd]-@T ]Lٽy2?K s}[anKFCsJI*h{oS (u`L,7J3~ L׀t3: وyjq]w@8M73_vyz]fL\E?{<[- =F"\qTJݠZ)2,œxdJ)D6a[0jlzi ~E6efc2skB7R-sV: nO8fRB"_j$]FޞO6.:(6'%#9|0{ͷ']~{W?-6RWL$hh ) l_#%%W$0֒oiΎ'D|"=P0D~"J{WX|'a76"%H@L5s_2 tF=6isy]O˔zE^̧1%J3ua!A B ?Mfϖۮ6\"p=߽<`hԦYB+1w ovzLv)[HlLdg }zmNc:UQ _.'~?7ځռ_.uM$D#auM@N>x+ohuaJa䪵^|Wק!_?P"XXcqz݉A?-r{66r]`|,f8wWǫ1op"m"X<|=gm(Oښi(dXy'ӍBkchH+ɨݮ׾-tp_4vsP425pPay R P/0m\{"̛>*ΧTV˦V;y֊Npj Z -C254'R_PLڃA魤J!7X7v4S\|D8ifUvSmjBr^~ĒtXiM奈 \>{Y`5i{5oZe#>'$| 4sFuvTws8qc lke6'7@T-v}~ix).~np I_se0 PlO`8|kTqA6@Q:%Æ[޹R_$'8bݖXbA.)vy`Yv6 Ep~93Kiق>[yV?s)7{@&Q-8>#J)(6:nge1-Cdey[5Fo?%U|5.WH#kIsFmTWSI_ Wog8k~զP\( Oқa4w|{\VF4!kݹDnYg4)cecc*atsscI=u)M.XiZbl^ {uHhm%aV.z}2K/Zf-jvzr&)KeY-=7Xu=bR `\h nZڀRe[gX| LmkM>z>^Kn,C :,wd3MjjsK+5N7ڱ=+N =j{.w GFZWD̸Rܗ0}Q//bsBDҬy>(;;;THYc(:Źs/5 4F;z8pU6y.>IdJF&rۊ$NאUx8/AhS%Y6enPy_.C ׺Z+Z |)~6YWcmx1/^}sAiUSmt zK{u'GƪaXD{Ʌ1m *0kX!Pi0w/*oj!큫Ցih{VVud'k^s^8F Hazqu,R㓓!=|ЖMx$м9}pJd҉ꄔ/_^ék XjTNJd##ICLN |͹寿SWP@`g vTGRRfIUvu|#~ܸl#K/dQ$+Q2GIj jD PKlYYgUWsvx.iconset/icon_128x128@2x.pngUT ~KgKgux m|PU_tww 4\$D H^CB)wo7p>{os"5^bQa$@Z0]޺m8}b ';wyY;8m- TFī}HNZۋ"^X*WɈ;譸0;l83 bNȰcZǖ qoϟ^^^yjFLyG¤̪)aNh,) EW.qu@~,ii!V uπv 1maFJtAkf"003i"փN{7Mi%C^PXcv#A9?Z*IHr^c=ՀwU/iɸkڕw6qŐ 4 ώs5DP+-QNNN/J[m>(MpiˣUϒ_~ޕWzj8UxqAR\-wNS\t+W3ղyȱ=Ԫ0hugH<4]_f3 :fm$oWjYF=@m-/C R_??9?sW2 310WPXtn'l"O'9\]_3>y@ vw\<=ɍyy2O@02z70=l.Ai0+IVH&&&&)/w/nxo-[p"NF q6;^뚰2ᨩ#~xx_4J)Kȕ p|Ԩx%dP"hq d'7,w Eo;xS"`^t_Xt4Mƿ/ ٻ֟p{meC|!׿;gU6Qiژ@ӌ`՟6,?A̫:ֶ6pIv՝n/W&A'~fY kVm0ld9 LN&!`_['.Wp}&keU)Dk'v9JQm޲fN6"%FFwK98 RR\obtʴPG3 -VZ+*1R|ȰF} ɉR,Rn[Jr=;iЏ? |vI# pYܸPe|?6">~'wjEk|Z@ϟl;K!fQM‘[UR-,dx ?kW O8v^,vy}~QZ986֟JԜn*w6^*?+9A v.?0T(j$ Qqqd]5ԴI\_ڰdt*J䐂M E d$$(o޼ьW6&pLBUY*P_Iu4KiV/^~搶ȇG dY¤\3:"{KLBWN/([6PY"E3ڟX:}X_!x!aaֵH&ֵк,":|$\U!!!a B)]һmNo.#rO5l59~X2b~| 8QXKz!~FHQ0o`g@Tͦ= u@]WiiTX<\ 0q| ;+;>>&L"#K+NIJQC}1=(Yjzyp7s Z1[@.*&&[=C|wRlC(@.U;c*`cLYr"2em2'TMIMMMUI<RByO~Z8fLLLsgۣdJD/1&wl_ʈ)J?Ϗ2 afcDŮp LUM;Q޼]ݡب*V#i /TGq_CQ᪪*0VM0p9x?wr ̣|J[NrL㾻^CLE~W%Xq<(p4)+c+U Z(dK9]wH_b+x&^"ɑBI;K(6S@eW[la69F?gT7nOu0;*]*"d^gu1yeZ [Q EϭRH0wq#l$m3>Kt)y#I.~6!Ҷ00l,޺}p؟S=< Ñ]qs >m]Pfq϶~p׮gm)w,8 /)V[O2cJ[Z$~cDQD1P]]2 '7+>ibFGoj'ީnߴz'R/kt:R!xkg&V&ҨwOSPDxb;0#z&ҿfrq LlOAt#Z9>)f{j9gaσӤRhC]TJ Ŝ^Y(̰LGA@ ЦݿaV%Wz*'tTP_^`pv[<Ҹ+A~ dii c<p fD.9u#J'URU75S0廈O;h @¶=::mxF(2HPPQ)TGǿB]Wlp6qXjU$ HvY:s V3O¾}dbr¶?#P3V`+))OK6g֓|'[[()Ihjjv FG Z5⥼ ?p2~\$pL'}F ,Lh~-yI?pH;M% qW2VVlu_Ft˅ID>\]A4%nWlb,ŤGNa*\CC?H"""6YYʠB--|XCAϴ/f#GP5un$a^D<mXRd9y"x8[[,l9Ͼ xdJ,-/#P^78zOFe3*Jqy*̴VCĴ &O@aֽM/) y1~!zsmDfLpǯH:!_6@k ,*g֍&>_[_LdvV3I𺩢~<[`7ȏ;Ob}NtoSc WAwzIՄWW ɫQ/^r(޼QRQ ^/\)OO iT.ON )wg$ 4?c|&⋱x'6̭ ;@Ă-{0vi29IqﺄgށQ&Fő׏YaԐH !Pag|`rS3Jf"ΕkzfPDx{G@8/A;N8g;zVyV[Pex7Iys-$twҖ[;2DPf]GPB@ L Z0t ygay(o +UqQg] ;̀4 lPeY{__b+2*-<PPEBJJf:U~hGT|DHGZny(f=鬽A~[iM(Sן#J>iDŠ!#@:aagob=y)xi!fSI6E@X6:)0s6:&>l7c@܎ ;D2iN rV1mk 15)йVsǡ"̌x`ؼSዦU,ӥnN9P;uY3,(Bz`% =Q8.&rHSl,g 7$%`7s5j' WE`=;)&Y~~fe&'L8\۞dgdׄ53@Q>'3q<NM7ftaIXS4xɎ]Tb˗X>SX*'R{wy*LLzW< lF&WɳT a.ncy- D!1Ab#a]_q5vd,<DZd^A6W(-K~0|t1FQhOL$tPGD(@0Az(s)rק5G0~|ȖkVL "}uㆉgjһ:akAsT.2ǔPU,kyYn;?Bގ 9D řb1Z6pCl*rjzc-: sIHN)-堑"%إF믮#33WBAmc# 922׈փ33W 1>- $ӋDlzx]mwłg۠BZX[pQa&{=&  )/ӳZ'(` 0Ack&7*6-Ru\H_!D:ЏU6N&O+fEk х744{F%0Q3+NUtQZD\2ޠG"Cǣx[:OY5I5FX6AqZ ݬ011ZB9,hw38C;;#"WH$!5w"聻;8oʿ#؞VATh7eu+aK-I˔Yp_J/)2˼kG#qN_[_PC^Hupc~r0-b'INSHy o>dB7Ű L0fO1y?yW{x'V\S#MJ1"ngW]-46jjkGt3_y*TPf+ DAKKKDDAWA8VL04B T7F8dSwr ^LDs Qu vN;6z4^VHh<EB˰tSYXBˣSjKԗɑqq6"sd>Yl7Rի͘ߝ2j T!PdIɢkdLDDS]W.ׯٰY uWP'$P Ge#?EcH$|L"p~n-[؂I#LZ"ξ&)kVH ] nF4f?nWh"\r$(7n;=^BzM\]_w䀺]LV_>$ɮÃgYpN Meĉ TXАo|¬!77$2 #g?ѶuV<๐[Sd%5'ݧn,E ZaDJ__ɱ,`P~dVir 9 ͙DR(A4Gcp6Z)L"ْX0 x6ׯ|hWTszc{s'ϬCFn 3y\jrc_4tg5rWcB%MܚX4PrS!wqJXgۣΫ`,ˀn'˴P_t]l { cÿR\R-[*A,1wQ /c8W yC%4bBq=ШʎH1q¤Cݟ$;ʁ9N&&ѿۊucш^ZYG,{ 䡊#1#~pFq0Qcv$7Ǥ]R-G2εy gsZūNqvJ^i72z0=7(|A;8<¡0%YS'MS?$ '0z[Qa|nrl\b:0Z~Ka]o8ZnYPz _N`9w%3(l ""rEPYYe#a9PMUFd;l< 2tpqިnt,`Zr-)\D0DԸ?ds ΗS.fk~g[5t!:i08'ŐbbfE**!YPVDvw!f Ag;`D)wf"[wGJob"yMIhIZ)&l* ϶~{_Y?ߛГȯTREgf=}}=.kR؋tuɀ"6en-Ӎb}3f4 zugV^fk'zjK}'AQp8j V\ g{$=B5!aa >.<ͬI˝ט>>߆vxlg;I4g0$`=5d8weZL:uwB_^>L{# [;`w^fveon}e~\KJ*YRKxnތk0p#c:c=5jiai綥Y z'uT?E{Vg:ؒ8=CFѫG/{~_MH<"%+*uD瑚4 5 j 5I'#5wHUfb'EL}@VV/Is&N-MێA=%CwRSԲ"K7O6"bcyy:қ؛L+RY꾹# o@NYqq~2eȢ/QIe>`/mhQn]RܟΥ%Θad;kj{@v-f t"^Z:YUU6 j6n2=ȧRys&W/'/Y1eW=gR9{6= 831+\3잨 /7A&t .N]ȵ9%d(v }1=QRVY ys0K/B`c %'DmD\Xлthcús<))I}1(l5hynf]P9p"}rl"QӘ?(UiP~}ڐ]'\9!muze4ӧ0NKweKL2>}n22y#l@7"T(<,z2O_ރ+ :-2+-#ʹ  ( fy59ƴg'!ACLw=Zf?:Jl UN,()ojmZp ~ٲuR}>zJo3]BCcQA#=O*X8ZbkzE3٧A^vm(&AQ[NHBB̮Gl1>vٛLIb'qFcSSLw0H :Щ=9"H+>kjAnT4>mf!Q+Y==IQ$T~7HK hx_*gѵpMJ~ З ?ViASg3k;(<11" ~[0\ 3>A`Ao#z)͈,i="Q)Y;J - FTp+deeђ!l_ydD b[+Чd&%ۙ=P>{&b|}ѫ>iL!J;ä|X6JR"q6(j`&Bu#d(UT?ϓ^<u@\ fE:U5X l<޿I:. }_hnn>YR0SG4 2AR#foȓe+v\KL&CAx'-Mep`KK彠(PWfzm@ nJv&RۦР)lBS( sչ3r>76V1?<:3xaz둘Ku聥/ bS{6*R ˳rp{4cCI!Ui?jyEK49ɢ;[YH!x{:$$$Ft{K3E4Yg#njX,R89iOu)"|bcccݿE+Ú*6O^NAtbk4Y#W%_SY+矃lMџxὟsUlVz}Q̮L!>`Z9Uht$(@dĮ?^ѹ#IѐNB b73*?9d!GQ, 0gN,̄MAD̤E_}FK $}\ZWa3]:5#!2Ik^\9|I~y*'ި8 t9 sh "v<0@oI5HxF Ƹ??R?+D gUA/S&`M8$Q[t`&zJ_Iek`XlrfE)5u4ODքߥobAYpn.TVFʊS=Gq|r.og*jj+'"Ʊ( .ЙkB?Z=4PH2L< &dV\>AXοadT`tboz|{/zj}k'}n|L!s4ghw%\) Ȭ 霢*BC]0'1xOK!žOLI~9w'c^ ̈́\ßf*IzzuRn}GDgFBBd҂LLL )o6oTDU3>ˆL {  m7gN^PA2`ߌxI"/g sFڷuVv3_N(@~Sʕ.ү#1 MOG Ҽ"N<2y!IJhyZ~}9xog{L6onQ ttuh_ 2]}/fIT2f@I =(E|DbkZj+! bv:wܳyW.Q j{vSIeZq )b_UnbT lrc:EK'}Tpq lT7 t |}"hwf[J*ox0iS cӭσn깉ұҭϭUq0Umlpt߿?N!:K2QĐf!ص̘D {֑׈xGY(iQ@TF.q/抺 ·,6V%j"n=-A1d|329͉.gF$#%ò`=]°U)|{el5",. C$[^g,#F!W3ԪtIKFwvƼ(ٴDuෛXJzlhP4' +}z{>/SкX_뵊J-'[e;.NNɡ'CjG_K<{8wc{lUNNYV2%}QfSvMr{ F߻Y;J3hNNdj}6cw؎nm/w-9e|J-'` eyJheyxxU}h ({&k,8/WX ɰg"yb"b?gȅ:kuڵ =L.B6]Qs6K)[h;!׀tf-Η^DWz[Zu[N@Rh<}ChWpH)% QBnZo:!Lo2r~bC.W5  m`UK1֋CH&jhhyaqf~ExD~;.Y>0Ku^%[ڤ̰z=lg koYX_D;~a*!X9RN]=(Foͣ"^T:^NI(4[%FH=GDڜ~ҟUW'==ꔓڏv{z<0oTR82>\e!-Hԁ<4W숳Ip8JA+8aVTHZ9rȏ AUR3/oPBccp+389Se*/7?@ɞv@ZqpY;dYƸd"Ft```Sθ+S!(%H 6DOԹLW$`  QȐc9l1?6l'CO@F0qq*)`Z[<#ajQqpJpZ1+O;k v-tu~*7>(߆x^N`%.;(! RZeLJ;q]au5DGfEҮRrk*D~h "npv笟B1"[%O"+6N Z˔Ui0t "#Be&}O[ʕbam;?Њ15=oہU7ޛ)K\zV70:1ь㨔,@dnZJ,ؐ?XXuuIHJʚaxq@U!WU^:/3'ř,,yzV} 0'|x9T$d]oߤx! &Z[nFV"BD m -3EJ"XWf;_4ZTZm ɖ? |hd:!T3 `kpfB+?q'@bՉh]iH~ͯo?97F7#+_ O['GzEsYkkO#srrq(X؉]HP;`/:1SȽYP&B6dg=wfNuLS‚ I%'R4zAGfKl|$+"Q?L9OPe櫫ޣ`o `mD>G(ML67&Ky#(pk>8Z9>_.Z/ 6.#jk %Z6 Ҟ2cJavA<2>iEFӇƯ_ݏ $ZuݥWԈ M$Q~ [:e"}~w*4lƃ8Ԝ#+x0*Iq:]! Ѫ:rg8?Fbg0:BĕAEOZGAV|)|25 ϑA~F04tcVVLuaEPTg/GsD;ѯ]=Ed5NxҬcY2NYMV+9B&&R#wIdPF5JJk-s:z+i{++6ı,).COW/:rJJ.K z+X@%ۛoʒ7Hʅ&5/c23?(љ(3,>]T'Z'SE ,ިĤ|joY vŊ Qv TBW5_gvڕ:.c)\,] wB5WCU}Qf  \D=;<0)n J¬ij-l*kbPa< ^*G4_M6ˈD}`}'ϓg Yv R(P(b[Ѿ0o{{;loD}<}uYw̐Vv'0!*Y?oJ KF#y` \t#3=+ح{[6c7xuݓ/odWV3,E55|#9RY'{}@s?şrE"++땘K[E|a>lJ߃<ܞ{* Dx_m)Yt bp8`BfamJn^&6p;N&@ C[eCBD W˻  օR'?~]>Bp`%Zr)F$czg|!R-$nąqWiPF`A6|fTVJ5bvX>磺7ǑWT4 $ل i8Pt0<} zѦJ-)Ml⇚xRP5wkZA7PQjWn~a /Q1.Vscq&.4lrC</! Eug|wVGxMΫWAɨj( CwORL'+ vAt$`q(.HWtpDLWՕ -[J]߈*Ci61P1t+L[?9;pHAU '!YѷGywL$^{&&_b+mF]I8ۜCl8 5Pj$`̷xVɭ{`ɜix\lܣe?ɟZ4!G918#CR |9p*ida@<}X>6މI3) }VD5O4 h//w!G +>KKm8Q'/Z,0 ߜ0s\ݝ#*rs,ܟu\|6V7G(]Bڍ] O>GGt贌ա.JNiSUk W|WGԍ0('.DLv=+-h`V"|q8ʼn6Kڏ Ts,*} pidzoMJɰt?xN[3be%J>6[\ֹ@0Vq%)rgzIrxyD8_Я Fc,}F2 Bm|AVt0T[Jv8>U* .{}hc7\hV KB5pևI;ڬZ9蔭cmvW5r*Y! o>L`LL:]BX nМmSUz&d$<忿CvxuclLƆ$p7Ui1ccJ{ ="{d3< ouFin%-Ily_4 V$ 1zԜ}m{-oYD  **#k/VVfyg+dBeo@=nt22#.+}'#ֳ[~5z bwb#liOJGGfqT'.C9N5^;__I Is''DϮxk}7HZo'G\>%ӤΌf aCyfu5@q%Fz:Ewu+g88ʳ.F_ ~70!Fƅj:>]o9Rj_ncvY]dvx$~$hs<85MWGt7wܛq-9:_L2ЊthYYT';4 ZXiAoxjcN q:yH_u‹m@FZMڊhHaBjq3C!=>wqYkG{AC]dpI3Z ڦDJ<>J¿[!jNkžCA` 4"d(TAߖ0tV+[G{urr'ڇ( 3sbvƑ#_eD5֏ $@ % JĔYǨ"P881I]Ba:l9rgL¼v/±q׃G+ިjkNTvul :MOCՀ/:MA!Z;ڷ?+!F+ ?bC)]g.cQɊOr(iZzQ5[G M"Eܬ_ m`A)?{O&pmć{ UWcJ_{`aV0]5){"F"H?I<}$S$Ϳ Ԓ8M O`!9UK]o~~ǩEfr1Y9X] SLtE fI5a<{]Q- WěTT;r@5]bssU4[&a\b)XKx9R[&rwb?TA鈑"R7cyo;>8uo %!#gWüOy**' &||IAcgU:F"'Oq3\xxf?FuJLt;: ] gnr6Q J`URS +/\l1_f:mx@KJaYZ K1MC?5eH2PiMz|vEaa$a!Uzn]~T_g!D\osoR_zjz[FV2Ht?k~7syQ!JGآU]qϛMFm6 ԪAjx5ݻ}.e|Kgt>"BE39~Kh(X:|P\Ԥ*pvp6;hrth/P >?rm4秊2 Bڅ^\u4i_r7d 9yCOÎ0kuu1IaΪ\%D #oWk__%던@a#qK<9>7YH@R??(YPWxuڟP:8vɲl T.m{914 @ѰOo7ΣeN1#{C*؃cۘmr/4%E/m3>a*jttf*WXwk .eBBbҺz8g&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)) am__rm_f = rm -f $(am__rm_f_notfound) am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = lib/icons ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_appicon_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = 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 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } am__installdirs = "$(DESTDIR)$(appicondir)" DATA = $(dist_appicon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_CXXFLAGS = @AM_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVEN_COPYRIGHT_MSG = @AVEN_COPYRIGHT_MSG@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COMMAVERSION = @COMMAVERSION@ COPYRIGHT_MSG = @COPYRIGHT_MSG@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIR = @DATADIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_TEXT = @EXTRA_TEXT@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ GDAL_CFLAGS = @GDAL_CFLAGS@ GDAL_LIBS = @GDAL_LIBS@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ 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@ PKGDOCDIR = @PKGDOCDIR@ PKGDOCDIR_EXPANDED = @PKGDOCDIR_EXPANDED@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PRETTYPACKAGE = @PRETTYPACKAGE@ PROJ_CFLAGS = @PROJ_CFLAGS@ PROJ_LIBS = @PROJ_LIBS@ RELEASE = @RELEASE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SPHINX_BUILD = @SPHINX_BUILD@ STRIP = @STRIP@ VERSION = @VERSION@ WERROR = @WERROR@ WXCONFIG = @WXCONFIG@ WX_CFLAGS = @WX_CFLAGS@ WX_CONFIG = @WX_CONFIG@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ 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@ xpm_files = \ aven.xpm \ log.xpm \ open.xpm \ open_pres.xpm \ rotation.xpm \ plan.xpm \ elevation.xpm \ defaults.xpm \ names.xpm \ crosses.xpm \ entrances.xpm \ fixed_pts.xpm \ exported_pts.xpm \ ug_legs.xpm \ surface_legs.xpm \ tubes.xpm \ solid_surface.xpm \ pres_frew.xpm \ pres_rew.xpm \ pres_go_back.xpm \ pres_pause.xpm \ pres_go.xpm \ pres_ff.xpm \ pres_fff.xpm \ pres_stop.xpm \ survey_tree.xpm \ pres_tree.xpm EXTRA_DIST = 3d.svg err.svg plt.svg pos.svg svx.svg 3d.png err.png \ plt.png pos.png svx.png png2winicon png2iconsetzip \ svg2iconsetzip $(xpm_files) aven.ico 3d.ico err.ico plt.ico \ pos.ico svx.ico $(iconsets) svgicondir = $(datadir)/icons/hicolor/scalable x32icondir = $(datadir)/icons/hicolor/32x32 # tubesprefs.png stationsprefs.png indicatorprefs.png\ # windowprefs.png gridprefs.png unitsprefs.png \ # legsprefs.png ctlprefs.png pres-restart.png pres-create.png\ # pres-record.png pres-finish.png svxedit.png appicondir = $(datadir)/icons/hicolor/scalable/apps dist_appicon_DATA = aven.svg SUFFIXES = .ico .png .svg .iconset.zip .xpm iconsets = Aven.iconset.zip\ 3d.iconset.zip err.iconset.zip plt.iconset.zip pos.iconset.zip\ svx.iconset.zip MAINTAINERCLEANFILES = $(iconsets) all: all-am .SUFFIXES: .SUFFIXES: .ico .png .svg .iconset.zip .xpm $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu lib/icons/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): install-dist_appiconDATA: $(dist_appicon_DATA) @$(NORMAL_INSTALL) @list='$(dist_appicon_DATA)'; test -n "$(appicondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appicondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appicondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appicondir)" || exit $$?; \ done uninstall-dist_appiconDATA: @$(NORMAL_UNINSTALL) @list='$(dist_appicon_DATA)'; test -n "$(appicondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appicondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: 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 check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(appicondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__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." -$(am__rm_f) $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dist_appiconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_appiconDATA uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-local install-dist_appiconDATA \ 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-generic pdf pdf-am ps ps-am tags-am \ uninstall uninstall-am uninstall-dist_appiconDATA \ uninstall-local .PRECIOUS: Makefile install-data-local: $(MKDIR_P) "$(DESTDIR)$(svgicondir)/mimetypes" $(MKDIR_P) "$(DESTDIR)$(x32icondir)/mimetypes" for f in 3d err pos svx ; do \ $(INSTALL_DATA) "$(srcdir)/$$f.svg" "$(DESTDIR)$(svgicondir)/mimetypes/application-x-survex-$$f.svg" ; \ $(INSTALL_DATA) "$(srcdir)/$$f.png" "$(DESTDIR)$(x32icondir)/mimetypes/application-x-survex-$$f.png" ; \ done $(INSTALL_DATA) "$(srcdir)/plt.svg" "$(DESTDIR)$(svgicondir)/mimetypes/application-x-compass-plot.svg" $(INSTALL_DATA) "$(srcdir)/plt.png" "$(DESTDIR)$(x32icondir)/mimetypes/application-x-compass-plot.png" uninstall-local: for f in 3d err pos svx ; do \ rm -f $(DESTDIR)$(svgicondir)/mimetypes/application-x-survex-$$f.svg ; \ rm -f $(DESTDIR)$(x32icondir)/mimetypes/application-x-survex-$$f.png ; \ done rm -f $(DESTDIR)$(svgicondir)/mimetypes/application-x-compass-plot.svg rm -f $(DESTDIR)$(x32icondir)/mimetypes/application-x-compass-plot.png Aven.iconset.zip: aven.svg $(SHELL) $(srcdir)/svg2iconsetzip aven.svg Aven.iconset.zip .svg.iconset.zip: $(SHELL) $(srcdir)/svg2iconsetzip $< $@ .png.ico: $(SHELL) $(srcdir)/png2winicon $< $@ .xpm.png: $(SHELL) $(srcdir)/xpm2png $< $@ # 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: # Tell GNU make to disable its built-in pattern rules. %:: %,v %:: RCS/%,v %:: RCS/% %:: s.% %:: SCCS/s.% survex-1.4.17/lib/icons/3d.ico0000644000175000017500000000427614560325776011534  ( @J}"$#a*|DOpqnoo^bc+Y[$$.FXy{c#&Hbc-'0JQQ$~ADD?BP2{ufou+os`d)>?#inflCy~[_FI3JL= *.dgEG$'Bu"~_duy &'MMMOOp$qu-rvOJMUVVTTsszH\]7dfQT68IIFgh-./01-2345%&'()!*+, !"#$  ?survex-1.4.17/lib/icons/plt.ico0000644000175000017500000000057614560261552012013  h( @""""""""""""""""R""R""R""R""R""R""R""R""R""R""R"UU"%U""R""""""%U""R""R""R%"RU"RU"UR%U"""survex-1.4.17/lib/icons/pres_frew.xpm0000644000175000017500000000067014567212227013237 /* XPM */ static char *pres_frew_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXX XXX XXX ", "XXXXX XX XX ", "XXXX . X . X . ", "XXX .. .. .. ", "XX ... ... ... ", "X ... ... .... ", " ... ... ..... ", "X ... ... .... ", "XX ... ... ... ", "XXX .. .. .. ", "XXXX . X . X . ", "XXXXX XX XX ", "XXXXXX XXX XXX ", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/log.xpm0000644000175000017500000000061214567212227012020 /* XPM */ static char * log_xpm[] = { "15 15 4 1", " c None", ". c #000000", "+ c #E0FFE0", "@ c #FFFFFF", " ............. ", " .+++++++++++. ", " .@.@.@.@@@@@. ", " .+++++++++++. ", " .@.@.@..@@@@. ", " .+++++++++++. ", " .@.@..@.@@@@. ", " .+++++++++++. ", " .@.@.@.@..@@. ", " .+++++++++++. ", " .@.@@@@@@@@@. ", " .+++++++++++. ", " .@..@.@.@..@. ", " .+++++++++++. ", " ............. "}; survex-1.4.17/lib/icons/err.png0000644000175000017500000000242114525274540012007 PNG  IHDR szzbKGDIDATxŗmLSWe! Co CЌ)f:ݢ#fq&.sI3ȧdFLtBKʫF@(}}(bܜ>sνW zK%{8p`\joGx/bb -o<"נގ4kHƍddx & HV+"?QZټ`V+=7@vv,o3)@DG? . @2:f,?B,@ b}:ݤQP|>&jL^/<X!@ 86ţZ„FV &=0N>&:t0yEE-Yԋ2J.׿erv@|"܏,hA65 ad0ZJTըup*wp!Jvd2ɚUAAODO0׍&:?WFTIo*ތTpYba* 3~n7{!szXb1;q:&Q߬ ~^֤e36){<|=ܼUMQQ$%M :XL˱c&e. пs'K܁{ط~={"#Q.v+fM4, 'm. mf&HNHy9eed܏>fq2֮͝,GX,m݊B\:Ӊ*/G3gqkLhBU~>v;EEΝ j`i!!t_B"znBm6/)!inJ*| l ^wgJ+UjK=?ƠJO2IENDB`survex-1.4.17/lib/icons/entrances.xpm0000644000175000017500000000065114567212227013224 /* XPM */ static char *entrances_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 2 1", " c #4AA003", ". c None", /* pixels */ "...............", "...............", "...............", "..... ......", ".... .... .....", "... ...... ....", ".. ...... ...", ".. ...... ...", ".. ...... ...", ".. ...... ...", "... .... ....", ".... .. .....", ".. .. .. .. ...", ".. .. ...", "..............." }; survex-1.4.17/lib/icons/pos.ico0000644000175000017500000000427614560325776012027  ( @J}"$#a*|DOpqnoo^bc+Y[$$.CXy{c#&Hbc-'0MMMADD?BP-rvufou#+os_d)>?infl;y~[_FI3JL=~*.dgDG$'Bu"~uy &'OOp?g$quOJMUVVTTH\]C7dfQT68OOFgh? @AB2C'63 !78$9:;<,-  ./0,12345&' !(")*+ !"#$%   ?survex-1.4.17/lib/icons/pos.svg0000644000175000017500000004206414567212227012042 image/svg+xml survex-1.4.17/lib/icons/rotation.xpm0000644000175000017500000000065014567212227013100 /* XPM */ static char *rotation_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 2 1", " c #000000", ". c None", /* pixels */ "...............", "...... ......", ".... ........", "... ..........", ".. ... .......", ". ... ......", ". .... .......", ". ............", ". ... ........", ".. .. .......", ".. ......", "... .....", ".... ......", "...... .......", "...... ........" }; survex-1.4.17/lib/icons/ug_legs.xpm0000644000175000017500000000162714567212227012673 /* XPM */ static char *ug_legs_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 35 1", " c #291010", ". c #212121", "X c #420000", "o c #4A0000", "O c #520000", "+ c #421010", "@ c #6B0000", "# c #5A5A5A", "$ c #8C0000", "% c #8C0808", "& c #9C0808", "* c #9C1010", "= c #A50000", "- c #A50808", "; c #B50000", ": c #BD0000", "> c #B50808", ", c #CE1818", "< c #CE2929", "1 c #CE3131", "2 c #C63939", "3 c #CE3939", "4 c #EF3939", "5 c #BD5A5A", "6 c #846B6B", "7 c #CE4242", "8 c #C65A5A", "9 c #C66363", "0 c #9C9C9C", "q c #BDB5B5", "w c #D6BDBD", "e c #DEDEDE", "r c #E7DEDE", "t c #E7E7E7", "y c None", /* pixels */ "yyyyyyyyyyyy-4,", "yyyyyyyyyyy&7<:", "yyyyyyyyyy&7<:$", "yyyyyyyyy*3<;$O", "yyyyyyyy*2<:$oy", "yyyyyyy*3<;$oyy", "yyyyyy*2<>$oyyy", "yyyyy*2<>$Xyyyy", "yyyy*3<>$oyyyyy", "yyyy91>$oyyyyyy", "yyyrw5%Xyyyyyyy", "yyteq6+yyyyyyyy", "yy80#.yyyyyyyyy", "y=@ yyyyyyyyyyy", "yyyyyyyyyyyyyyy" }; survex-1.4.17/lib/icons/png2winicon0000775000175000017500000000017014756727464012713 #!/bin/sh set -e t=.tmp.$$ pngtopam -alphapam "$1" > "$t.pam" pamtowinicon -truetransparent "$t.pam" > "$2" rm "$t.pam" survex-1.4.17/lib/icons/fixed_pts.xpm0000644000175000017500000000065114567212227013227 /* XPM */ static char *fixed_pts_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 2 1", " c #FF0000", ". c None", /* pixels */ "...............", "....... .......", "....... .......", "...... ......", "..... . .....", "..... . .....", ".... ... ....", "... ..... ...", "... .. .. ...", ".. .. .. ..", ". .... .... .", ". ......... .", " ", " ", "..............." }; survex-1.4.17/lib/icons/crosses.xpm0000644000175000017500000000066614567212227012731 /* XPM */ static char *crosses_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #1B64E2", ". c #FFFFFF", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XX. XXXXXX. XXX", "XXX. XXXX. XXXX", "XXXX. XX. XXXXX", "XXXXX. . XXXXXX", "XXXXXX. XXXXXXX", "XXXXX. . XXXXXX", "XXXX. XX. XXXXX", "XXX. XXXX. XXXX", "XX. XXXXXX. XXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/pres_go.xpm0000644000175000017500000000066614567212227012706 /* XPM */ static char *pres_go_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXX XXXXXXXXX", "XXXXX XXXXXXXX", "XXXXX . XXXXXXX", "XXXXX .. XXXXXX", "XXXXX ... XXXXX", "XXXXX .... XXXX", "XXXXX ..... XXX", "XXXXX .... XXXX", "XXXXX ... XXXXX", "XXXXX .. XXXXXX", "XXXXX . XXXXXXX", "XXXXX XXXXXXXX", "XXXXX XXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/pres_pause.xpm0000644000175000017500000000067114567212227013412 /* XPM */ static char *pres_pause_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXX X XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX .. X .. XXX", "XXX X XXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/aven.xpm0000644000175000017500000001275314567212227012201 /* XPM */ static char *aven_xpm[] = { /* columns rows colors chars-per-pixel */ "32 32 208 2", " c #010100", ". c #040400", "X c #050500", "o c #080800", "O c #090900", "+ c #0B0B00", "@ c #0C0C00", "# c #0D0D00", "$ c #0E0E00", "% c #0F0F00", "& c #101000", "* c #111100", "= c #131300", "- c #141400", "; c #151500", ": c #161600", "> c #171700", ", c #101007", "< c #181800", "1 c #191900", "2 c #1A1A00", "3 c #1B1B00", "4 c #1D1D00", "5 c #1E1E00", "6 c #1F1F00", "7 c #18180D", "8 c #1A1A0E", "9 c #250000", "0 c #202000", "q c #212100", "w c #222200", "e c #232300", "r c #262600", "t c #242403", "y c #282800", "u c #292900", "i c #2B2B00", "p c #2C2C00", "a c #2E2E00", "s c #313100", "d c #323200", "f c #343400", "g c #353500", "h c #383800", "j c #393900", "k c #3B3B00", "l c #3C3C00", "z c #3D3D00", "x c #3E3E00", "c c #222215", "v c #2E2E15", "b c #2F2F17", "n c #343415", "m c #3B3B15", "M c #3F3F15", "N c #323218", "B c #353518", "V c #33331F", "C c #2D2727", "Z c #2C2C26", "A c #363620", "S c #642200", "D c #404000", "F c #424200", "G c #454500", "H c #4C4600", "J c #484800", "K c #494900", "L c #4A4A00", "P c #4B4B00", "I c #4E4E00", "U c #4F4F00", "Y c #545400", "T c #555500", "R c #565600", "E c #575700", "W c #525207", "Q c #595900", "! c #5B5B00", "~ c #5E5E00", "^ c #5F5F00", "/ c #464612", "( c #404017", ") c #464616", "_ c #4A4A1A", "` c #555517", "' c #626200", "] c #636300", "[ c #646400", "{ c #666600", "} c #676700", "| c #6B6B00", " . c #6E6E00", ".. c #717100", "X. c #747400", "o. c #767600", "O. c #777700", "+. c #787800", "@. c #7B7B00", "#. c #7C7C00", "$. c #7D7D00", "%. c #7E7E00", "&. c #7F7F00", "*. c #656511", "=. c #676712", "-. c #686814", ";. c #454529", ":. c #4D4D3C", ">. c #50503A", ",. c #565641", "<. c #5E5E4C", "1. c #505050", "2. c #64644E", "3. c #646455", "4. c #666662", "5. c #767666", "6. c #777766", "7. c #AB0000", "8. c #F60000", "9. c #FF0000", "0. c #FF2A2A", "q. c #FF7D7D", "w. c #808000", "e. c #818100", "r. c #858500", "t. c #8A8A00", "y. c #8F8F00", "u. c #8E8E05", "i. c #89890A", "p. c #8B8B0E", "a. c #909000", "s. c #969601", "d. c #9C9C00", "f. c #9D9D00", "g. c #90900A", "h. c #95950B", "j. c #9A9A0A", "k. c #A5A500", "l. c #ADAD00", "z. c #AFAF00", "x. c #B0B000", "c. c #B2B200", "v. c #B3B300", "b. c #B8B800", "n. c #B9B900", "m. c #B9B901", "M. c #BABA00", "N. c #BBBB00", "B. c #BEBE00", "V. c #C0C000", "C. c #C2C200", "Z. c #C3C300", "A. c #CCCC00", "S. c #CECE00", "D. c #D2D200", "F. c #D5D500", "G. c #D7D700", "H. c #DBDB00", "J. c #DDDD00", "K. c #E1E100", "L. c #E4E400", "P. c #E6E600", "I. c #E8E800", "U. c #E9E900", "Y. c #EAEA00", "T. c #EEEE00", "R. c #F1F100", "E. c #F2F200", "W. c #F3F300", "Q. c #F7F700", "!. c #F8F800", "~. c #FAFA00", "^. c #FBFB00", "/. c #FCFC00", "(. c #FEFE00", "). c #FFFF00", "_. c #8B8B84", "`. c #8B8B8B", "'. c #9B9B93", "]. c #999999", "[. c #9F9F9B", "{. c #A0A0A0", "}. c #A1A1A1", "|. c #AEAEAB", " X c #AEAEAE", ".X c #BDBDBB", "XX c #BEBEBE", "oX c #E9A7A7", "OX c #FBB8B8", "+X c #C0C0C0", "@X c #C2C2C2", "#X c #CECECE", "$X c #D4D4D4", "%X c #D8D8D8", "&X c #DFDFDF", "*X c #FFC8C8", "=X c #E0E0E0", "-X c #E4E4E4", ";X c #E9E9E9", ":X c #FFE2E2", ">X c #FFE4E4", ",X c #FFEFEF", "._.{.].5.A *.I./.v.3 5X5X5X", "5X5X5X5X5X5X5X5X5X5X5X; g Y./.p.:.-X4X4X4X4X4X>X|.B J./.P.y 5X5X", "5X5X5X5X5X5X5X5X5X5X; +././.S.,.4X4X4X4X4X,Xq.:X4X%X_ /./.Y.e 5X", "5X5X5X5X5X5X5X5X5X; N./././.-.#X4X4X4X4XOX0.*X4X4X4X2.H././.w.5X", "5X5X5X5X5X5X5X; s P././././.` =X4X4X4X@XC oX4X4X4X4X6.B././.a.+ ", "5X5X5X5X5X5X; ..!./././././.j.'.4X4X&X1.$X4X4X4X4X4X;.Q././.Q X ", "5X5X5X5X5X; b./././././././.!.( .X image/svg+xml 1 2 4.2 34 3 5.1 survex-1.4.17/lib/icons/pres_stop.xpm0000644000175000017500000000067014567212227013261 /* XPM */ static char *pres_stop_xpm[] = { /* columns rows colors chars-per-pixel */ "15 15 3 1", " c #000000", ". c #60E03C", "X c None", /* pixels */ "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXX XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX ....... XXX", "XXX XXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX" }; survex-1.4.17/lib/icons/3d.svg0000644000175000017500000003741014567212227011546 image/svg+xml survex-1.4.17/lib/icons/pos.png0000644000175000017500000000224114525274540012020 PNG  IHDR szzbKGDVIDATxŗmLSWmqDȌASta8e8#1dQ/q_͈)&- C*nW[n>0\{͞s^ Al2QG(1Çgd&$=;.))sBvV1'3 6H6m bzR~`JbR~`y(eee)BL9Pa 4 ##C"l5W  fb>&ԅidImǷWՍ=.Kg# ~CƮVSLuMM7[NpnNbeu| w |Ev )%6nIII#y-999X^aUL^^ve~(W ^Z" !5~ }+gΡvZ (12"P]4-hr]lGK-ɋ8zDZ >l)7\x4-KMKɓ'<Wx(?ذ^E̒&8'톹7G9K{q(E?##p->wsu8V.3RIroOm5^<}2MhER]3Li*sUS;2 8~#-ŏqype!Zjy%!V 馍ߩ2WMdF+D#ټ]g E`iuZ N4V+:Ilýu`\ː75k-;vlZy (ڶ ͫi|Ёyфbl_gfI[ʕ|Y]M]UY""H1׭e+=xUbvDy+7 1&'x˖"8088HNY+&KLd޽Le%Nf 6O\ۋ^<׳`YN`}\ zIENDB`survex-1.4.17/lib/icons/3d.png0000644000175000017500000000212514525274540011526 PNG  IHDR szzbKGD IDATx͗kLU@/0@J$ǭ#uvKU%a4Q oaˢf`Ƈf 2 L`:/s ':M2Sʥ+bXKO~yry=GĿB¨ Zj@rūC B@ B?b+3`TTTzW<e͸M;ѱ&ja&{إB"gdT &7/ L&=U$'>F{.} ,p,uN r\>X7@CC 6v\MɳGQՌa4uؙbǎB݄_{x=J0"vpo%ßPTTf!.Bt\_=>om ˋl&HQ}wȰE|\?"X[p .yP;G#x_¥V=)RRU^2j C蔑Cx}gV.$Nٓsite/(R%Ħa wژ &O[4__l1ss+ )O񉂙iC}LL -ޚ%b6))I:mgrڇ N7\n\.7[9K|a#DHߩu̎G: |EƬͅ)6Τ]3H% ͋d 0~mAYp0C49@Re,jC" 2r3C/qp䐵nkw\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&Archivo" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotación" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientación" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Vista" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Controles" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "A&yuda" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Presentación" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Utilización" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Memoria insuficiente" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Memoria insuficiente (se necesitan %lu bytes de más)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, c-format msgid "Out of memory trying to read file “%s”" msgstr "Memória insuficiente intentando leer el archivo: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Para procesar estos datos topográficos se requiere la versión %s de Survex (o superior)." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "aviso" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "error" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "En el archivo incluido desde %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix ya no se usa - utiliza *begin y *end en su lugar" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Carácter “%c” no permitido en el nombre de una estación (utiliza *SET NAMES para definir los caracteres permitidos)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Campo que no puede ser omitido" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Se espera un campo numérico; encontrado “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Encontrado “%s”, esperando “PRESERVE”, “TOUPPER”, o “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Error detectado en el programa! Por favor comunícalo a los autores" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Comando desconocido “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Estación “%s” igualada a si misma" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "La lectura de la brújula no se puede omitir excepto en visuales a plomo" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "Lectura de longitud no se puede omitir" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Fin de línea no vacio" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Había %d alerta(s)." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "No se pudo ejecutar la orden “%s”" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Error al leer el archivo" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Demasiados errores - proceso abandonado" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT ya no se usa - utiliza *CALIBRATE/DATA/SD/UNITS con el argumento DEFAULT en su lugar" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Lectura de brújula en una tirada vertical" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "%s sin el correspondiente %s en este archivo" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "La estación “%s” no ha sido exportada desde la topografía “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "Referencia a la estación “%s” desde una topografía inexistente “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” no puede ser a la vez una estación y una topografía" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Esperando un nombre de estación" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Encontrado “%s”, esperando “EQUATES”, “EXPORTS”, o “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Encontrado “%s”, esperando “ON” o “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Solo una estación en la orden EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Cantidad “%s” desconocida" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unidades “%s” desconocidas" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "Sistema de coordenadas desconocido" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "El sistema de coordenadas no es válido: %s" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "Sistema de coordenadas inadecuado para la salida" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "Falló la conversión de las coordenadas: %s" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "La proyección de entrada está establecida pero la de salida no" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "La proyección de salida está establecida pero la de entrada no" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "No se puede omitir las coordenadas cuando se ha especificado un sistema de coordenadas" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "Debe especificarse un sistema de coordenadas para “%s”" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "Numero esperado o “AUTO”" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "No especificada la fecha en los datos de la topografia - usando 0 para la declinación magnética" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "Declinación: %s, convergencia de meridianos: %.1f%s" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 msgid "Matching BEGIN command has no survey name" msgstr "La instrucción BEGIN correspondiente no tiene nombre de topografia" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unidades “%s” inválidas para cantidad" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Instrumento “%s” desconocido" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "El factor de escala debe ser 1.0 para el comando DECLINATION" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "El factor de escala debe de ser diferente de cero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Configuración “%s” desconocida" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Clase de carácter desconocida “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Ningún dato de topografia" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Nombre de archivo “%s” referido a un directorio" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "La topografia no está completamente conectada a estaciones fijas" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Estación ya fijada o igualada a un punto fijado" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "No se pudo abrir el archivo de salida “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "La desviación estándard tiene que ser positiva" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Tirada con la misma estación en ambas puntas (“%s”) - error de transcripción?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Lectura del clino superior a %.f%s (valor absoluto)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tentativa de igualar dos estaciones fijadas en coordenadas diferentes: “%s” y “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Igualando dos estaciones fijadas en las mismas coordenadas: “%s” y “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Comando FIX sin coordenades - se fijará en (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Estación fijada previamente en las mismas coordenadas" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Ya hay un comando FIX sin coordenadas para la estación “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "La estación “%s” fue fijada antes del primer comando CS usado" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT debe seguir inmediatamente a “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "Asumiendo 2 digitos el año es %d" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Año inválido (< 1900 ó > 2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Año inválido" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Lectura de brújula sospechosa" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Lectura de longitud negativa" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "La misma estación se fijó dos veces sin coordenadas" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "Lectura de longitud inferior a la diferencia de profundidades" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Campo “%s” no permitido en este estilo de datos “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Faltan campos para el estilo de datos “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Estilo de datos “%s” desconocido" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "La estación “%s” ya ha sido exportada anteriormente" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Campo duplicado “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” desconocido" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Falta \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "La estacioón “%s” solo ha sido referenciada una vez, con un nombre de topografia explícito - error tipográfico?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Las siguientes estaciones no están conectadas a un punto fijo:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "La topografia no tiene puntos fijados. De todos modos he fijado %s en (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Punto fijado no utilizado “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Resolviendo un sistema de %d ecuaciones" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "El campo “%s” duplica campo(s) precedente(s)" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Resolviendo una ecuación" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Distancia ajustada negativa" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "La fecha es en el futuro!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "La fecha final es anterior a la inicial" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Se ha especificado una sección transversal en la estación inexistente “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Las lecturas de CLINO y BACKCLINO deben de ser del mismo tipo" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "Las lecturas reciprocas del CLINO y BACKCLINO no pueden tener la misma dirección" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Mes inválido" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "El dia del mes es inválido" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "%d versiones del formato del archivo 3d respecto al %d soportado" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Esperando un nombre de topografía" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "No se pudo abrir el archivo “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "No se pudo escribir en el archivo “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "No se puede crear un fichero temporal" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Usos futuros de ésta función obsoleta no serán informados" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Las lecturas de TAPE y BACKTAPE difieren de %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Las lecturas de COMPASS y BACKCOMPASS difieren de %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Las lecturas de CLINO y BACKCLINO difieren de %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” obsoleto - usa “*data %s …” en su lugar" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "Archivo de imagen 3d “%s” erróneo" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Fecha y hora no disponibles." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Error al leer el archivo “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Error escribiendo en el archivo “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Error escribiendo en archivo" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Había %d alerta(s) y %d error(es) - no se generaron archivos de salida." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "El archivo “%s” tiene un formato mas nuevo del que éste programa puede entender" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Norte" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Alzado en" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "Vista de P&lanta" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "&Alzado" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Alzado" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Planta" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "PlantaKiwi" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Calculando estadísticas" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Esperando una cadena de carácteres" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "Faltan argumentos" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "Sobran argumentos" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "ARCHIVO" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Borrando las secuencias terminales" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "Conectando secuencias" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Calculando secuencias" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Calculando las secuencias terminales" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Simplificando la red" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Calculando la red" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Encontrado “%s”, esperando “F” o “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Longitud total de las visuales de la topografia = %7.2f%s (%7.2f%s corregido)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Longitud total en proyección horizontal = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Longitud vertical total de las visuales de la topografia = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Desnivel total = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensión Norte-Sur = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Extensión Este-Oeste = %4.2f%s (desde %s en %4.2f%s a %s en %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "Hay 1 bucle." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Hay %ld bucles." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Tiempo de CPU utilizado %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Tiempo utilizado %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Tiempo utilizado no disponible" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Tiempo utilizado %5.2fs (%5.2fs tiempo CPU)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Longitud original %6.2fm (%3d visuales), reducidos %6.2fm (%5.2fm/visual). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Error %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Error N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "muestra esta ayuda y sale" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "muestra información de la versión y sale" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPCIÓN" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Escala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Prueba “%s --help” para más información.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, c-format msgid "Processed: %s" msgstr "Procesada en: %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "Extendido 1:%.0f" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Vista de Planta, %s arriba de la pagina" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Alzado mirando a %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Alzado mirando a %s, inclinado %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Alzado desarrollado" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "La topografia contiene 1 estación," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "La topografia contiene %ld estaciones," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " unidas por 1 tirada." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " unidas por %ld visuales." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nodo" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nodos" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "La topografia contiene %ld componentes conectados." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Guardar Registro" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Reprocesar" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argumento numérico “%s” fuera de rango" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "El argumento “%s” no es un entero" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "El argumento “%s” no es un número" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Esperando “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Esperando “%s” o “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Esperando “%s”, “%s”, o “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Esperando “%s”, “%s”, “%s”, o “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "La estación “%s” ha sido referenciada por *%s pero no se ha usado nunca" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Falta el %s correspondiente" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 msgid "Survey name doesn’t match BEGIN" msgstr "El nombre de la topografia no se corresponde con el del BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 msgid "Survey name omitted from END" msgstr "Nombre de la topografia omitido en el END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Este X , Norte Y , Altitud Z)" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Profundidad de pantalla: %dbpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (color)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Esperando dato, encontrado “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "solo carga la sub-topografía con prefijo" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "imprimir y salir (require un archivo 3d)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "establecer la localización para los archivos de salida" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "solo mostrar un breve resumen (-qq para solo errores)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "no crear el archivo .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "convertir las advertencias en errores" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "registro de salida a archivo .log" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "especificar la versión del formato del archivo de salida" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "archivo .espec para controlar el desarrollo" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "mostrar las interrupciones con las viuales de superficie en la salida" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "El factor de *UNITS debe de ser diferente de cero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "No hay datos topográficos en el archivo 3d “%s”" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Dirección" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Acerca de %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Selecciona un archivo de terreno para visualizar" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "Archivos de terreno" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "Sin datos del terreno en el área de la topografia" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Selecciona un archivo de topografia para visualizar" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "Archivos Survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Todos los archivos" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Todos los archivos de topografias" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "Archivos Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "Archivos Compass MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "Archivos Compass DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "Archivos Compass CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 #, fuzzy msgid "Walls survey data files" msgstr "Archivos topografia Walls" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "Archivos CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "Archivos DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "Archivos EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "Archivos GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL para plotters" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "Archivos KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT para usar con Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "Archivos Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "Archivos SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "Archivos JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "Archivos de registro" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Herramienta para visualizar topografias" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU según es publicada por la Free Software Foundation, bien de la versió 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "ARCHIVO1 ARCHIVO2 [LÍMITE]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "ARCHIVO1 y ARCHIVO2 pueden ser archivos .pos o .3d\nLÍMITE es el max. cambio ignorable a lo largo de cualquier eje en metros (por defecto %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "ARCHIVO_ENTRADA [ARCHIVO_3D_SALIDA]" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "ARCHIVO_ERR [CUANTOS]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "[ARCHIVO_TOPOGRAFIA]" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 #, fuzzy msgid "[SURVEY_DATA_FILE]" msgstr "[ARCHIVO_TOPOGRAFIA]" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Sin fecha" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "No en el bucle" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE no puede ser el primer campo" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE no puede ser el último campo" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Campos en más de una linea, pero sin NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "El campo “%s” tiene que preceder a NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE solo puede ser precedido por STATION, DEPTH, y COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "No se pueden calibrar cantidades angulares y de longitud juntas" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "Comando *alias erróneo" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "%s Registro de Errores" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Exportar..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "&Auto-Rotar\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Invierte el sentido" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Vista hacia el &Norte" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Vista hacia el &Este" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Vista hacia el &Sur" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Vista hacia el &Oeste" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Planta" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Al&zado" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Restaurar la &vista predeterminada" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vista" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elementos" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Formato de exportación" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d páginas (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Una página" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Nombre de estación" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nombres de estación" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "etiquetas de estación" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Cruces" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "marcadores de estación" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Visuales Subterráneas" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "visuales subterráneas" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Secciones transversales" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "secciones transversales" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Paredes" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "paredes" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Galerias" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "galerias" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "Origen en el centro" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "origen en el centro" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "Coordenadas completas" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "coordenadas completas" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Pegar al suelo" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "pegar al suelo" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Angulo de inclinación" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Marcos de la página" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Leyenda" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Páginas en blanco" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Nombres de estación\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "&Galerias Tubulares\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 msgid "Terr&ain" msgstr "&Terreno" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Cruces\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "Re&jilla\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "&Bordes del Cuadro\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "Visuales S&ubterráneas\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Visuales de t&opografia de superficie\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "visuales de topografia de superficie" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nombres &Superpuestos" #: ../src/mainfrm.cc:873 #: n:450 msgid "Co&lour by" msgstr "Co&lorear por" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Marca las &Entradas" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Marca los Puntos &fijados" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Marca los Puntos E&xportados" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Entradas" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "entradas" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Puntos fijados" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "puntos fijados" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Puntos Exportados" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "puntos Exportados" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Perspecti&va" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "&Paredes con textura" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "&Desvanece los objetos lejanos" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Visuales Suavi&zadas" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Modo Pantalla Completa\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Colorear por &Profundidad" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 msgid "Colour by D&ate" msgstr "Colorear por &Fecha" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 msgid "Colour by &Error" msgstr "Colorear por &Error" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Colorear por Error &Horizontal" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Colorear por Error &Vertical" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 msgid "Colour by &Gradient" msgstr "Colorear por Pe&ndiente" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 msgid "Colour by &Length" msgstr "Colorear por &Longitud" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 msgid "Colour by &Survey" msgstr "Colorear por &Topografia" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Brújula" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Clinómetro" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "Cla&ve de color" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Barra de &Escala" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Invierte el sentido\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Cancela la linea de medida\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicadores" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: la opción “%s” es ambigua\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: la opción “%c%s” no permite argumento\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: la opción “--%s” no permite argumento\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: la opción “%s” requiere un argumento\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: la opción requiere un argumento -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: opción “--%s” desconocida\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: opción “%c%s” desconocida\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opción inválida -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nueva Presentación" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Abrir Presentación..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Guardar la Presentación" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Guardar la Presentació &Como..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "&Marca" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Reproduce" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Exporta como Animación..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Exportar Animación" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Selecciona un nombre de archivo de salida" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Presentaciones Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Guardar la captura de pantalla" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Selecciona una presentación para abrir" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Error en el formato del archivo de presentación “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "Archivos Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "Archivos CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Presentación Modificada" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "La presentación actual ha sido modificada. Abandonar los cambios no guardados?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Búsqueda infructuosa." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Encuentra" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Altitud" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "Solo se puede visualizar un archivo 3d a la vez." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Panel Lateral" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f E, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Desde %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "H %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Azim %03.1f%s, Pend %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metrico" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Grados" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "Porc&entaje" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " millas" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " milla" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Ocultar Brújula" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Ocultar Clino" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Ocultar barra de escala" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "&Ocultar clave de color" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: H %.2f%s, Azim %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Topografías" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Presentación" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Mostrar todo" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Ocultar otros" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Este" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Norte" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Abrir...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Abrir &Terreno..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Mostrar &Registro" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "&Imprimir...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "Configuración de la &página..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Captura de pantalla..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Alzado &Desarrollado..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "&Exporta como..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Exporta como:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Exportar" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Información del Sistema:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Vista previa de la impresión" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Imprimir" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Imprimir..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Visuales de topografia de super&ficie" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Editar waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (no utilizado en la vista en perspectiva)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Tiempo: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr " secs (0 = auto; *6 = 6 veces auto)" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Se requiere OpenGL para trabajar la versión de %s, pero no está disponible." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "Separador en el nombre de la topografia" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "estación anónima" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "No puede haber una visual entre estaciones anónimas" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "Visuales &Radiantes" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "visuales radiantes" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "Visuales Dupl&icadas" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Oculta" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "D&escolorada" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "&Discontinua" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Mostrar" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Leyendo datos, espere por favor…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "La estación %s no se ha encontrado" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "No se han encontrado las visuales %s → %s" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Inicio desde la estación %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Extendiendo hacia la izquierda desde la estación %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Extendiendo hacia la derecha desde la estación %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Extendiendo hacia la izquierda desde la visual %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Extendiendo hacia la derecha desde la visual %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Rompiendo el bucle en la estación %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Rompiendo el bucle en la visual %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Cambiando la dirección del alzado extendido desde la estación %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Cambiando la dirección del alzado extendido desde la visual %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Aplicando fichero de especificaciones: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Escribiendo %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "ordenar por factor de error horizontal" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "ordenar por factor de error vertical" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "ordenar por porcentaje de error" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "ordenar por error por visual" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "reemplaza el archivo .err con la versión recurrida" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "No se ha podido analizar el archivo de errores .err" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Movido por (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Añadido: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Borrado: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 msgid "Reentering an existing survey is deprecated" msgstr "Reentrar en una topografia exitente ya no se usa" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Originalmente entrado aqui" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT ya no se usa" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "rebobinar el archivo y leerlo una segunda vez" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "mostrar la fecha de la topografia (si esta presente)" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Error al inicializar el sistema de coordenadas de entrada “%s”" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Error al inicializar el sistema de coordenadas de salida “%s”" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "generar rejilla (por defecto %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "altura del texto de las etiquetas (por defecto %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "tamaño de la marca de la estación (%s por defecto)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "producir salida Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "producir salida CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "producir salida DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "producir salida EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "producir salida GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "producir salida HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "producir salida JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "producir salida KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "producir salida Compass PLT para Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "producir salida Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "producir salida SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "Omitiendo “%s”" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Error en el formato del archivo de fuentes “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Superficie Sóli&da" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d encontradas" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferencias..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Dibuja las paredes" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Estimación heurística de los datos LRUD" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Marcar las estaciones topográficas con cruces" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Destacar las estaciones marcadas como entradas" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Destacar las estaciones marcadas como puntos fijos" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Destacar las estaciones exportadas" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Marcar las estaciones topográficas con sus nombres" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permitir que los nombres se sobrepongan (más rápido)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Muestra las visuales subterráneas" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Muestra las visuales de superficie" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Colorea las visuales de superficie según profundidad" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Dibuja las visuales de superficie con líneas discontinuas" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Dibuja una cuadrícula" #: n:362 #~ msgid "metric units" #~ msgstr "unidades en sistema métrico" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unidades en sistema imperial" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "grados (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "grados centesimales" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Muestra las distancias en" #: n:367 #~ msgid "Display angles in" #~ msgstr "Muestra los ángulos en" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Invierte el sentido de los controles" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Muestra la escala gráfica" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Muestra la escala de profundidad" #: n:371 #~ msgid "Display compass" #~ msgstr "Muestra la brújula" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Muestra el clinómetro" #: n:373 #~ msgid "Display side panel" #~ msgstr "Muestra el panel lateral" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "Proyección de coordenadas" survex-1.4.17/lib/it.po0000664000175000017500000030305714766623453010375 msgid "" msgstr "" "Project-Id-Version: survex\n" "Report-Msgid-Bugs-To: olly@survex.com\n" "POT-Creation-Date: 1999-08-26 12:23:58 +0000\n" "PO-Revision-Date: 2014-01-15 00:39:01 +0000\n" "Last-Translator: Roberto Maugeri \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" #. TRANSLATORS: Aven menu titles. An “&” goes before the letter of any #. accelerator key. The accelerators must be different within this group #: ../src/mainfrm.cc:955 #: n:210 msgid "&File" msgstr "&File" #: ../src/mainfrm.cc:956 #: n:211 msgid "&Rotation" msgstr "&Rotazione" #: ../src/mainfrm.cc:957 #: n:212 msgid "&Orientation" msgstr "&Orientazione" #: ../src/mainfrm.cc:958 #: n:213 msgid "&View" msgstr "&Vista" #: ../src/mainfrm.cc:960 #: n:214 msgid "&Controls" msgstr "&Controlli" #: ../src/mainfrm.cc:972 #: n:215 msgid "&Help" msgstr "&Aiuto" #. TRANSLATORS: "Presentation" in the sense of a talk with a slideshow - #. the items in this menu allow the user to animate between preset #. views. #: ../src/mainfrm.cc:965 #: n:216 msgid "&Presentation" msgstr "&Presentazione" #. TRANSLATORS: as in: Usage: cavern … #: ../src/cmdline.c:167 #: n:49 msgid "Usage" msgstr "Utilizzo" #: ../src/gla-gl.cc:263 #: n:389 msgid "Out of memory" msgstr "Memoria insufficiente" #. TRANSLATORS: "%lu" is a placeholder for the number of bytes which Survex #. was trying to allocate space for. #: ../src/message.c:68 #: ../src/message.c:1104 #: n:24 #, c-format msgid "Out of memory (couldn’t find %lu bytes)." msgstr "Memoria insufficiente (ci vorrebbero altri %lu bytes)." #. TRANSLATORS: %s will be replaced by the filename #. that we were trying to read when we ran out of #. memory. #: ../src/gfxcore.cc:4620 #: n:2 #, fuzzy, c-format msgid "Out of memory trying to read file “%s”" msgstr "Memoria insufficiente: “%s”" #. TRANSLATORS: Feel free to translate as "or newer" instead of "or #. greater" if that gives a more natural translation. It's #. technically not quite right when there are parallel active release #. series (e.g. Survex 1.0.40 was released *after* 1.2.0), but this #. seems unlikely to confuse users. "Survex" is the name of the #. software, so should not be translated. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:2841 #: n:38 #, c-format msgid "Survex version %s or greater required to process this survey data." msgstr "Questi dati di topografia possono essere trattati da Survex versione %s o superiore." #. TRANSLATORS: Indicates a informational message e.g.: #. "spoon.svx:12: info: Declination: [...]" #: ../src/cavernlog.cc:531 #: ../src/message.c:1147 #: ../src/netartic.c:358 #: n:485 msgid "info" msgstr "info" #. TRANSLATORS: Indicates a warning message e.g.: #. "spoon.svx:12: warning: *prefix is deprecated" #: ../src/aven.cc:476 #: ../src/cavernlog.cc:532 #: ../src/message.c:1152 #: n:106 msgid "warning" msgstr "avvertimento" #. TRANSLATORS: Indicates an error message e.g.: #. "spoon.svx:13:4: error: Field may not be omitted" #: ../src/cavernlog.cc:533 #: ../src/message.c:1157 #: ../src/survexport.cc:469 #: n:93 msgid "error" msgstr "errore" #. TRANSLATORS: %s is replaced by the filename of the parent file, and %u #. by the line number in that file. Your translation should also contain #. %s:%u so that automatic parsing of error messages to determine the file #. and line number still works. #: ../src/datain.c:157 #: n:44 #, c-format msgid "In file included from %s:%u:\n" msgstr "Nel file inserito da %s:%u:\n" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:835 #: n:109 msgid "*prefix is deprecated - use *begin and *end instead" msgstr "*prefix é sconsigliato - usare invece *begin e *end" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/readval.c:201 #: n:110 #, c-format msgid "Character “%c” not allowed in station name (use *SET NAMES to set allowed characters)" msgstr "Carattere “%c” non permesso nel nome di stazione (usare *SET NAMES per cambiare i caratteri permessi)" #: ../src/readval.c:650 #: ../src/readval.c:690 #: n:114 msgid "Field may not be omitted" msgstr "Questo campo non puó essere omesso" #: ../src/datain.c:4746 #: ../src/datain.c:4784 #: ../src/datain.c:4894 #: ../src/datain.c:4933 #: ../src/datain.c:4976 #: ../src/datain.c:5026 #: ../src/datain.c:5068 #: ../src/datain.c:5114 #: ../src/datain.c:5128 #: ../src/datain.c:5417 #: ../src/readval.c:652 #: ../src/readval.c:795 #: ../src/readval.c:828 #: n:9 #, c-format msgid "Expecting numeric field, found “%s”" msgstr "Questo campo é numerico, trovato “%s”" #. TRANSLATORS: The first %d will be replaced by the (inclusive) lower #. bound and the second by the (inclusive) upper bound, for example: #. Expecting integer in range -60 to 60 #: ../src/readval.c:855 #: n:489 #, c-format msgid "Expecting integer in range %d to %d" msgstr "" #: ../src/commands.c:2336 #: n:10 #, c-format msgid "Found “%s”, expecting “PRESERVE”, “TOUPPER”, or “TOLOWER”" msgstr "Trovato “%s”, atteso “PRESERVE”, “TOUPPER” o “TOLOWER”" #: ../src/debug.h:47 #: ../src/debug.h:51 #: n:11 msgid "Bug in program detected! Please report this to the authors" msgstr "Individuato un errore nel programma! Per favore comunicatelo agli autori" #: ../src/commands.c:3150 #: ../src/datain.c:2142 #: ../src/datain.c:2154 #: ../src/datain.c:2357 #: ../src/datain.c:2863 #: ../src/datain.c:3355 #: ../src/extend.c:462 #: n:12 #, c-format msgid "Unknown command “%s”" msgstr "Comando sconosciuto “%s”" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/netbits.c:434 #: n:13 #, c-format msgid "Station “%s” equated to itself" msgstr "Stazione “%s” uguagliata a se stessa" #. TRANSLATORS: Here "legs" are survey legs, i.e. measurements between #. survey stations. #: ../src/datain.c:4032 #: n:14 msgid "Compass reading may not be omitted except on plumbed legs" msgstr "La lettura della bussola non puó essere omessa qui eccettto che nelle battute verticali" #: ../src/datain.c:5201 #: ../src/datain.c:5329 #: n:94 msgid "Tape reading may not be omitted" msgstr "La distanza non puó essere omessa" #: ../src/commands.c:2379 #: ../src/datain.c:481 #: ../src/datain.c:2581 #: ../src/datain.c:2839 #: ../src/datain.c:4430 #: ../src/extend.c:467 #: n:15 msgid "End of line not blank" msgstr "Fine della linea non vuota" #: ../src/commands.c:369 #: n:74 msgid "No blank after token" msgstr "" #: ../src/cavern.c:415 #: n:16 #, c-format msgid "There were %d warning(s)." msgstr "Ci sono %d avvertimenti." #. TRANSLATORS: %s is replaced by the command we attempted to run. #: ../src/cavernlog.cc:418 #: ../src/cavernlog.cc:470 #: ../src/mainfrm.cc:1624 #: n:17 #, c-format msgid "Couldn’t run external command: “%s”" msgstr "Esecuzione del comando “%s” fallita" #: ../src/datain.c:135 #: ../src/datain.c:143 #: ../src/datain.c:177 #: ../src/datain.c:206 #: ../src/datain.c:216 #: ../src/datain.c:232 #: ../src/datain.c:3163 #: ../src/datain.c:3515 #: ../src/extend.c:696 #: ../src/sorterr.c:77 #: ../src/sorterr.c:94 #: ../src/sorterr.c:237 #: n:18 msgid "Error reading file" msgstr "Errore nella lettura del file" #: ../src/message.c:1180 #: n:19 msgid "Too many errors - giving up" msgstr "Troppi errori - processo interrotto" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:2126 #: n:20 msgid "*DEFAULT is deprecated - use *CALIBRATE/DATA/SD/UNITS with argument DEFAULT instead" msgstr "*DEFAULT é sconsigliato - usare invece *CALIBRATE/DATA/SD/UNITS con argomento DEFAULT" #. TRANSLATORS: A "plumbed leg" is one measured using a plumbline #. (a weight on a string). So the problem here is that the leg is #. vertical, so a compass reading has no meaning! #: ../src/datain.c:4002 #: n:21 msgid "Compass reading given on plumbed leg" msgstr "Lettura della bussola in una battuta verticale" #. TRANSLATORS: %s and %s are replaced with e.g. BEGIN and END #. or END and BEGIN or #[ and #] #: ../src/commands.c:1068 #: ../src/datain.c:2455 #: ../src/datain.c:3424 #: n:23 #, c-format msgid "%s with no matching %s in this file" msgstr "C’é un %s senza il corrispondente %s in questo file" #. TRANSLATORS: A station must be exported out of each level it is in, so #. this would give "Station “\outer.inner.1” not exported from survey #. “\outer”)": #. #. *equate entrance outer.inner.1 #. *begin outer #. *begin inner #. *export 1 #. 1 2 1.23 045 -6 #. *end inner #. *end outer #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/commands.c:1458 #: ../src/commands.c:1460 #: ../src/listpos.c:123 #: ../src/readval.c:341 #: ../src/readval.c:344 #: n:26 #, c-format msgid "Station “%s” not exported from survey “%s”" msgstr "La stazione “%s” non é stata esportata dal rilievo “%s”" #. TRANSLATORS: This error occurs if there's an attempt to #. export a station from a survey which doesn't actually #. exist. #. #. Here "survey" is a "cave map" rather than list of #. questions - it should be translated to the terminology #. that cavers using the language would use. #: ../src/listpos.c:133 #: n:286 #, c-format msgid "Reference to station “%s” from non-existent survey “%s”" msgstr "riferimento alla stazione “%s” di un rilievo “%s” non esistente" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Here "survey" is a "cave map" rather than list of questions - it should be #. translated to the terminology that cavers using the language would use. #: ../src/readval.c:291 #: ../src/readval.c:315 #: n:27 #, c-format msgid "“%s” can’t be both a station and a survey" msgstr "“%s” non può essere contemporaneamente una stazione e un rilievo" #. TRANSLATORS: Here "station" is a survey station, not a train station. #: ../src/extend.c:269 #: ../src/extend.c:288 #: ../src/extend.c:334 #: ../src/extend.c:377 #: ../src/extend.c:420 #: ../src/readval.c:197 #: ../src/readval.c:458 #: ../src/readval.c:465 #: n:28 msgid "Expecting station name" msgstr "Manca il nome della stazione" #: ../src/commands.c:2751 #: n:31 #, c-format msgid "Found “%s”, expecting “EQUATES”, “EXPORTS”, or “PLUMBS”" msgstr "Trovato “%s”, atteso “EQUATES”, “EXPORTS” o “PLUMBS”" #: ../src/commands.c:2757 #: n:32 #, c-format msgid "Found “%s”, expecting “ON” or “OFF”" msgstr "Trovato “%s”, atteso “ON” o “OFF”" #. TRANSLATORS: EQUATE is a command name, so shouldn’t be #. translated. #. #. Here "station" is a survey station, not a train station. #: ../src/commands.c:1417 #: n:33 msgid "Only one station in EQUATE command" msgstr "Solo una stazione nel comando EQUATE" #. TRANSLATORS: A "quantity" is something measured like "LENGTH", #. "BEARING", "ALTITUDE", etc. #: ../src/commands.c:642 #: n:34 #, c-format msgid "Unknown quantity “%s”" msgstr "Quantitá “%s” sconosciuta" #: ../src/commands.c:541 #: n:35 #, c-format msgid "Unknown units “%s”" msgstr "Unitá “%s” sconosciute" #: ../src/commands.c:2297 #: n:532 #, c-format msgid "Unknown team role “%s”" msgstr "" #: ../src/commands.c:553 #: n:479 #, c-format msgid "Units “%s” are deprecated, assuming “grads” - see manual for details" msgstr "" #: ../src/commands.c:2559 #: ../src/commands.c:2638 #: n:434 msgid "Unknown coordinate system" msgstr "" #: ../src/commands.c:2667 #: ../src/commands.c:2708 #: n:443 #, c-format msgid "Invalid coordinate system: %s" msgstr "" #: ../src/commands.c:2646 #: ../src/commands.c:2678 #: n:435 msgid "Coordinate system unsuitable for output" msgstr "" #: ../src/commands.c:983 #: ../src/commands.c:1236 #: ../src/datain.c:2693 #: ../src/datain.c:3765 #: n:436 #, c-format msgid "Failed to convert coordinates: %s" msgstr "" #: ../src/commands.c:1243 #: n:437 msgid "The input projection is set but the output projection isn't" msgstr "" #: ../src/commands.c:1245 #: n:438 msgid "The output projection is set but the input projection isn't" msgstr "" #: ../src/commands.c:1171 #: n:439 msgid "Coordinates can't be omitted when coordinate system has been specified" msgstr "" #. TRANSLATORS: %s is replaced by the command that requires it, e.g. #. *DECLINATION AUTO #: ../src/commands.c:2090 #: ../src/datain.c:3803 #: n:301 #, c-format msgid "Input coordinate system must be specified for “%s”" msgstr "" #: ../src/datain.c:2705 #: ../src/datain.c:3785 #: n:488 msgid "Output coordinate system not set" msgstr "" #: ../src/datain.c:3287 #: n:503 #, c-format msgid "Datum “%s” not supported" msgstr "" #: ../src/commands.c:2082 #: n:309 msgid "Expected number or “AUTO”" msgstr "" #: ../src/datain.c:3825 #: n:304 msgid "No survey date specified - using 0 for magnetic declination" msgstr "" #. TRANSLATORS: This message gives information about the range of #. declination values and the grid convergence value calculated for #. each "*declination auto ..." command. #. #. The first %s will be replaced by the declination range (or single #. value), and %.1f%s by the grid convergence angle. #: ../src/commands.c:937 #: n:484 #, c-format msgid "Declination: %s, grid convergence: %.1f%s" msgstr "" #. TRANSLATORS: Cavern computes the grid convergence at the #. representative location(s) specified by the #. `*declination auto` command(s). The convergence values #. for the most N, S, E and W survey stations with legs #. attached are also computed and the range of these values #. is reported in this message. It's approximate because the #. min or max convergence could actually be beyond this range #. but it's unlikely to be very wrong. #. #. Each %.1f%s will be replaced with a convergence angle (e.g. #. 0.9°) and the following %s with the station name where that #. convergence angle was computed. #: ../src/cavern.c:505 #: n:531 #, c-format msgid "Approximate full range of grid convergence: %.1f%s at %s to %.1f%s at %s\n" msgstr "" #. TRANSLATORS: Used when a BEGIN command has no survey, but the #. END command does, e.g.: #. #. *begin #. 1 2 10.00 178 -01 #. *end entrance <--[Message given here] #: ../src/commands.c:1099 #: n:36 #, fuzzy msgid "Matching BEGIN command has no survey name" msgstr "Il BEGIN corrispondente non ha prefisso" #. TRANSLATORS: Note: In English you talk about the *units* of a single #. measurement, but the correct term in other languages may be singular. #: ../src/commands.c:570 #: n:37 #, c-format msgid "Invalid units “%s” for quantity" msgstr "Unitá “%s” non valida per questa quantitá" #: ../src/commands.c:634 #: n:39 #, c-format msgid "Unknown instrument “%s”" msgstr "Strumento “%s” sconosciuto" #. TRANSLATORS: DECLINATION is a built-in keyword, so best not to #. translate #: ../src/commands.c:2022 #: n:40 msgid "Scale factor must be 1.0 for DECLINATION" msgstr "Il fattore di scala per il comando DECLINATION deve essere 1.0" #. TRANSLATORS: If the scale factor for an instrument is zero, then any #. reading would be mapped to zero, which doesn't make sense. #: ../src/commands.c:2030 #: n:391 msgid "Scale factor must be non-zero" msgstr "Il fattore di scala deve essere diverso da zero" #: ../src/commands.c:2146 #: n:41 #, c-format msgid "Unknown setting “%s”" msgstr "Parametro “%s” sconosciuto" #: ../src/commands.c:678 #: n:42 #, c-format msgid "Unknown character class “%s”" msgstr "Carattere sconosciuto classe “%s”" #: ../src/extend.c:706 #: ../src/netskel.c:93 #: n:43 msgid "No survey data" msgstr "Mancano i dati topografici" #: ../src/filename.c:80 #: n:5 #, c-format msgid "Filename “%s” refers to directory" msgstr "Il nome del file “%s” corrisponde ad una directory" #. TRANSLATORS: At the end of processing (or if a *SOLVE command is used) #. cavern will issue this warning if there are any sections of the survey #. network which are hanging. #: ../src/netartic.c:342 #: n:45 msgid "Survey not all connected to fixed stations" msgstr "La topografia non é completamente connessa alle stazioni fisse" #: ../src/commands.c:1336 #: ../src/datain.c:958 #: ../src/datain.c:2726 #: n:46 msgid "Station already fixed or equated to a fixed point" msgstr "Stazione giá fissata o uguagliata ad un punto fisso" #: ../src/commands.c:1341 #: ../src/datain.c:963 #: ../src/datain.c:2730 #: n:493 msgid "Previously fixed or equated here" msgstr "" #: ../src/cavern.c:312 #: ../src/filename.c:83 #: ../src/gfxcore.cc:4234 #: n:3 #, c-format msgid "Failed to open output file “%s”" msgstr "Non riesco ad aprire il file di uscita “%s”" #: ../src/commands.c:1252 #: ../src/commands.c:1266 #: ../src/commands.c:1278 #: ../src/commands.c:2202 #: n:48 msgid "Standard deviation must be positive" msgstr "La deviazione standard deve essere positiva" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #. #. %s is replaced by the name of the station. #: ../src/netbits.c:327 #: n:50 #, c-format msgid "Survey leg with same station (“%s”) at both ends - typing error?" msgstr "Alle estremitá di una battuta c’é la stessa stazione (“%s”) - Errore di trascrizione?" #. TRANSLATORS: %.f%s will be replaced with a right angle in the #. units currently in use, e.g. "90°" or "100ᵍ". And "absolute #. value" means the reading ignoring the sign (so it might be #. < -90° or > 90°. #: ../src/datain.c:3924 #: ../src/datain.c:3937 #: n:51 #, c-format msgid "Clino reading over %.f%s (absolute value)" msgstr "Lettura del clinometro superiore a %.f%s (valore assoluto)" #: ../src/netbits.c:449 #: n:52 #, c-format msgid "Tried to equate two non-equal fixed stations: “%s” and “%s”" msgstr "Tentativo di uguagliare due stazioni fisse differenti: “%s” e “%s”" #. TRANSLATORS: "equal" as in: #. #. *fix a 1 2 3 #. *fix b 1 2 3 #. *equate a b #: ../src/netbits.c:460 #: n:53 #, c-format msgid "Equating two equal fixed points: “%s” and “%s”" msgstr "Uguagliate due stazioni fisse identiche: “%s” e “%s”" #. TRANSLATORS: " *fix a " gives this message: #: ../src/commands.c:1191 #: n:54 msgid "FIX command with no coordinates - fixing at (0,0,0)" msgstr "Comando FIX senza coordinate - fissato a (0,0,0)" #. TRANSLATORS: *fix a 1 2 3 / *fix a 1 2 3 #: ../src/commands.c:1339 #: ../src/datain.c:960 #: ../src/datain.c:2728 #: n:55 msgid "Station already fixed at the same coordinates" msgstr "Stazione giá fissata alle stesse coordinate" #. TRANSLATORS: Emitted after second and subsequent "FIX" command #. with no coordinates. #: ../src/commands.c:1187 #: n:441 #, fuzzy, c-format msgid "Already had FIX command with no coordinates for station “%s”" msgstr "Piú di un comando FIX senza coordinate: “%s”" #: ../src/commands.c:2435 #: n:442 #, c-format msgid "Station “%s” fixed before CS command first used" msgstr "" #. TRANSLATORS: The *EXPORT command is only valid just after *BEGIN #. , so this would generate this error: #. #. *begin fred #. 1 2 1.23 045 -6 #. *export 2 #. *end fred #: ../src/commands.c:3166 #: n:57 msgid "*EXPORT must immediately follow “*BEGIN ”" msgstr "*EXPORT deve seguire “*BEGIN ”" #. TRANSLATORS: %d will be replaced by the assumed year, e.g. 1918 #: ../src/commands.c:2873 #: ../src/commands.c:2948 #: ../src/readval.c:978 #: n:76 #, c-format msgid "Assuming 2 digit year is %d" msgstr "" #: ../src/commands.c:2937 #: n:158 #, c-format msgid "Interpreting as an ISO-format date - use “*date surveyed %d-%02d” to suppress this warning, or “*date %d %d” if you wanted a date range" msgstr "" #: ../src/commands.c:2877 #: ../src/commands.c:2951 #: ../src/readval.c:984 #: n:58 msgid "Invalid year (< 1900 or > 2078)" msgstr "Anno non valido (<1900 o >2078)" #: ../src/commands.c:2346 #: ../src/commands.c:2349 #: ../src/commands.c:2357 #: ../src/commands.c:2360 #: n:534 msgid "Invalid year" msgstr "Anno non valido" #. TRANSLATORS: Suspicious means something like 410 degrees or -20 #. degrees #: ../src/datain.c:3624 #: ../src/datain.c:3633 #: ../src/readval.c:722 #: n:59 msgid "Suspicious compass reading" msgstr "Lettura della bussola sospetta" #: ../src/datain.c:4753 #: ../src/datain.c:4902 #: n:60 msgid "Negative tape reading" msgstr "Distanza negativa" #: ../src/commands.c:1176 #: n:61 msgid "Same station fixed twice with no coordinates" msgstr "La stessa stazione é stata fissata due volte senza coordinate" #. TRANSLATORS: This means that the data fed in said this. #. #. It could be a gross error (e.g. the decimal point is missing from the #. depth gauge reading) or it could just be due to random error on a near #. vertical leg #: ../src/datain.c:4208 #: n:62 msgid "Tape reading is less than change in depth" msgstr "La distanza é minore del dislivello" #. TRANSLATORS: a data "style" is something like NORMAL, DIVING, etc. #. a "reading" is one of FROM, TO, TAPE, COMPASS, CLINO for NORMAL #. style. Neither "style" nor "reading" is a keyword in the program. #. #. This error complains about a "DEPTH" gauge reading in "NORMAL" #. style, for example. #: ../src/commands.c:1683 #: ../src/commands.c:1705 #: n:63 #, c-format msgid "Reading “%s” not allowed in data style “%s”" msgstr "Dato “%s” non permesso nel tipo di dati “%s”" #. TRANSLATORS: i.e. not enough readings for the style. #: ../src/commands.c:1886 #: n:64 #, c-format msgid "Too few readings for data style “%s”" msgstr "Mancano dati per il tipo di dati “%s”" #. TRANSLATORS: e.g. trying to refer to an invalid FNORD data style #: ../src/commands.c:1653 #: ../src/datain.c:2103 #: n:65 #, c-format msgid "Data style “%s” unknown" msgstr "Tipo di dati “%s” sconosciuto" #. TRANSLATORS: Here "station" is a survey station, not a train station. #. #. Exporting a station twice gives this error: #. #. *begin example #. *export 1 #. *export 1 #. 1 2 1.24 045 -6 #. *end example #: ../src/commands.c:1509 #: n:66 #, c-format msgid "Station “%s” already exported" msgstr "Stazione “%s” giá esportata" #. TRANSLATORS: complains about a situation like trying to define #. two from stations per leg #: ../src/commands.c:1730 #: n:67 #, c-format msgid "Duplicate reading “%s”" msgstr "Dato duplicato “%s”" #: ../src/commands.c:2902 #: n:416 #, c-format msgid "Duplicate date type “%s”" msgstr "" #: ../src/commands.c:1368 #: n:68 #, c-format msgid "FLAG “%s” unknown" msgstr "FLAG “%s” sconosciuto" #: ../src/readval.c:890 #: n:69 msgid "Missing \"" msgstr "Manca \"" #. TRANSLATORS: Here "station" is a survey station, not a train #. station. #: ../src/listpos.c:145 #: n:70 #, fuzzy, c-format msgid "Station “%s” referred to just once, with an explicit survey name - typo?" msgstr "La statione “%s” é ha un unico riferimento, con un prefisso esplicito - errore di scrittura?" #. TRANSLATORS: Here "station" is a survey station, not a #. train station. #: ../src/netartic.c:355 #: n:71 msgid "The following survey stations are not attached to a fixed point:" msgstr "Le seguenti stazioni non sono connesse ad un punto fisso:" #: ../src/netskel.c:133 #: n:72 #, c-format msgid "Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)" msgstr "La topografia non ha punti fissi. Quindi %s é stata fissata a (0,0,0)" #. TRANSLATORS: fixed survey station that is not part of any survey #: ../src/listpos.c:68 #: n:73 #, c-format msgid "Unused fixed point “%s”" msgstr "Punto fisso non usato “%s”" #: ../src/matrix.c:120 #: n:75 #, c-format msgid "Solving %d simultaneous equations" msgstr "Sto risolvendo un sistema di %d equazioni" #. TRANSLATORS: This is an error from the *DATA command. It #. means that a reading (which will appear where %s is isn't #. valid as the list of readings has already included the same #. reading, or an equivalent one (e.g. you can't have both #. DEPTH and DEPTHCHANGE together). #: ../src/commands.c:1794 #: n:77 #, c-format msgid "Reading “%s” duplicates previous reading(s)" msgstr "La lettura “%s” duplica precedenti letture" #: ../src/matrix.c:118 #: n:78 msgid "Solving one equation" msgstr "Sto risolvendo una equazione" #: ../src/datain.c:3961 #: ../src/datain.c:4197 #: ../src/datain.c:4612 #: n:79 msgid "Negative adjusted tape reading" msgstr "Distanza corretta negativa" #: ../src/commands.c:2352 #: ../src/commands.c:2366 #: ../src/commands.c:3049 #: ../src/commands.c:3070 #: n:80 msgid "Date is in the future!" msgstr "La data é nel futuro!" #: ../src/commands.c:2363 #: ../src/commands.c:3078 #: n:81 msgid "End of date range is before the start" msgstr "La data finale é anteriore a quella finale" #. TRANSLATORS: e.g. the user specifies a passage cross-section at #. station "entrance.27", but there is no station "entrance.27" in #. the centre-line. #: ../src/netskel.c:1060 #: n:83 #, c-format msgid "Cross section specified at non-existent station “%s”" msgstr "Sezione trasversale specificata per una stazione non esistente: “%s”" #. TRANSLATORS: In data with backsights, the user has tried to give a #. plumb for the foresight and a clino reading for the backsight, or #. something similar. #: ../src/datain.c:3985 #: n:84 msgid "CLINO and BACKCLINO readings must be of the same type" msgstr "Le letture CLINO e BACKCLINO devono essere dello stesso tipo" #. TRANSLATORS: We've been told the foresight and backsight are #. both "UP", or that they're both "DOWN". #: ../src/datain.c:4011 #: n:92 msgid "Plumbed CLINO and BACKCLINO readings can't be in the same direction" msgstr "" #: ../src/commands.c:2979 #: ../src/commands.c:3015 #: ../src/readval.c:992 #: n:86 msgid "Invalid month" msgstr "Mese non valido" #. TRANSLATORS: e.g. 31st of April, or 32nd of any month #: ../src/commands.c:2991 #: ../src/commands.c:3028 #: ../src/readval.c:999 #: n:87 msgid "Invalid day of the month" msgstr "Giorno del mese non valido" #: ../src/cavern.c:261 #: n:88 #, c-format msgid "3d file format versions %d to %d supported" msgstr "Sono supportati i file 3D dalla versione %d alla versione %d" #: ../src/readval.c:195 #: n:89 msgid "Expecting survey name" msgstr "Manca il nome del rilievo" #: ../src/datain.c:3131 #: ../src/datain.c:3133 #: ../src/datain.c:3456 #: ../src/extend.c:691 #: ../src/gfxcore.cc:4568 #: ../src/mainfrm.cc:409 #: ../src/sorterr.c:143 #: n:1 #, c-format msgid "Couldn’t open file “%s”" msgstr "Non riesco ad aprire il file “%s”" #: ../src/printing.cc:674 #: ../src/survexport.cc:464 #: n:402 #, c-format msgid "Couldn’t write file “%s”" msgstr "Non posso scrivere il file “%s”" #: ../src/datain.c:2533 #: ../src/datain.c:2538 #: n:498 msgid "Failed to create temporary file" msgstr "Impossibile creare il file temporaneo" #. TRANSLATORS: If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:697 #: ../src/commands.c:813 #: ../src/commands.c:837 #: ../src/commands.c:1667 #: ../src/commands.c:2128 #: ../src/readval.c:87 #: n:95 msgid "Further uses of this deprecated feature will not be reported" msgstr "Usi futuri di questa funzionalitá non piú usata non verranno segnalati" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "0.12m" or "0.2ft". #: ../src/datain.c:5190 #: ../src/datain.c:5318 #: n:97 #, c-format msgid "TAPE reading and BACKTAPE reading disagree by %s" msgstr "Le letture TAPE e BACKTAPE differiscono di %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:3876 #: n:98 #, c-format msgid "COMPASS reading and BACKCOMPASS reading disagree by %s" msgstr "Le letture COMPASS e BACKCOMPASS differiscono di %s" #. TRANSLATORS: %s is replaced by the amount the readings disagree #. by, e.g. "2.5°" or "3ᵍ". #: ../src/datain.c:4063 #: n:99 #, c-format msgid "CLINO reading and BACKCLINO reading disagree by %s" msgstr "Le letture CLINO e BACKCLINO differiscono di %s" #: ../src/commands.c:1664 #: n:104 #, c-format msgid "“*data %s %c …” is deprecated - use “*data %s …” instead" msgstr "“*data %s %c …” é una funzionalitá non piú usata - usare “*data %s …”" #. TRANSLATORS: Perhaps the user tried to load a different type of file as #. a Survex .3d file, or the .3d file was corrupted. #: ../src/img_for_survex.h:41 #: n:4 #, c-format msgid "Bad 3d image file “%s”" msgstr "File immagine 3d “%s” errato" #. TRANSLATORS: This is the date format string used to timestamp .3d #. files internally. Probably best to keep it the same for all #. translations. #: ../src/model.cc:382 #: n:107 #, c-format msgid "%a,%Y.%m.%d %H:%M:%S %Z" msgstr "%a,%Y.%m.%d %H:%M:%S %Z" #. TRANSLATORS: used a processed survey with no processing date/time info #: ../src/model.cc:375 #: n:108 msgid "Date and time not available." msgstr "Data e ora non disponibili." #: ../src/img_for_survex.h:42 #: n:6 #, c-format msgid "Error reading from file “%s”" msgstr "Errore nella lettura del file “%s”" #: ../src/cavernlog.cc:662 #: ../src/filename.c:107 #: ../src/mainfrm.cc:371 #: ../src/mainfrm.cc:1549 #: n:7 #, c-format msgid "Error writing to file “%s”" msgstr "Errore nella scrittura del file “%s”" #: ../src/filename.c:110 #: n:111 msgid "Error writing to file" msgstr "Errore nella scrittura del file" #: ../src/cavern.c:410 #: n:113 #, c-format msgid "There were %d warning(s) and %d error(s) - no output files produced." msgstr "Ci sono %d avvertimenti e %d errori - nessun file prodotto." #: ../src/img_for_survex.h:43 #: n:8 #, c-format msgid "File “%s” has a newer format than this program can understand" msgstr "Il file “%s” é ha un nuovo formato che questo programma non puó capire" #: ../src/printing.cc:1182 #: n:115 msgid "North" msgstr "Nord" #. TRANSLATORS: "Elevation on" 020 <-> 200 degrees #: ../src/printing.cc:1207 #: n:116 msgid "Elevation on" msgstr "Profilo in direzione" #: ../src/printing.cc:468 #: n:117 msgid "P&lan view" msgstr "&Pianta" #: ../src/printing.cc:470 #: n:285 msgid "&Elevation" msgstr "P&rofilo" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. neither from directly above nor from directly below. It is #. also used in the dialog for editing a marked position in a #. presentation. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:910 #: ../src/gfxcore.cc:2139 #: ../src/mainfrm.cc:160 #: n:118 msgid "Elevation" msgstr "Profilo" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly above. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:810 #: ../src/gfxcore.cc:2133 #: n:432 msgid "Plan" msgstr "Pianta" #. TRANSLATORS: Label used for "clino" in Aven when the view is #. from directly below. #. #. Try to keep this translation short - ideally at most 10 #. characters - as otherwise the compass and clino will be moved #. further apart to make room. */ #: ../src/gfxcore.cc:824 #: ../src/gfxcore.cc:2136 #: n:433 msgid "Kiwi Plan" msgstr "" #: ../src/cavern.c:373 #: n:120 msgid "Calculating statistics" msgstr "Sto calcolando le statistiche" #: ../src/readval.c:906 #: n:121 msgid "Expecting string field" msgstr "Questo é un campo di tipo stringa" #: ../src/cmdline.c:211 #: n:122 msgid "too few arguments" msgstr "Numero di parametri insufficiente" #: ../src/cmdline.c:218 #: n:123 msgid "too many arguments" msgstr "Troppi parametri" #: ../src/cmdline.c:177 #: ../src/cmdline.c:180 #: ../src/cmdline.c:184 #: n:124 msgid "FILE" msgstr "FILE" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:173 #: n:125 msgid "Removing trailing traverses" msgstr "Sto rimuovendo le traverse terminali" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:232 #: n:126 msgid "Concatenating traverses" msgstr "So connettendo le traverse" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #: ../src/netskel.c:438 #: n:127 msgid "Calculating traverses" msgstr "Sto calcolando le traverse" #. TRANSLATORS: In French, Eric chose to use the terminology used by #. toporobot: "sequence" for the English "traverse", which makes sense #. (although toporobot actually uses this term to mean something more #. specific). Feel free to follow this lead if you can't think of a better #. term - these messages mostly indicate how processing is progressing. #. #. A trailing traverse is a dead end back to a junction. #: ../src/netskel.c:787 #: n:128 msgid "Calculating trailing traverses" msgstr "Sto calcolando le traverse terminali" #: ../src/network.c:67 #: n:129 msgid "Simplifying network" msgstr "Sto semplificando la rete" #: ../src/network.c:512 #: n:130 msgid "Calculating network" msgstr "Sto calcolando la rete" #: ../src/datain.c:4734 #: n:131 #, c-format msgid "Found “%s”, expecting “F” or “B”" msgstr "Trovato “%s”, atteso “F” o “B”" #: ../src/cavern.c:550 #: n:132 #, c-format msgid "Total length of survey legs = %7.2f%s (%7.2f%s adjusted)" msgstr "Sviluppo spaziale = %7.2f%s (%7.2f%s corretto)" #: ../src/cavern.c:553 #: n:133 #, c-format msgid "Total plan length of survey legs = %7.2f%s" msgstr "Sviluppo planimetrico = %7.2f%s" #: ../src/cavern.c:556 #: n:134 #, c-format msgid "Total vertical length of survey legs = %7.2f%s" msgstr "Totale delle componenti verticali delle battute = %7.2f%s" #. TRANSLATORS: numbers are altitudes of highest and lowest stations #: ../src/cavern.c:563 #: n:135 #, c-format msgid "Vertical range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Dislivello totale = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous message #: ../src/cavern.c:566 #: n:136 #, c-format msgid "North-South range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Estensione Nord-Sud = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)" #. TRANSLATORS: c.f. previous two messages #: ../src/cavern.c:569 #: n:137 #, c-format msgid "East-West range = %4.2f%s (from %s at %4.2f%s to %s at %4.2f%s)" msgstr "Estensione Est-Ovest = %4.2f%s (da %s a %4.2f%s a %s a %4.2f%s)" #: ../src/cavern.c:531 #: n:138 msgid "There is 1 loop." msgstr "C’é una poligonale chiusa." #: ../src/cavern.c:533 #: n:139 #, c-format msgid "There are %ld loops." msgstr "Ci sono %ld poligonali chiuse." #: ../src/cavern.c:395 #: n:140 #, c-format msgid "CPU time used %5.2fs" msgstr "Tempo CPU utilizzato %5.2fs" #: ../src/cavern.c:398 #: n:141 #, c-format msgid "Time used %5.2fs" msgstr "Tempo totale %5.2fs" #: ../src/cavern.c:400 #: n:142 msgid "Time used unavailable" msgstr "Tempo totale non disponibile" #: ../src/cavern.c:403 #: n:143 #, c-format msgid "Time used %5.2fs (%5.2fs CPU time)" msgstr "Tempo totale %5.2fs (tempo CPU %5.2fs)" #: ../src/netskel.c:752 #: n:145 #, c-format msgid "Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). " msgstr "Lunghezza originale %6.2fm (%3d battute), ridotta %6.2fm (%5.2fm/battuta). " #: ../src/netskel.c:755 #: n:146 #, c-format msgid "Error %6.2f%%" msgstr "Errore %6.2f%%" #. TRANSLATORS: Here N/A means "Not Applicable" -- it means the #. traverse has zero length, so error per metre is meaningless. #. #. There should be 4 spaces between "Error" and "N/A" so that it lines #. up with the numbers in the message above. #: ../src/netskel.c:762 #: n:147 msgid "Error N/A" msgstr "Errore N/A" #. TRANSLATORS: description of --help option #: ../src/cmdline.c:137 #: n:150 msgid "display this help and exit" msgstr "mostra questo aiuto ed esce" #. TRANSLATORS: description of --version option #: ../src/cmdline.c:140 #: n:151 msgid "output version information and exit" msgstr "Mostra informazioni sulla versione ed esce" #. TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… #: ../src/cmdline.c:169 #: n:153 msgid "OPTION" msgstr "OPZIONI" #: ../src/mainfrm.cc:164 #: ../src/printing.cc:406 #: ../src/printing.cc:1244 #: ../src/printing.cc:1293 #: n:154 msgid "Scale" msgstr "Scala" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:134 #: n:217 msgid "scale (50, 0.02, 1:50 and 2:100 all mean 1:50)" msgstr "" #: ../src/cmdline.c:193 #: n:157 #, c-format msgid "Try “%s --help” for more information.\n" msgstr "Usare “%s --help” per ulteriori informazioni.\n" #. TRANSLATORS: N/M meaning page N of M in the page footer of a printout. #: ../src/printing.cc:1950 #: n:232 #, c-format msgid "%d/%d" msgstr "%d/%d" #. TRANSLATORS: Used in the footer of printouts to compactly indicate that #. the date which follows is the date that the survey data was processed. #. #. Aven will replace %s with a string giving the date and time (e.g. #. "2015-06-09 12:40:44"). #: ../src/printing.cc:1991 #: n:167 #, fuzzy, c-format msgid "Processed: %s" msgstr "In corso su %s" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a plan view and what the viewing angle is. #. Aven will replace %s with the bearing, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1905 #: n:233 #, c-format msgid "↑%s 1:%.0f" msgstr "↑%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an elevation view and what the viewing angle #. is. Aven will replace the %s codes with the bearings to the #. left and right of the viewer, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1916 #: n:235 #, c-format msgid "%s↔%s 1:%.0f" msgstr "%s↔%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is a tilted elevation view and what the viewing #. angles are. Aven will replace the %s codes with the bearings to #. the left and right of the viewer and the angle the view is #. tilted at, and %.0f with the scale. #. #. This message probably doesn't need translating for most languages. #: ../src/printing.cc:1929 #: n:236 #, c-format msgid "%s↔%s ∡%s 1:%.0f" msgstr "%s↔%s ∡%s 1:%.0f" #. TRANSLATORS: Used in the footer of printouts to compactly #. indicate this is an extended elevation view. Aven will replace #. %.0f with the scale. #. #. Try to keep the translation short (for example, in English we #. use "Extended" not "Extended elevation") - there is limited room #. in the footer, and the details there are mostly to make it easy #. to check that you have corresponding pages from a multiple page #. printout. #: ../src/printing.cc:1945 #: n:244 #, c-format msgid "Extended 1:%.0f" msgstr "" #. TRANSLATORS: This is used on printouts of plans, with %s replaced by #. something like "123°". The bearing is up the page. #: ../src/printing.cc:1188 #: n:168 #, c-format msgid "Plan view, %s up page" msgstr "Vista in pianta, %s in alto" #. TRANSLATORS: This is used on printouts of elevations, with %s #. replaced by something like "123°". The bearing is the direction #. we’re looking. #: ../src/printing.cc:1220 #: n:169 #, c-format msgid "Elevation facing %s" msgstr "Elevazione orientata a %s" #. TRANSLATORS: Don't translate example command line option --tilt=-90 #: ../src/survexport.cc:140 #: n:462 msgid "plan view (equivalent to --tilt=-90)" msgstr "" #. TRANSLATORS: This is used on printouts of tilted elevations, with #. the first %s replaced by something like "123°", and the second by #. something like "-45°". The bearing is the direction we’re #. looking. #: ../src/printing.cc:1227 #: n:284 #, c-format msgid "Elevation facing %s, tilted %s" msgstr "Elevazione orientata a %s, inclinata di %s" #. TRANSLATORS: Don't translate example command line option --tilt=0 #: ../src/survexport.cc:142 #: n:463 msgid "elevation view (equivalent to --tilt=0)" msgstr "" #. TRANSLATORS: This is used on printouts of extended elevations. #: ../src/printing.cc:1236 #: n:191 msgid "Extended elevation" msgstr "Profilo longitudinale" #: ../src/cavern.c:513 #: n:172 msgid "Survey contains 1 survey station," msgstr "La topografia contiene una stazione," #: ../src/cavern.c:515 #: n:173 #, c-format msgid "Survey contains %ld survey stations," msgstr "La topografia contiene %ld stazioni," #: ../src/cavern.c:519 #: n:174 msgid " joined by 1 leg." msgstr " unite per una battuta." #: ../src/cavern.c:521 #: n:175 #, c-format msgid " joined by %ld legs." msgstr " unite per %ld battute." #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:176 msgid "node" msgstr "nodo" #. TRANSLATORS: node/nodes as in: "Survey has 1 2-node and 2 3-nodes." #: n:177 msgid "nodes" msgstr "nodi" #. TRANSLATORS: "Connected component" in the graph theory sense - it #. means there are %ld bits of survey with no connections between #. them. This message is only used if there are more than 1. #: ../src/cavern.c:541 #: n:178 #, c-format msgid "Survey has %ld connected components." msgstr "La topografia contiene %ld componenti connesse." #. TRANSLATORS: Label for button in aven’s cavern log window which #. allows the user to save the log to a file. #: ../src/cavernlog.cc:600 #: n:446 msgid "&Save Log" msgstr "&Salva Log" #. TRANSLATORS: Label for button in aven’s cavern log window which #. causes the survey data to be reprocessed. #: ../src/cavernlog.cc:604 #: n:184 msgid "&Reprocess" msgstr "&Riprocessa" #: ../src/cmdline.c:241 #: ../src/cmdline.c:260 #: n:185 #, c-format msgid "numeric argument “%s” out of range" msgstr "argomento numerico “%s” al di fuori dell’intervallo consentito" #: ../src/cmdline.c:243 #: n:186 #, c-format msgid "argument “%s” not an integer" msgstr "L’argomento “%s” non é un intero" #: ../src/cmdline.c:262 #: n:187 #, c-format msgid "argument “%s” not a number" msgstr "L’argomento “%s” non é un numero" #: ../src/commands.c:2964 #: ../src/datain.c:631 #: ../src/datain.c:639 #: ../src/datain.c:1704 #: ../src/datain.c:1937 #: ../src/datain.c:4354 #: n:497 #, c-format msgid "Expecting “%s”" msgstr "Atteso “%s”" #: ../src/commands.c:2896 #: ../src/datain.c:930 #: ../src/datain.c:1614 #: ../src/datain.c:1972 #: ../src/datain.c:2094 #: ../src/datain.c:2234 #: ../src/datain.c:2266 #: ../src/datain.c:2621 #: n:103 #, c-format msgid "Expecting “%s” or “%s”" msgstr "Atteso “%s” o “%s”" #: ../src/commands.c:1384 #: ../src/commands.c:2056 #: ../src/datain.c:1571 #: ../src/datain.c:1994 #: ../src/datain.c:2017 #: ../src/datain.c:4397 #: n:188 #, c-format msgid "Expecting “%s”, “%s”, or “%s”" msgstr "Atteso “%s”, “%s” o “%s”" #: ../src/commands.c:1388 #: ../src/datain.c:2044 #: ../src/datain.c:2071 #: n:189 #, c-format msgid "Expecting “%s”, “%s”, “%s”, or “%s”" msgstr "Atteso “%s”, “%s”, “%s” o “%s”" #: ../src/readval.c:692 #: ../src/readval.c:700 #: ../src/readval.c:708 #: ../src/readval.c:716 #: n:483 #, c-format msgid "Expecting quadrant bearing, found “%s”" msgstr "" #. TRANSLATORS: The first %s is replaced by a station name, #. the second %s by "entrance" or "export". #: ../src/listpos.c:95 #: ../src/listpos.c:103 #: n:190 #, c-format msgid "Station “%s” referred to by *%s but never used" msgstr "Stazione “%s” referenziata da *%s ma mai usata" #. TRANSLATORS: %s is replaced with e.g. BEGIN or .BOOK or #[ #: ../src/commands.c:1063 #: ../src/datain.c:2317 #: ../src/datain.c:2462 #: ../src/datain.c:3201 #: n:192 #, c-format msgid "No matching %s" msgstr "Manca il %s corrispondente" #. TRANSLATORS: *BEGIN and *END should have the #. same if it’s given at all #: ../src/commands.c:1103 #: n:193 #, fuzzy msgid "Survey name doesn’t match BEGIN" msgstr "Il prefisso non corrisponde con il BEGIN" #. TRANSLATORS: Used when a BEGIN command has a survey name, but the #. END command omits it, e.g.: #. #. *begin entrance #. 1 2 10.00 178 -01 #. *end <--[Message given here] #: ../src/commands.c:1112 #: n:194 #, fuzzy msgid "Survey name omitted from END" msgstr "Prefisso omesso in END" #. TRANSLATORS: Heading line for .pos file. Please try to ensure the #. “,”s (or at least the columns) are in the same place #: ../src/pos.cc:98 #: n:195 msgid "( Easting, Northing, Altitude )" msgstr "( Est (X), Nord (Y), Quota Z )" #. TRANSLATORS: bpp is "Bits Per Pixel" #: ../src/aboutdlg.cc:172 #: n:196 #, c-format msgid "Display Depth: %d bpp" msgstr "Profondità display: %d bpp" #. TRANSLATORS: appended to previous message if the display is colour #: ../src/aboutdlg.cc:174 #: n:197 msgid " (colour)" msgstr " (colore)" #: ../src/commands.c:2865 #: ../src/commands.c:2927 #: ../src/commands.c:2970 #: ../src/commands.c:2986 #: ../src/commands.c:3011 #: ../src/commands.c:3022 #: ../src/readval.c:941 #: ../src/readval.c:949 #: ../src/readval.c:955 #: n:198 #, c-format msgid "Expecting date, found “%s”" msgstr "Attesa una data, trovato “%s”" #. TRANSLATORS: --help output for --survey option. #. #. "this" has been added to English translation #: ../src/aven.cc:70 #: ../src/diffpos.c:56 #: ../src/dump3d.c:48 #: ../src/extend.c:486 #: ../src/survexport.cc:132 #: n:199 msgid "only load the sub-survey with this prefix" msgstr "carica un sotto-rilievo con prefisso" #. TRANSLATORS: --help output for aven --print option #: ../src/aven.cc:72 #: n:119 msgid "print and exit (requires a 3d file)" msgstr "stampa ed esci (richiede un file 3d)" #. TRANSLATORS: --help output for cavern --output option #: ../src/cavern.c:115 #: n:162 msgid "set location for output files" msgstr "seleziona dove salvare i file" #. TRANSLATORS: --help output for cavern --quiet option #: ../src/cavern.c:117 #: n:163 msgid "only show brief summary (-qq for errors only)" msgstr "mostra solamente un breve riassunto (-qq per i soli errori)" #. TRANSLATORS: --help output for cavern --no-auxiliary-files option #: ../src/cavern.c:119 #: n:164 msgid "do not create .err file" msgstr "non creare il file .err" #. TRANSLATORS: --help output for cavern --warnings-are-errors option #: ../src/cavern.c:121 #: n:165 msgid "turn warnings into errors" msgstr "cambia gli avvisi in errori" #. TRANSLATORS: --help output for cavern --log option #: ../src/cavern.c:123 #: n:170 msgid "log output to .log file" msgstr "usa il file .log" #. TRANSLATORS: --help output for cavern --3d-version option #: ../src/cavern.c:125 #: n:171 msgid "specify the 3d file format version to output" msgstr "specifica il formato di file 3D da generare" #. TRANSLATORS: --help output for extend --specfile option #: ../src/extend.c:488 #: n:90 msgid ".espec file to control extending" msgstr "" #. TRANSLATORS: --help output for extend --show-breaks option #: ../src/extend.c:490 #: n:91 msgid "show breaks with surface survey legs in output" msgstr "" #. TRANSLATORS: error message given by "*units tape 0 feet" - it’s #. meaningless to say your tape is marked in "0 feet" (but you might #. measure distance by counting knots on a diving line, and tie them #. every "2 feet"). #: ../src/commands.c:1937 #: n:200 msgid "*UNITS factor must be non-zero" msgstr "Il fattore *UNITS deve essere diverso da zero" #: ../src/model.cc:392 #: n:202 #, c-format msgid "No survey data in 3d file “%s”" msgstr "Nel file 3D “%s” non ci sono dati di topografia" #. TRANSLATORS: Used in aven above the compass indicator at the lower #. right of the display, with a bearing below "Facing". This indicates the #. direction the viewer is "facing" in. #. #. Try to keep this translation short - ideally at most 10 characters - #. as otherwise the compass and clino will be moved further apart to #. make room. */ #: ../src/gfxcore.cc:796 #: ../src/gfxcore.cc:2120 #: n:203 msgid "Facing" msgstr "Direzione" #. TRANSLATORS: for the title of the About box #: ../src/aboutdlg.cc:60 #: n:205 #, c-format msgid "About %s" msgstr "Informazioni su %s" #. TRANSLATORS: "Terrain file" being a digital model of the terrain (e.g. a #. grid of height values). #: ../src/mainfrm.cc:1468 #: n:451 msgid "Select a terrain file to view" msgstr "Seleziona un modello digitale del suolo da visualizzare" #: ../src/mainfrm.cc:1498 #: n:496 msgid "Select a geodata file to overlay" msgstr "" #: ../src/mainfrm.cc:1462 #: n:452 msgid "Terrain files" msgstr "File di modelli digitali del suolo" #: ../src/mainfrm.cc:1494 #: n:495 msgid "Geodata files" msgstr "" #. TRANSLATORS: Aven shows a circle of terrain covering the area #. of the survey plus a bit, but the terrain data file didn't #. contain any data inside that circle. #: ../src/gfxcore.cc:3175 #: n:161 msgid "No terrain data near area of survey" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. File->Open dialog: #: ../src/mainfrm.cc:1439 #: n:206 msgid "Select a survey file to view" msgstr "Seleziona un file di rilievo da vedere" #. TRANSLATORS: Survex is the name of the software, and "3d" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:64 #: ../src/mainfrm.cc:1400 #: ../src/mainfrm.cc:1603 #: n:207 msgid "Survex 3d files" msgstr "File Survex 3d" #: ../src/mainfrm.cc:1431 #: ../src/mainfrm.cc:1463 #: ../src/mainfrm.cc:1495 #: ../src/mainfrm.cc:2037 #: ../src/printing.cc:644 #: n:208 msgid "All files" msgstr "Tutti i file" #. TRANSLATORS: Here "survey" is a "cave map" rather than #. list of questions - it should be translated to the #. terminology that cavers using the language would use. #: ../src/mainfrm.cc:1397 #: n:229 msgid "All survey files" msgstr "Tutti i file di rilievo" #. TRANSLATORS: Survex is the name of the software, and "svx" refers to a #. file extension, so neither should be translated. #: ../src/mainfrm.cc:1403 #: n:329 msgid "Survex svx files" msgstr "File Survex svx" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1411 #: n:330 msgid "Compass MAK files" msgstr "File Compass MAK" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1415 #: n:490 msgid "Compass DAT files" msgstr "File Compass DAT" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1419 #: n:491 msgid "Compass CLP files" msgstr "File Compass CLP" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1423 #: n:504 msgid "Walls project files" msgstr "" #. TRANSLATORS: "Walls" is David McKenzie's cave #. surveying package, so should not be translated #: ../src/mainfrm.cc:1427 #: n:505 msgid "Walls survey data files" msgstr "" #: ../src/export.cc:67 #: n:101 msgid "CSV files" msgstr "File CSV" #: ../src/export.cc:70 #: n:411 msgid "DXF files" msgstr "File DXF" #: ../src/export.cc:73 #: n:412 msgid "EPS files" msgstr "File EPS" #: ../src/export.cc:76 #: n:413 msgid "GPX files" msgstr "File GPX" #. TRANSLATORS: Here "plotter" refers to a machine which draws a printout #. on a (usually large) sheet of paper using a pen mounted in a motorised #. mechanism. #: ../src/export.cc:82 #: n:414 msgid "HPGL for plotters" msgstr "HPGL per plotter" #: ../src/export.cc:88 #: n:444 msgid "KML files" msgstr "File KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated: #. https://www.fountainware.com/compass/ #: ../src/export.cc:94 #: n:415 msgid "Compass PLT for use with Carto" msgstr "Compass PLT per Carto" #. TRANSLATORS: Survex is the name of the software, and "pos" refers to a #. file extension, so neither should be translated. #: ../src/export.cc:99 #: n:166 msgid "Survex pos files" msgstr "File Survex pos" #: ../src/export.cc:102 #: n:417 msgid "SVG files" msgstr "File SVG" #: ../src/export.cc:85 #: n:445 msgid "JSON files" msgstr "File JSON" #: ../src/export.cc:105 #: ../src/printing.cc:376 #: n:523 msgid "Shapefiles (lines)" msgstr "" #: ../src/export.cc:108 #: ../src/printing.cc:377 #: n:524 msgid "Shapefiles (points)" msgstr "" #. TRANSLATORS: Log files from running cavern (extension .log) #: ../src/cavernlog.cc:652 #: n:447 msgid "Log files" msgstr "File di log" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. This string is used in the about box (summarising the purpose of aven). #: ../src/aboutdlg.cc:88 #: n:209 msgid "Survey visualisation tool" msgstr "Strumento di visualizzazione rilievi" #. TRANSLATORS: Summary paragraph for the GPLv2 - there are translations for #. some languages here: #. https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html #: ../src/aboutdlg.cc:102 #: n:219 msgid "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version." msgstr "Questo programma è software libero; è lecito redistribuirlo o modificarlo secondo i termini della Licenza Pubblica Generica GNU come è pubblicata dalla Free Software Foundation; o la versione 2 della licenza o (a propria scelta) una versione successiva." #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:264 #: n:218 msgid "FILE1 FILE2 [THRESHOLD]" msgstr "FILE1 FILE2 [LIMITE]" #. TRANSLATORS: Part of diffpos --help #: ../src/diffpos.c:266 #: n:255 #, c-format msgid "FILE1 and FILE2 can be .pos or .3d files\nTHRESHOLD is the max. ignorable change along any axis in metres (default %s)" msgstr "FILE1 e FILE2 possono essere file .pos o .3d\nLIMITE è il massimo cambiamento ignorabile lungo gli assi in metri (predefinito %s)" #. TRANSLATORS: Part of extend --help #: ../src/extend.c:559 #: n:267 msgid "INPUT_FILE [OUTPUT_3D_FILE]" msgstr "" #. TRANSLATORS: Part of sorterr --help #: ../src/sorterr.c:124 #: n:268 msgid "ERR_FILE [HOW_MANY]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of aven --help #: ../src/aven.cc:170 #: ../src/aven.cc:215 #: n:269 msgid "[SURVEY_FILE]" msgstr "" #. TRANSLATORS: Here "survey" is a "cave map" rather than list of questions #. - it should be translated to the terminology that cavers using the #. language would use. #. #. Part of cavern --help #: ../src/cavern.c:227 #: n:507 msgid "[SURVEY_DATA_FILE]" msgstr "" #. TRANSLATORS: Used in the "colour key" for "colour by date" if there #. are surveys without date information. Try to keep this fairly short. #: ../src/gfxcore.cc:1164 #: n:221 msgid "Undated" msgstr "Senza data" #. TRANSLATORS: Used in the "colour key" for "colour by error" for surveys #. which aren’t part of a loop and so have no error information. Try to keep #. this fairly short. #: ../src/gfxcore.cc:1189 #: n:290 msgid "Not in loop" msgstr "" #. TRANSLATORS: error from: #. #. *data normal newline from to tape compass clino #: ../src/commands.c:1778 #: n:222 msgid "NEWLINE can’t be the first reading" msgstr "NEWLINE non puó essere la prima lettura" #. TRANSLATORS: error from: #. #. *data normal from to tape compass clino newline #: ../src/commands.c:1819 #: n:223 msgid "NEWLINE can’t be the last reading" msgstr "NEWLINE non puó essere l’ultima lettura" #. TRANSLATORS: Error given by something like: #. #. *data normal station tape compass clino #. #. ("station" signifies interleaved data). #: ../src/commands.c:1842 #: n:224 msgid "Interleaved readings, but no NEWLINE" msgstr "Letture su piú linee, ma nessuna NEWLINE" #. TRANSLATORS: caused by e.g. #. #. *data diving station newline depth tape compass #. #. ("depth" needs to occur before "newline"). #: ../src/commands.c:1718 #: n:225 #, c-format msgid "Reading “%s” must occur before NEWLINE" msgstr "La lettura “%s” deve precedere NEWLINE" #. TRANSLATORS: e.g. #. #. *data normal from to tape newline compass clino #: ../src/commands.c:1769 #: n:226 msgid "NEWLINE can only be preceded by STATION, DEPTH, and COUNT" msgstr "NEWLINE puó essere preceduto solamente da STATION, DEPTH e COUNT" #. TRANSLATORS: e.g. #. #. *calibrate tape compass 1 1 #: ../src/commands.c:1987 #: n:227 msgid "Can’t calibrate angular and length quantities together" msgstr "Le quantitá di lunghezza e angolari non possono essere calibrate insieme" #: ../src/commands.c:855 #: ../src/commands.c:867 #: n:397 msgid "Bad *alias command" msgstr "" #. TRANSLATORS: %s will be replaced by the application name ("Aven" #. currently) #: ../src/log.cc:30 #: n:228 #, c-format msgid "%s Error Log" msgstr "" #. TRANSLATORS: The text on the action button in the "Export" settings #. dialog #: ../src/printing.cc:586 #: n:230 msgid "&Export..." msgstr "&Esporta..." #. TRANSLATORS: "Rotation" menu. The accelerators must be different within #. this group. Tickable menu item which toggles auto rotation. #. Please don't translate "Space" - that's the shortcut key to use which #. wxWidgets needs to parse and it should then handle translating. #: ../src/mainfrm.cc:791 #: n:231 msgid "Au&to-Rotate\tSpace" msgstr "&Auto-Rotazione\tSpace" #: ../src/mainfrm.cc:793 #: n:234 msgid "&Reverse Direction" msgstr "&Inverte la direzione" #. TRANSLATORS: View *looking* North #: ../src/gfxcore.cc:4393 #: ../src/mainfrm.cc:796 #: n:240 msgid "View &North" msgstr "Vista verso &Nord" #. TRANSLATORS: View *looking* East #: ../src/gfxcore.cc:4395 #: ../src/mainfrm.cc:797 #: n:241 msgid "View &East" msgstr "Vista verso &Est" #. TRANSLATORS: View *looking* South #: ../src/gfxcore.cc:4397 #: ../src/mainfrm.cc:798 #: n:242 msgid "View &South" msgstr "Vista verso &Sud" #. TRANSLATORS: View *looking* West #: ../src/gfxcore.cc:4399 #: ../src/mainfrm.cc:799 #: n:243 msgid "View &West" msgstr "Vista verso &Ovest" #: ../src/gfxcore.cc:4419 #: ../src/mainfrm.cc:801 #: n:248 msgid "&Plan View" msgstr "&Pianta" #: ../src/gfxcore.cc:4420 #: ../src/mainfrm.cc:802 #: n:249 msgid "Ele&vation" msgstr "Pro&filo" #: ../src/mainfrm.cc:804 #: n:254 msgid "Restore De&fault View" msgstr "Ripristina la &vista predefinita" #. TRANSLATORS: Used as a label for the surrounding box for the "Bearing" #. and "Tilt angle" fields, and the "Plan view" and "Elevation" buttons in #. the "what to print/export" dialog. #: ../src/printing.cc:364 #: n:283 msgid "View" msgstr "Vista" #. TRANSLATORS: Used as a label for the surrounding box for the "survey #. legs" "stations" "names" etc checkboxes in the "what to print" dialog. #. "Elements" isn’t a good name for this but nothing better has yet come to #. mind! #: ../src/printing.cc:369 #: n:256 msgid "Elements" msgstr "Elementi" #: ../src/printing.cc:374 #: n:410 msgid "Export format" msgstr "Formato d'esportazione" #: ../src/printing.cc:439 #: ../src/printing.cc:847 #: n:257 #, c-format msgid "%d pages (%dx%d)" msgstr "%d pagine (%dx%d)" #. TRANSLATORS: used in the scale drop down selector in the print #. dialog the implicit meaning is "choose a suitable scale to fit #. the plot on a single page", but we need something shorter #: ../src/printing.cc:411 #: n:258 msgid "One page" msgstr "Una pagina" #: ../src/mainfrm.cc:156 #: ../src/printing.cc:446 #: n:259 msgid "Bearing" msgstr "Azimut" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:136 #: n:460 msgid "bearing (90, 90d, 100g all mean 90°)" msgstr "" #: ../src/pos.cc:90 #: n:100 msgid "Station Name" msgstr "Nome di stazione" #: ../src/printing.cc:496 #: n:260 msgid "Station Names" msgstr "Nome di stazione" #: ../src/survexport.cc:147 #: n:475 msgid "station labels" msgstr "etichette di stazione" #: ../src/printing.cc:492 #: n:261 msgid "Crosses" msgstr "Croci" #: ../src/survexport.cc:146 #: n:474 msgid "station markers" msgstr "simboli di stazione" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:478 #: n:262 msgid "Underground Survey Legs" msgstr "Battute del rilievo sotterraneo" #: ../src/survexport.cc:143 #: n:476 msgid "underground survey legs" msgstr "battute del rilievo sotterraneo" #: ../src/printing.cc:512 #: n:393 msgid "Cross-sections" msgstr "Sezioni trasversali" #: ../src/survexport.cc:151 #: n:469 msgid "cross-sections" msgstr "sezioni trasversali" #: ../src/printing.cc:517 #: n:394 msgid "Walls" msgstr "Pareti" #: ../src/survexport.cc:152 #: n:470 msgid "walls" msgstr "pareti" #. TRANSLATORS: Label for checkbox which controls whether there's a #. layer in the exported file (for formats such as DXF and SVG) #. containing polygons for the inside of cave passages). #: ../src/printing.cc:524 #: n:395 msgid "Passages" msgstr "Passaggi" #: ../src/survexport.cc:153 #: n:471 msgid "passages" msgstr "passaggi" #: ../src/printing.cc:528 #: n:421 msgid "Origin in centre" msgstr "" #: ../src/survexport.cc:154 #: n:472 msgid "origin in centre" msgstr "" #: ../src/printing.cc:532 #: n:422 msgid "Full coordinates" msgstr "" #: ../src/survexport.cc:155 #: n:473 msgid "full coordinates" msgstr "" #: ../src/printing.cc:536 #: n:477 msgid "Clamp to ground" msgstr "Fisso a terra" #: ../src/survexport.cc:156 #: n:478 msgid "clamp to ground" msgstr "fisso a terra" #. TRANSLATORS: Used in the print dialog: #: ../src/printing.cc:456 #: n:263 msgid "Tilt angle" msgstr "Angolo di inclinazione" #. TRANSLATORS: These example input values should not be translated. #: ../src/survexport.cc:138 #: n:461 msgid "tilt (45, 45d, 50g, 100% all mean 45°)" msgstr "" #. TRANSLATORS: used in the print dialog - controls drawing lines #. around each page #: ../src/printing.cc:544 #: n:264 msgid "Page Borders" msgstr "Bordi pagina" #. TRANSLATORS: As in the legend on a map. Used in the print dialog - #. controls drawing the box at the lower left with survey name, view #. angles, etc #: ../src/printing.cc:555 #: n:265 msgid "Legend" msgstr "Didascalia" #. TRANSLATORS: will be used in the print dialog - check this to print #. blank pages (otherwise they’ll be skipped to save paper) #: ../src/printing.cc:550 #: n:266 msgid "Blank Pages" msgstr "Pagine bianche" #. TRANSLATORS: Items in the "View" menu: #: ../src/mainfrm.cc:821 #: n:270 msgid "Station &Names\tCtrl+N" msgstr "&Nome di stazione\tCtrl+N" #. TRANSLATORS: Toggles drawing of 3D passages #: ../src/mainfrm.cc:823 #: n:346 msgid "Passage &Tubes\tCtrl+T" msgstr "Passaggi come &Tubi\tCtrl+T" #. TRANSLATORS: Toggles drawing the surface of the Earth #: ../src/mainfrm.cc:825 #: n:449 #, fuzzy msgid "Terr&ain" msgstr "T&errain" #: ../src/mainfrm.cc:826 #: n:271 msgid "&Crosses\tCtrl+X" msgstr "&Croci\tCtrl+X" #: ../src/mainfrm.cc:827 #: n:297 msgid "&Grid\tCtrl+G" msgstr "&Griglia\tCtrl+G" #: ../src/mainfrm.cc:828 #: n:318 msgid "&Bounding Box\tCtrl+B" msgstr "B&ordo riquadro\tCtrl+B" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:832 #: n:272 msgid "&Underground Survey Legs\tCtrl+L" msgstr "&Battute del rilievo sotterraneo\tCtrl+L" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:835 #: n:291 msgid "&Surface Survey Legs\tCtrl+F" msgstr "Battute topografia di Super&ficie\tCtrl+F" #: ../src/survexport.cc:144 #: n:464 msgid "surface survey legs" msgstr "battute topografia di superficie" #: ../src/mainfrm.cc:860 #: n:273 msgid "&Overlapping Names" msgstr "Nomi &Sovrapposti" #: ../src/mainfrm.cc:873 #: n:450 #, fuzzy msgid "Co&lour by" msgstr "Color&i secondo" #: ../src/mainfrm.cc:876 #: n:294 msgid "Highlight &Entrances" msgstr "Marca gli Ing&ressi" #: ../src/mainfrm.cc:877 #: n:295 msgid "Highlight &Fixed Points" msgstr "Marca i &punti fissi" #: ../src/mainfrm.cc:878 #: n:296 msgid "Highlight E&xported Points" msgstr "Marca i p&unti esportati" #: ../src/printing.cc:500 #: n:418 msgid "Entrances" msgstr "Ingressi" #: ../src/survexport.cc:148 #: n:466 msgid "entrances" msgstr "ingressi" #: ../src/printing.cc:504 #: n:419 msgid "Fixed Points" msgstr "Punti fissi" #: ../src/survexport.cc:149 #: n:467 msgid "fixed points" msgstr "punti fissi" #: ../src/printing.cc:508 #: n:420 msgid "Exported Stations" msgstr "Punti Esportati" #: ../src/survexport.cc:150 #: n:468 msgid "exported stations" msgstr "punti esportati" #: ../src/mainfrm.cc:887 #: n:237 msgid "&Perspective" msgstr "Prospetti&va" #: ../src/mainfrm.cc:889 #: n:238 msgid "Textured &Walls" msgstr "Pareti con te&xture" #. TRANSLATORS: Toggles OpenGL "Depth Fogging" - feel free to translate #. using that term instead if it gives a better translation which most #. users will understand. #: ../src/mainfrm.cc:893 #: n:239 msgid "Fade Distant Ob&jects" msgstr "Sbiadisce g&li oggetti distanti" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/mainfrm.cc:896 #: n:298 msgid "Smoot&hed Survey Legs" msgstr "Battute topografiche &ammorbidite" #: ../src/mainfrm.cc:902 #: ../src/mainfrm.cc:909 #: n:356 msgid "Full Screen &Mode\tF11" msgstr "&Modo schermo pieno\tF11" #: ../src/gfxcore.cc:4463 #: ../src/mainfrm.cc:863 #: n:292 msgid "Colour by &Depth" msgstr "Colori secondo &profonditá" #: ../src/gfxcore.cc:4464 #: ../src/mainfrm.cc:864 #: n:293 #, fuzzy msgid "Colour by D&ate" msgstr "Colori secondo &Data" #: ../src/gfxcore.cc:4465 #: ../src/mainfrm.cc:865 #: n:289 #, fuzzy msgid "Colour by &Error" msgstr "Colori secondo &Errore" #: ../src/gfxcore.cc:4466 #: ../src/mainfrm.cc:866 #: n:480 msgid "Colour by &Horizontal Error" msgstr "Colori secondo Errore &Orizzontale" #: ../src/gfxcore.cc:4467 #: ../src/mainfrm.cc:867 #: n:481 msgid "Colour by &Vertical Error" msgstr "Colori secondo Errore &Verticale" #: ../src/gfxcore.cc:4468 #: ../src/mainfrm.cc:868 #: n:85 #, fuzzy msgid "Colour by &Gradient" msgstr "Colori secondo &Scivolo" #: ../src/gfxcore.cc:4469 #: ../src/mainfrm.cc:869 #: n:82 #, fuzzy msgid "Colour by &Length" msgstr "Colori secondo &Lunghezza" #: ../src/gfxcore.cc:4470 #: ../src/mainfrm.cc:870 #: n:448 #, fuzzy msgid "Colour by &Survey" msgstr "Colori secondo &Topografia" #: ../src/gfxcore.cc:4471 #: ../src/mainfrm.cc:871 #: n:482 msgid "Colour by St&yle" msgstr "" #: ../src/mainfrm.cc:937 #: n:274 msgid "&Compass" msgstr "&Bussola" #: ../src/mainfrm.cc:938 #: n:275 msgid "C&linometer" msgstr "&Clinometro" #. TRANSLATORS: The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/mainfrm.cc:941 #: n:276 msgid "Colour &Key" msgstr "" #: ../src/mainfrm.cc:942 #: n:277 msgid "&Scale Bar" msgstr "Barra di controllo della &Scala" #: ../src/mainfrm.cc:918 #: n:280 msgid "&Reverse Sense\tCtrl+R" msgstr "&Inverte il senso\tCtrl+R" #. TRANSLATORS: Please don't translate "Escape" - that's the shortcut key #. to use which wxWidgets needs to parse and it should then handle #. translating. #: ../src/mainfrm.cc:885 #: ../src/mainfrm.cc:927 #: ../src/mainfrm.cc:933 #: n:281 msgid "&Cancel Measuring Line\tEscape" msgstr "&Cancella la linea di misura\tEscape" #: ../src/mainfrm.cc:943 #: n:299 msgid "&Indicators" msgstr "I&ndicatori" #: ../src/z_getopt.c:716 #: n:300 #, c-format msgid "%s: option “%s” is ambiguous\n" msgstr "%s: l’opzione “%s” è ambigua\n" #: ../src/z_getopt.c:766 #: n:302 #, c-format msgid "%s: option “%c%s” doesn’t allow an argument\n" msgstr "%s: l’opzione “%c%s” non permette un argomento\n" #: ../src/z_getopt.c:753 #: n:303 #, c-format msgid "%s: option “--%s” doesn’t allow an argument\n" msgstr "%s: l’opzione “--%s” non permette un argomento\n" #: ../src/z_getopt.c:814 #: n:305 #, c-format msgid "%s: option “%s” requires an argument\n" msgstr "%s: l’opzione “%s” richiede un argomento\n" #: ../src/z_getopt.c:1186 #: n:306 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: l’opzione richiede un argomento -- %c\n" #: ../src/z_getopt.c:855 #: n:307 #, c-format msgid "%s: unrecognized option “--%s”\n" msgstr "%s: opzione non riconosciuta “--%s”\n" #: ../src/z_getopt.c:866 #: n:308 #, c-format msgid "%s: unrecognized option “%c%s”\n" msgstr "%s: opzione non riconosciuta “%c%s”\n" #: ../src/z_getopt.c:927 #: n:310 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: opzione non valida -- %c\n" #: ../src/mainfrm.cc:807 #: n:311 msgid "&New Presentation" msgstr "&Nuova Presentazione" #: ../src/mainfrm.cc:808 #: n:312 msgid "&Open Presentation..." msgstr "&Apri Presentazione..." #: ../src/mainfrm.cc:809 #: n:313 msgid "&Save Presentation" msgstr "&Salva Presentazione" #: ../src/mainfrm.cc:810 #: n:314 msgid "Sa&ve Presentation As..." msgstr "Salva Presentazione &come..." #. TRANSLATORS: "Mark" as in "Mark this position" #: ../src/mainfrm.cc:813 #: n:315 msgid "&Mark" msgstr "Se&gna" #. TRANSLATORS: "Play" as in "Play back a recording" #: ../src/mainfrm.cc:815 #: n:316 msgid "Pla&y" msgstr "&Visualizza" #: ../src/mainfrm.cc:816 #: n:317 msgid "&Export as Movie..." msgstr "&Esporta come Animazione..." #: ../src/mainfrm.cc:2114 #: n:331 msgid "Export Movie" msgstr "Esporta filmato" #: ../src/cavernlog.cc:655 #: ../src/mainfrm.cc:362 #: ../src/mainfrm.cc:1606 #: n:319 msgid "Select an output filename" msgstr "Seleziona un file di uscita" #: ../src/mainfrm.cc:359 #: ../src/mainfrm.cc:2036 #: n:320 msgid "Aven presentations" msgstr "Presentazione Aven" #. TRANSLATORS: title of the save screenshot dialog #: ../src/mainfrm.cc:1535 #: n:321 msgid "Save Screenshot" msgstr "Salva Schermo catturato" #: ../src/mainfrm.cc:2031 #: ../src/mainfrm.cc:2034 #: n:322 msgid "Select a presentation to open" msgstr "Seleziona una presentazione da aprire" #: ../src/mainfrm.cc:433 #: n:323 #, c-format msgid "Error in format of presentation file “%s”" msgstr "Errore nel formato del file di presentazione “%s”" #. TRANSLATORS: "Compass" as in Larry Fish’s cave #. surveying package, so probably shouldn’t be translated #: ../src/mainfrm.cc:1407 #: n:324 msgid "Compass PLT files" msgstr "File Compass PLT" #. TRANSLATORS: "CMAP" is Bob Thrun’s cave surveying #. package, so don’t translate it. #: ../src/mainfrm.cc:1430 #: n:325 msgid "CMAP XYZ files" msgstr "File CMAP XYZ" #. TRANSLATORS: title of message box #: ../src/mainfrm.cc:1642 #: ../src/mainfrm.cc:2009 #: ../src/mainfrm.cc:2025 #: n:326 msgid "Modified Presentation" msgstr "Presentazione Modificata" #. TRANSLATORS: and the question in that box #: ../src/mainfrm.cc:1640 #: ../src/mainfrm.cc:2008 #: ../src/mainfrm.cc:2024 #: n:327 msgid "The current presentation has been modified. Abandon unsaved changes?" msgstr "La presentazione corrente é stata modificata. Abbandonare i cambiamenti non salvati?" #: ../src/mainfrm.cc:2367 #: ../src/mainfrm.cc:2380 #: n:328 msgid "No matches were found." msgstr "Nessun elemento trovato." #. TRANSLATORS: Menu item in right-click menu in survey tree. #: ../src/aventreectrl.cc:375 #: ../src/aventreectrl.cc:406 #: n:332 msgid "Find" msgstr "Trova" #. TRANSLATORS: Placeholder text in aven's station search control. #: ../src/mainfrm.cc:1033 #: n:333 msgid "Find stations" msgstr "" #. TRANSLATORS: Find station tooltip when stations are found. %d is #. replaced by the number of matching stations and %s%s%s by the #. pattern searched for. #: ../src/mainfrm.cc:2357 #: n:334 #, c-format msgid "%d stations match %s%s%s" msgstr "" #. TRANSLATORS: Tooltip for aven's station search control. #: ../src/mainfrm.cc:1037 #: ../src/mainfrm.cc:2365 #: n:533 msgid "Station name search (substring or wildcard)" msgstr "" #: ../src/mainfrm.cc:1050 #: n:535 msgid "Z exaggeration factor" msgstr "" #: ../src/mainfrm.cc:243 #: ../src/mainfrm.cc:1729 #: ../src/mainfrm.cc:1805 #: ../src/mainfrm.cc:1857 #: ../src/pos.cc:89 #: n:335 msgid "Altitude" msgstr "Quota" #. TRANSLATORS: error if you try to drag multiple files to the aven #. window #: ../src/mainfrm.cc:688 #: n:336 msgid "You may only view one 3d file at a time." msgstr "É possibile visualizzare solamente un file 3D alla volta." #: ../src/mainfrm.cc:944 #: n:337 msgid "&Side Panel" msgstr "&Riquadro Laterale" #. TRANSLATORS: show coordinates (N = North or Northing, E = East or #. Easting) #: ../src/mainfrm.cc:1727 #: ../src/mainfrm.cc:1749 #: ../src/mainfrm.cc:1751 #: ../src/mainfrm.cc:1856 #: n:338 #, c-format msgid "%.2f E, %.2f N" msgstr "%.2f E, %.2f N" #. TRANSLATORS: Used in Aven: #. From : H 12.24m, Brg 234.5° #: ../src/mainfrm.cc:1769 #: ../src/mainfrm.cc:1814 #: ../src/mainfrm.cc:1878 #: n:339 #, c-format msgid "From %s" msgstr "Da %s" #. TRANSLATORS: "H" is short for "Horizontal", "V" for "Vertical" #: ../src/mainfrm.cc:1891 #: n:340 #, c-format msgid "H %.2f%s, V %.2f%s" msgstr "O %.2f%s, V %.2f%s" #. TRANSLATORS: "Dist" is short for "Distance", "Brg" for "Bearing" (as #. in Compass bearing) and "Grd" for "Gradient" (the slope angle #. measured by the clino) #: ../src/mainfrm.cc:1931 #: n:341 #, fuzzy, c-format msgid "%s: %s, Dist %.2f%s, Brg %03.1f%s, Grd %s" msgstr "%s: %s, Dist %.2f%s, Azm. %03.1f%s, Scivolo %s" #. TRANSLATORS: tickable menu item in View menu. #. #. "Metric" here means metres, km, etc (rather than feet, miles, etc) #: ../src/gfxcore.cc:4451 #: ../src/gfxcore.cc:4478 #: ../src/mainfrm.cc:946 #: n:342 msgid "&Metric" msgstr "&Metrico" #. TRANSLATORS: tickable menu item in View menu. #. #. Degrees are the angular measurement where there are 360 in a full #. circle. #: ../src/gfxcore.cc:4407 #: ../src/gfxcore.cc:4428 #: ../src/gfxcore.cc:4480 #: ../src/mainfrm.cc:947 #: n:343 msgid "&Degrees" msgstr "&Gradi" #. TRANSLATORS: tickable menu item in View menu. #. #. Show the tilt of the survey as a percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/gfxcore.cc:4433 #: ../src/mainfrm.cc:948 #: n:430 msgid "&Percent" msgstr "&Percento" #. TRANSLATORS: abbreviation for "kilometres" (unit of length), #. used e.g. "5km". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1355 #: ../src/printing.cc:1285 #: n:423 msgid "km" msgstr "km" #. TRANSLATORS: abbreviation for "metres" (unit of length), used #. e.g. "10m". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:491 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1362 #: ../src/mainfrm.cc:1718 #: ../src/mainfrm.cc:1780 #: ../src/mainfrm.cc:1800 #: ../src/mainfrm.cc:1849 #: ../src/mainfrm.cc:1882 #: ../src/printing.cc:1287 #: n:424 msgid "m" msgstr "m" #. TRANSLATORS: abbreviation for "centimetres" (unit of length), #. used e.g. "50cm". #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1370 #: ../src/printing.cc:1290 #: n:425 msgid "cm" msgstr "cm" #. TRANSLATORS: abbreviation for "miles" (unit of length, #. plural), used e.g. "2 miles". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1383 #: n:426 msgid " miles" msgstr " miglia" #. TRANSLATORS: abbreviation for "mile" (unit of length, #. singular), used e.g. "1 mile". #. #. If there should be a space between the number and this, #. include one in the translation. #: ../src/gfxcore.cc:1390 #: n:427 msgid " mile" msgstr " miglio" #. TRANSLATORS: abbreviation for "feet" (unit of length), used e.g. #. as: 10′ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/commands.c:492 #: ../src/gfxcore.cc:1124 #: ../src/gfxcore.cc:1216 #: ../src/gfxcore.cc:1398 #: ../src/mainfrm.cc:1723 #: ../src/mainfrm.cc:1783 #: ../src/mainfrm.cc:1803 #: ../src/mainfrm.cc:1854 #: ../src/mainfrm.cc:1887 #: n:428 msgid "′" msgstr "′" #. TRANSLATORS: abbreviation for "inches" (unit of length), used #. e.g. as: 6″ #. #. If there should be a space between the number and this, include #. one in the translation. #: ../src/gfxcore.cc:1406 #: n:429 msgid "″" msgstr "″" #. TRANSLATORS: Menu item which turns off the "north arrow" in aven. #: ../src/gfxcore.cc:4402 #: n:387 msgid "&Hide Compass" msgstr "&Nascondi Bussola" #. TRANSLATORS: Menu item which turns off the tilt indicator in aven. #: ../src/gfxcore.cc:4423 #: n:384 msgid "&Hide Clino" msgstr "&Nascondi Inclinazione" #. TRANSLATORS: Menu item which turns off the scale bar in aven. #: ../src/gfxcore.cc:4446 #: n:385 msgid "&Hide scale bar" msgstr "&Nascondi Scala" #. TRANSLATORS: Menu item which turns off the colour key. #. The "Colour Key" is the thing in aven showing which colour #. corresponds to which depth, date, survey closure error, etc. #: ../src/gfxcore.cc:4476 #: n:386 msgid "&Hide colour key" msgstr "" #. TRANSLATORS: degree symbol - probably should be translated to #. itself. #: ../src/cavern.c:486 #: ../src/commands.c:494 #: ../src/commands.c:495 #: ../src/commands.c:917 #: ../src/gfxcore.cc:778 #: ../src/gfxcore.cc:868 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1772 #: ../src/mainfrm.cc:1895 #: ../src/mainfrm.cc:1918 #: ../src/printing.cc:87 #: n:344 msgid "°" msgstr "°" #. TRANSLATORS: symbol for grad (400 grad = 360 degrees = full #. circle). #: ../src/commands.c:496 #: ../src/gfxcore.cc:783 #: ../src/gfxcore.cc:873 #: ../src/gfxcore.cc:1197 #: ../src/mainfrm.cc:1775 #: ../src/mainfrm.cc:1898 #: ../src/mainfrm.cc:1921 #: n:345 msgid "ᵍ" msgstr "ᵍ" #. TRANSLATORS: symbol for percentage gradient (100% = 45 #. degrees = 50 grad). #: ../src/commands.c:497 #: ../src/gfxcore.cc:859 #: ../src/gfxcore.cc:877 #: ../src/mainfrm.cc:1916 #: n:96 msgid "%" msgstr "%" #. TRANSLATORS: infinity symbol - used for the percentage gradient on #. vertical angles. #: ../src/gfxcore.cc:853 #: ../src/mainfrm.cc:1914 #: n:431 msgid "∞" msgstr "∞" #. TRANSLATORS: "H" is short for "Horizontal", "Brg" for "Bearing" (as #. in Compass bearing) #: ../src/mainfrm.cc:1787 #: n:374 #, c-format msgid "%s: H %.2f%s, Brg %03.1f%s" msgstr "%s: O %.2f%s, Azm. %03.1f%s" #. TRANSLATORS: "V" is short for "Vertical" #: ../src/mainfrm.cc:1820 #: n:375 #, c-format msgid "%s: V %.2f%s" msgstr "%s: V %.2f%s" #. TRANSLATORS: labels for tabbed side panel this is for the tab with the #. tree hierarchy of survey station names #: ../src/mainfrm.cc:1105 #: n:376 msgid "Surveys" msgstr "Rilievi" #: ../src/mainfrm.cc:1106 #: n:377 msgid "Presentation" msgstr "Presentazione" #. TRANSLATORS: In aven's survey tree, right-clicking on the root #. gives a pop-up menu and this is an option (but only enabled if #. the view is restricted to a subsurvey). It reloads the current #. survey file with the who survey visible. #: ../src/aventreectrl.cc:367 #: n:245 msgid "Show all" msgstr "Visualizza tutto" #. TRANSLATORS: In aven's survey tree, right-clicking on a survey #. name gives a pop-up menu and this is an option. It reloads the #. current survey file with the view restricted to the survey #. clicked upon. #: ../src/aventreectrl.cc:385 #: n:246 msgid "Hide others" msgstr "Nascondi altri" #: ../src/aventreectrl.cc:389 #: n:388 msgid "Hide si&blings" msgstr "" #: ../src/mainfrm.cc:241 #: ../src/pos.cc:87 #: n:378 msgid "Easting" msgstr "Est" #: ../src/mainfrm.cc:242 #: ../src/pos.cc:88 #: n:379 msgid "Northing" msgstr "Nord" #. TRANSLATORS: Aven menu items. An “&” goes before the letter of any #. accelerator key. #. #. The string "\t" separates the menu text and any accelerator key. #. #. "File" menu. The accelerators must be different within this group. #. c.f. 201, 380, 381. #: ../src/mainfrm.cc:753 #: n:220 msgid "&Open...\tCtrl+O" msgstr "&Apri...\tCtrl+O" #. TRANSLATORS: Open a "Terrain file" - i.e. a digital model of the #. terrain. #: ../src/mainfrm.cc:756 #: n:453 msgid "Open &Terrain..." msgstr "Apri Modello Digitale &Terrestre..." #: ../src/mainfrm.cc:757 #: n:494 msgid "Overlay &Geodata..." msgstr "" #: ../src/mainfrm.cc:758 #: n:144 msgid "Show &Log" msgstr "Mostra &Log" #: ../src/mainfrm.cc:761 #: n:380 msgid "&Print...\tCtrl+P" msgstr "Stam&pa...\tCtrl+P" #: ../src/mainfrm.cc:762 #: n:381 msgid "P&age Setup..." msgstr "&Imposta pagina..." #. TRANSLATORS: In the "File" menu #: ../src/mainfrm.cc:765 #: n:201 msgid "&Screenshot..." msgstr "&Cattura schermo..." #. TRANSLATORS: In the "File" menu - c.f. n:191 #: ../src/mainfrm.cc:768 #: n:247 msgid "E&xtended Elevation..." msgstr "Profilo Lo&ngitudinale..." #: ../src/mainfrm.cc:766 #: n:382 msgid "&Export as..." msgstr "E&sporta come..." #. TRANSLATORS: Title of file dialog to choose name and type of exported #. file. #: ../src/printing.cc:650 #: n:401 msgid "Export as:" msgstr "Esporta come:" #. TRANSLATORS: Title of the export #. dialog #: ../src/printing.cc:316 #: n:383 msgid "Export" msgstr "Esporta" #. TRANSLATORS: for about box: #: ../src/aboutdlg.cc:139 #: n:390 msgid "System Information:" msgstr "Informazioni sul Sistema:" #. TRANSLATORS: Title of the print preview dialog #: ../src/printing.cc:697 #: n:398 msgid "Print Preview" msgstr "Anteprima di stampa" #. TRANSLATORS: Title of the print #. dialog #: ../src/printing.cc:313 #: n:399 msgid "Print" msgstr "Stampa" #: ../src/printing.cc:581 #: n:400 msgid "&Print..." msgstr "&Stampa..." #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: ../src/printing.cc:484 #: n:403 msgid "Sur&face Survey Legs" msgstr "Battute topografia di Super&ficie" #. TRANSLATORS: Title of dialog to edit a waypoint in a presentation. #: ../src/mainfrm.cc:129 #: n:404 msgid "Edit Waypoint" msgstr "Modifica Waypoint" #. TRANSLATORS: Note after "Scale" field in dialog to edit a waypoint #. in a presentation. #: ../src/mainfrm.cc:168 #: n:278 msgid " (unused in perspective view)" msgstr " (inutilizzato nella vista in prospettiva)" #. TRANSLATORS: Field label in dialog to edit a waypoint in a #. presentation. #: ../src/mainfrm.cc:175 #: n:279 msgid "Time: " msgstr "Tempo: " #. TRANSLATORS: units+info after time field in dialog to edit a #. waypoint in a presentation. #: ../src/mainfrm.cc:179 #: n:282 msgid " secs (0 = auto; *6 = 6 times auto)" msgstr "" #. TRANSLATORS: %s will be replaced with "Aven" currently (and #. perhaps by "Survex" or other things in future). #: ../src/aven.cc:305 #: n:405 #, c-format msgid "This version of %s requires OpenGL to work, but it isn’t available." msgstr "Questa versione di %s richiede le librerie OpenGL, ma non sono disponibili." #: ../src/readval.c:357 #: n:392 msgid "Separator in survey name" msgstr "" #. TRANSLATORS: Used in place of the station name when talking about an #. anonymous station. #: ../src/labelinfo.h:102 #: n:56 msgid "anonymous station" msgstr "" #: ../src/readval.c:115 #: ../src/readval.c:131 #: ../src/readval.c:149 #: ../src/readval.c:413 #: n:47 msgid "Can't have a leg between two anonymous stations" msgstr "" #: ../src/mainfrm.cc:850 #: ../src/printing.cc:488 #: n:406 msgid "Spla&y Legs" msgstr "" #: ../src/survexport.cc:145 #: n:465 msgid "splay legs" msgstr "" #: ../src/mainfrm.cc:857 #: n:251 msgid "&Duplicate Legs" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are not shown. #: ../src/aventreectrl.cc:387 #: ../src/mainfrm.cc:840 #: ../src/mainfrm.cc:853 #: n:407 msgid "&Hide" msgstr "&Nascondi" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with less bright colours. #: ../src/mainfrm.cc:846 #: ../src/mainfrm.cc:855 #: n:408 msgid "&Fade" msgstr "&Sbiadire" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, aven will show such legs with dashed lines. #: ../src/mainfrm.cc:843 #: ../src/mainfrm.cc:854 #: n:250 msgid "&Dashed" msgstr "" #. TRANSLATORS: Item in the "Splay Legs" and "Duplicate Legs" submenus - if #. this is selected, such legs are shown the same as other legs. #: ../src/aventreectrl.cc:388 #: ../src/mainfrm.cc:849 #: ../src/mainfrm.cc:856 #: n:409 msgid "&Show" msgstr "&Mostra" #: ../src/extend.c:594 #: n:105 msgid "Reading in data - please wait…" msgstr "Sto leggendo i dati - attendere per favore…" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this station, but we didn’t find it in #. the 3d file #: ../src/extend.c:284 #: ../src/extend.c:303 #: ../src/extend.c:349 #: ../src/extend.c:392 #: ../src/extend.c:435 #: n:510 #, c-format msgid "Failed to find station %s" msgstr "La stazione %s non é stata trovata" #. TRANSLATORS: for extend: the user specified breaking a loop or #. changing extend direction at this leg, but we didn’t find it in the #. 3d file #: ../src/extend.c:329 #: ../src/extend.c:372 #: ../src/extend.c:415 #: ../src/extend.c:459 #: n:511 #, c-format msgid "Failed to find leg %s → %s" msgstr "Tiro %s → %s non trovato" #. TRANSLATORS: for extend: "extend" is starting to produce an extended elevation from station %s #: ../src/extend.c:275 #: n:512 #, c-format msgid "Starting from station %s" msgstr "Inizio dalla stazione %s" #. TRANSLATORS: for extend: #: ../src/extend.c:296 #: n:513 #, c-format msgid "Extending to the left from station %s" msgstr "Sviluppo verso sinistra a partire dalla stazione %s" #. TRANSLATORS: for extend: #: ../src/extend.c:342 #: n:514 #, c-format msgid "Extending to the right from station %s" msgstr "Sviluppo verso destra a partire dalla stazione %s" #. TRANSLATORS: for extend: #: ../src/extend.c:316 #: n:515 #, c-format msgid "Extending to the left from leg %s → %s" msgstr "Sviluppo verso sinistra a partire dal tiro %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:362 #: n:516 #, c-format msgid "Extending to the right from leg %s → %s" msgstr "Sviluppo verso destra a partire dal tiro %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:428 #: n:517 #, c-format msgid "Breaking survey loop at station %s" msgstr "Topografia interrotta alla stazione %s" #. TRANSLATORS: for extend: #: ../src/extend.c:449 #: n:518 #, c-format msgid "Breaking survey loop at leg %s → %s" msgstr "Topografia interrotta al tiro %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:385 #: n:519 #, c-format msgid "Swapping extend direction from station %s" msgstr "Cambia lo sviluppo del disegno a partire dalla stazione %s" #. TRANSLATORS: for extend: #: ../src/extend.c:405 #: n:520 #, c-format msgid "Swapping extend direction from leg %s → %s" msgstr "Cambia lo sviluppo del disegno a partire dal tiro %s → %s" #. TRANSLATORS: for extend: #: ../src/extend.c:688 #: n:521 #, c-format msgid "Applying specfile: “%s”" msgstr "Applicazione del file di specifiche: “%s”" #. TRANSLATORS: for extend: #. Used to tell the user that a file is being written - %s is the filename #: ../src/extend.c:712 #: n:522 #, c-format msgid "Writing %s…" msgstr "Scrittura %s…" #. TRANSLATORS: --help output for sorterr --horizontal option #: ../src/sorterr.c:50 #: n:179 msgid "sort by horizontal error factor" msgstr "ordina secondo il fattore di errore orizzontale" #. TRANSLATORS: --help output for sorterr --vertical option #: ../src/sorterr.c:52 #: n:180 msgid "sort by vertical error factor" msgstr "ordina secondo il fattore di errore verticale" #. TRANSLATORS: --help output for sorterr --percentage option #: ../src/sorterr.c:54 #: n:181 msgid "sort by percentage error" msgstr "ordina secondo l'errore percentuale" #. TRANSLATORS: --help output for sorterr --per-leg option #: ../src/sorterr.c:56 #: n:182 msgid "sort by error per leg" msgstr "ordina secondo l'errore per tiro" #. TRANSLATORS: --help output for sorterr --replace option #: ../src/sorterr.c:58 #: n:183 msgid "replace .err file with re-sorted version" msgstr "sostituisci il file .err con quello riordinato" #: ../src/sorterr.c:78 #: ../src/sorterr.c:95 #: ../src/sorterr.c:167 #: n:112 msgid "Couldn’t parse .err file" msgstr "Non posso analizzare il file .err degli errori" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:158 #: n:500 #, c-format msgid "Moved by (%3.2f,%3.2f,%3.2f): %s" msgstr "Spostato da (%3.2f,%3.2f,%3.2f): %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:195 #: n:501 #, c-format msgid "Added: %s" msgstr "Aggiunto: %s" #. TRANSLATORS: for diffpos: #: ../src/diffpos.c:218 #: n:502 #, c-format msgid "Deleted: %s" msgstr "Rimosso: %s" #. TRANSLATORS: The first of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:787 #: n:29 #, fuzzy msgid "Reentering an existing survey is deprecated" msgstr "Reimmettere un prefisso di livello giá esistente é sconsigliato" #. TRANSLATORS: The second of two warnings given when a survey which has #. already been completed is reentered. This example file crawl.svx: #. #. *begin crawl ; <- second warning here #. 1 2 9.45 234 -01 #. *end crawl #. *begin crawl ; <- first warning here #. 2 3 7.67 223 -03 #. *end crawl #. #. Would lead to: #. #. crawl.svx:4:8: warning: Reentering an existing survey is deprecated #. crawl.svx:1: info: Originally entered here #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:806 #: n:30 msgid "Originally entered here" msgstr "Giá utilizzato qui" #: ../src/commands.c:1123 #: n:22 #, c-format msgid "Corresponding %s was here" msgstr "" #. TRANSLATORS: Use of the ROOT character (which is "\" by default) is #. deprecated, so this error would be generated by: #. #. *equate \foo.7 1 #. #. If you're unsure what "deprecated" means, see: #. https://en.wikipedia.org/wiki/Deprecation #: ../src/commands.c:693 #: ../src/readval.c:81 #: ../src/readval.c:85 #: n:25 msgid "ROOT is deprecated" msgstr "ROOT é sconsigliato" #. TRANSLATORS: --help output for dump3d --rewind option #: ../src/dump3d.c:50 #: n:204 msgid "rewind file and read it a second time" msgstr "riavvolgi il file e rileggilo una seconda volta" #: ../src/dump3d.c:51 #: n:396 msgid "show survey date information (if present)" msgstr "" #: ../src/dump3d.c:52 #: n:509 msgid "equivalent to --show-dates=-" msgstr "" #: ../src/dump3d.c:53 #: n:486 msgid "convert MOVE and LINE into LEG" msgstr "" #: ../src/gpx.cc:86 #: ../src/kml.cc:85 #: n:287 #, c-format msgid "Failed to initialise input coordinate system “%s”" msgstr "Inizializzazione del sistema di coordinate d'ingresso “%s” fallito" #: ../src/gfxcore.cc:3056 #: n:288 #, c-format msgid "Failed to initialise output coordinate system “%s”" msgstr "Inizializzazione del sistema di coordinate di uscita “%s” fallito" #. TRANSLATORS: %s is replaced by the name of a geodata #. file, e.g. GPX, KML. #: ../src/gfxcore.cc:4607 #: ../src/gfxcore.cc:4624 #: n:492 #, c-format msgid "File “%s” not georeferenced" msgstr "" #: ../src/survexport.cc:158 #: n:148 #, c-format msgid "generate grid (default %sm)" msgstr "Genera la griglia (predefinita %sm)" #: ../src/survexport.cc:159 #: n:149 #, c-format msgid "station labels text height (default %s)" msgstr "Altezza etichette di stazione (predefinita %s)" #: ../src/survexport.cc:160 #: n:152 #, c-format msgid "station marker size (default %s)" msgstr "Dimensioni simbolo di stazione (predefinito %s)" #: ../src/survexport.cc:161 #: n:487 msgid "produce Survex 3d output" msgstr "produce un file Survex 3d" #: ../src/survexport.cc:162 #: n:102 msgid "produce CSV output" msgstr "produce un file CSV" #: ../src/survexport.cc:163 #: n:156 msgid "produce DXF output" msgstr "produce un file DXF" #: ../src/survexport.cc:164 #: n:454 msgid "produce EPS output" msgstr "produce un file EPS" #: ../src/survexport.cc:165 #: n:455 msgid "produce GPX output" msgstr "produce un file GPX" #: ../src/survexport.cc:166 #: n:456 msgid "produce HPGL output" msgstr "produce un file HPGL" #: ../src/survexport.cc:167 #: n:457 msgid "produce JSON output" msgstr "produce un file JSON" #: ../src/survexport.cc:168 #: n:458 msgid "produce KML output" msgstr "produce un file KML" #. TRANSLATORS: "Compass" and "Carto" are the names of software packages, #. so should not be translated. #: ../src/survexport.cc:171 #: n:159 msgid "produce Compass PLT output for Carto" msgstr "produce un file Compass PLT per Carto" #: ../src/survexport.cc:172 #: n:459 msgid "produce Survex POS output" msgstr "produce un file Survex POS" #: ../src/survexport.cc:173 #: n:525 msgid "produce Shapefile (lines) output" msgstr "" #: ../src/survexport.cc:174 #: n:526 msgid "produce Shapefile (points) output" msgstr "" #: ../src/survexport.cc:175 #: n:160 msgid "produce SVG output" msgstr "produce un file SVG" #: ../src/survexport.cc:411 #: n:252 msgid "Export format not specified and not known from output file extension" msgstr "" #: ../src/survexport.cc:416 #: n:253 msgid "Export format not specified" msgstr "" #: ../src/survexport.cc:157 #: n:155 msgid "include items exported by default" msgstr "" #: ../src/datain.c:2515 #: n:499 #, c-format msgid "Macro “%s” not defined" msgstr "" #: ../src/datain.c:2244 #: ../src/datain.c:2276 #: ../src/datain.c:2296 #: ../src/datain.c:4349 #: n:506 #, c-format msgid "Ignoring “%s”" msgstr "" #. TRANSLATORS: Warning issued about a dubious case in survey data in #. Walls format (.srv). Real world example: #. #. P25 *8 5 15 3.58 #. #. This is treated by Walls as a leg from P25 to *8 but seems likely #. to be intended to be an isolated LRUD reading (one not on a survey #. leg, useful for the start or end of a traverse) but the closing * #. was missed (or perhaps in this particular case, mistyped as an 8 #. by failing to press shift), so Survex issues a warning about it. #: ../src/datain.c:4453 #: n:508 msgid "Parsing as “to” station but may be isolated LRUD with missing closing delimiter" msgstr "" #: ../src/gdalexport.cc:47 #: ../src/gdalexport.cc:53 #: n:527 #, c-format msgid "Failed to initialise GDAL “%s” driver" msgstr "" #: ../src/gdalexport.cc:142 #: n:528 msgid "Failed to create GDAL layer" msgstr "" #: ../src/gdalexport.cc:152 #: n:529 msgid "Failed to create GDAL field" msgstr "" #: ../src/gdalexport.cc:189 #: ../src/gdalexport.cc:207 #: n:530 msgid "Failed to create GDAL feature" msgstr "" #, c-format #~ msgid "Error in format of font file “%s”" #~ msgstr "Errore nel formato del file dei caratteri “%s”" #. TRANSLATORS: Show the terrain as solid rather than transparent. #~ msgid "Solid Su&rface" #~ msgstr "Superficie S&olida" #. TRANSLATORS: number of stations found matching search #, c-format #~ msgid "%d found" #~ msgstr "%d trovate" #: ../src/mainfrm.cc:913 #: n:347 #~ msgid "&Preferences..." #~ msgstr "&Preferenze..." #: n:348 #~ msgid "Draw passage walls" #~ msgstr "Disegna le pareti" #: n:349 #~ msgid "Estimate LRUD readings based on heuristics" #~ msgstr "Stima lel letture DSSS con ragionamento euristico" #: n:350 #~ msgid "Mark survey stations with crosses" #~ msgstr "Segna le stazioni con croci" #: n:351 #~ msgid "Highlight stations marked as entrances" #~ msgstr "Evidenzia le stazioni segnate come ingressi" #: n:352 #~ msgid "Highlight stations marked as fixed points" #~ msgstr "Evidenzia le stazioni segnate come punti fissi" #: n:353 #~ msgid "Highlight stations which are exported" #~ msgstr "Evidenzia le stazioni che sono esportate" #: n:354 #~ msgid "Mark survey stations with their names" #~ msgstr "Segna le stazioni con i loro nomi" #: n:355 #~ msgid "Allow names to overlap on the display (faster)" #~ msgstr "Permetti che i nomi si sovrappongano (piú veloce)" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:357 #~ msgid "Display underground survey legs" #~ msgstr "Mostra i tiri del rilievo sotteraneo" #. TRANSLATORS: Here a "survey leg" is a set of measurements between two #. "survey stations". #: n:358 #~ msgid "Display surface survey legs" #~ msgstr "Mostra i tiri del rilievo di superficie" #: n:359 #~ msgid "Colour surface surveys by depth" #~ msgstr "Colora i rilievi superficiali per la profonditá" #: n:360 #~ msgid "Draw surface legs with dashed lines" #~ msgstr "Disegna i tiri in superficie con linee tratteggiate" #: n:361 #~ msgid "Draw a grid" #~ msgstr "Disegna una griglia" #: n:362 #~ msgid "metric units" #~ msgstr "metri" #. TRANSLATORS: Miles, Feet, Inches, etc. What they call "English units" in #. the USA (rather confusingly now that England has largely gone metric!) #: n:363 #~ msgid "imperial units" #~ msgstr "unitá inglesi" #. TRANSLATORS: Degrees are the angular measurement where there are 360 in a #. full circle. #: n:364 #~ msgid "degrees (°)" #~ msgstr "gradi sessagesimali (°)" #. TRANSLATORS: Grads are the angular measurement where there are 400 in a #. full circle. #: n:365 #~ msgid "grads" #~ msgstr "gradi decimali" #: n:366 #~ msgid "Display measurements in" #~ msgstr "Mostra le distanze in" #: n:367 #~ msgid "Display angles in" #~ msgstr "Mostra gli angoli in" #. TRANSLATORS: reverses the sense of the mouse controls #: n:368 #~ msgid "Reverse the sense of the controls" #~ msgstr "Inverte il senso dei controlli" #: n:369 #~ msgid "Display scale bar" #~ msgstr "Mostra la scala" #: n:370 #~ msgid "Display depth bar" #~ msgstr "Mostra barra delle profonditá" #: n:371 #~ msgid "Display compass" #~ msgstr "Mostra bussola" #: n:372 #~ msgid "Display clinometer" #~ msgstr "Mostra clinometro" #: n:373 #~ msgid "Display side panel" #~ msgstr "Mostra pannello laterale" #: n:440 #~ msgid "Coordinate projection" #~ msgstr "" survex-1.4.17/lib/survex.lang0000664000175000017500000003512414765126030011601 text/x-survex *.svx ;

Hacking Survex

(That's hacking in the "tinkering with code" sense, not in the "breaking into other people's computer systems" sense).

This is currently a random collection of notes that need to be written down while I remember. With time it should evolve into a more coherent document. If you have any questions which this should answer but doesn't then ask me and I'll add them.

Network code debugging

You can pick which network simplifications are attempted using "-z" with an argument listing code letters. So:

  • -z= no special simplifications (articulation still performed)
  • -z=l remove "lollipops"
  • -z=p remove parallel legs
  • -z=d convert deltas to stars

And you can combine these in any combination:

  • -z=lp remove "lollipops" and parallel legs
  • -z=lpd remove "lollipops" and parallel legs; convert deltas to stars

"-z=lpd" is the default (in 0.99 at least - more transformations may conceivably be added in future, although the simple common cases are already covered).

Developing on Unix Platforms

You'll need automake 1.5 or later (earlier versions don't support per-executable CFLAGS; 1.6 has been tested and works, but wasn't a very stable release - automake 1.6.1 is a better bet) and autoconf 2.50 or later (autoconf 2.52, 2.53, 2.64 and 2.71 have all been used successfully).

The wxWidgets library is used for aven's UI. Currently >= 3.0.0 is supported.

The PROJ library is used for coordinate conversions. Currently >= 6.2.0 is supported.

The Perl Locale::PO module is used for process message translation files.

For building the documentation you'll need sphinx-doc (Debian/Ubuntu package python3-sphinx) and w3m.

And for building unifont.pixelfont, you'll need unifont installed.

On Debian, you can install the required packages using:

sudo apt-get install autoconf automake liblocale-po-perl libproj-dev libwxgtk3.0-gtk3-dev inkscape netpbm python3-sphinx w3m unifont

Building on Non-Unix Platforms

Mingw (Microsoft Windows)

Survex can be built in an MSYS2+mingw64 environment - since 1.4.9 the pre-built installer for Microsoft Windows is built in such an environment by a CI job running on Github Actions.

It should also be possible to use a Linux-hosted cross-compiler, which is how we used to built releases, but this requires cross-building a lot of required libraries so we gave up on doing this. Some notes on this are left below in case anyone wants to try.

I use the packaged cross-compiler in the debian testing/unstable distribution:

sudo apt-get install mingw-w64-i686-dev

Then install the various libraries by compiling from source. For wxWidgets I apply a patch to disable a pointless and annoying compiler ABI check (with this check aven stops working each time my cross compiler package is upgraded to a new GCC version; without it everything works fine).

Then I configure, build and install with:

./configure --prefix=/usr/i686-w64-mingw32 --host i686-w64-mingw32 --with-msw --with-opengl --enable-display --disable-shared host_alias=i686-w64-mingw32
make
sudo make install

For sqlite (needed by PROJ):

wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar xvf sqlite-autoconf-3360000.tar.gz
mkdir BUILD
cd BUILD
../configure --prefix=/usr/i686-w64-mingw32 --host i686-w64-mingw32 --disable-shared --disable-fts4 --disable-fts5 --disable-json1 --disable-rtree host_alias=i686-w64-mingw32
make
sudo make install

Sadly newer versions of PROJ have to be built with cmake. For PROJ 9.3.0 I used the following (TIFF is apparently useful for some grids, but would also need libtiff):

mkdir BUILD
cd BUILD
cmake .. -DCMAKE_TOOLCHAIN_FILE=~/git/survex/cross-mingw.cmake -DCMAKE_INSTALL_PREFIX=/usr/i686-w64-mingw32 -DENABLE_CURL=OFF -DENABLE_TIFF=OFF -DBUILD_PROJSYNC=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DBUILD_TESTING=OFF
make
sudo make install

where cross-mingw.cmake contains:

# the name of the target operating system
set(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
set(CMAKE_C_COMPILER   i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)

# where is the target environment located
set(CMAKE_FIND_ROOT_PATH  /usr/i686-w64-mingw32)

# adjust the default behaviour of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

For ffmpeg 4.4.1:

sudo apt-get install yasm
mkdir BUILD
cd BUILD
../configure --prefix=/usr/i686-w64-mingw32 --cross-prefix=i686-w64-mingw32- --enable-cross-compile --target-os=mingw32 --arch=i686 --disable-shared --disable-decoders --disable-demuxers --disable-programs --disable-network --disable-bsfs --disable-protocols --disable-devices
make
sudo make install

You'll also need to install GDAL, which requires a lot of other libraries installed to build. I gave up at this point.

Microsoft Windows Installer Builder

We use InnoSetup to build the MS Windows Installer. Since 1.4.9 we use the InnoSetup version which is pre-installed in the Github CI images.

Survex 1.4.8 was built using InnoSetup 6.2.2.

Here are some random notes on the old cross-building approach:

Packages Needed

On Debian unstable/testing:

sudo apt-get install wine wx3.0-i18n

And then run:

wine ~/Downloads/innosetup-6.2.2.exe

Translations

In addition to the translations included with InnoSetup as standard, we also add these, which you can find in the lib subdirectory of Survex's source tree:

  • ChineseSimplified.isl (6.1.0+)
  • ChineseTraditional.isl (6.1.0+)
  • EnglishBritish.isl (6.1.0+)
  • Greek.isl (6.1.0+)
  • Indonesian.isl (6.1.0+)
  • Romanian.isl (6.1.0+)
These are taken from the Inno Setup Translations page.

survex.iss

This file is generated by configure (from the template survex.iss.in). We could instead have a static survex.iss which uses #include to pull in a file with the Survex version info in, but the current method works well enough so we'll stick with it for now (I suspect #include was introduced since we started using InnoSetup). survex-1.4.17/doc/index.htm0000664000175000017500000000201214766657033011225 Survex 1.4.17 Documentation Access to mailing lists and downloads are available at the Survex web site.

Survex 1.4.17 Documentation

Documentation of use to Developers

survex-1.4.17/doc/man.stamp0000664000175000017500000000000014766657176011230 survex-1.4.17/doc/3dformat-old.htm0000664000175000017500000003220714765126030012405 Survex 3d Format Specification (v3-v7)

Survex 3d Format Specification (v3-v7)

If you're writing in C or C++ it's strongly recommended that you use the img routine provided with Survex to read and write 3d files. Doing so means that you can take advantage of any revisions to the 3d format by simply rebuilding your software with the updated img routines, rather than having to update your own code. It also allows you to read other processed survey data formats (those from Larry Fish's Compass and from Bob Thrun's CMAP), and allows reading a sub-set of the data in a file, restricted by survey prefix.

This document only describes 3d format revisions 3 to 7 (inclusive). Newer versions are described in a separate document. Older format versions are only documented by the code to read them in img.c - they had version strings "v0.01", "Bv0.01", "bv0.01", and "v2").

The following table document which Survex versions generate which 3d file format versions. A version is able to read the format it generates and any older versions, but in addition Survex 1.0.40 has support for reading all versions up to v7 (but writes v3).
Format Survex versions
v3 0.97 1.0.40
v4 1.1.0 1.1.3
v5 1.1.4 1.1.10
v6 1.1.11 1.1.14
v7 1.1.15 1.2.6

If you try to use this specification and find details which aren't spelled out clearly enough (or at all!) or any errors, please let us know. At least two people have successfully written code to read 3d files using this document, but that doesn't mean it can't be improved.

File Header

This consists of:

  • File ID: the string "Survex 3D Image File" followed by a linefeed (decimal 10, hex 0a). [Note: v0.01 files can have a carriage return before this and other linefeeds - this is a file format error in any other format version].
  • File format version: "v3", "v4", "v5", "v6", "v7" followed by a linefeed. Any future versions will be "v8", "v9", "v10", "v11", etc.
  • Survey title: A string followed by a linefeed. There's no length limit on this string.
  • Timestamp: A string followed by a linefeed. This is intended to be the time the file was generated, rather than the time the survey data was collected. The easiest way to generate this is with the strftime() format "%a,%Y.%m.%d %H:%M:%S %Z" if you have access to strftime(). An example timestamp is "Sun,2002.03.17 14:01:07 GMT".

Items

Following the header are a number of items. The last item must be a 0x00 byte when the current label is empty, which marks the end of the data. The first byte of an item is a code identifying what the item is:

Code Type Data Meaning Version
0x00 STOP   If the current label is empty, signifies the end of the data in the 3d file; if the current label isn't empty, make it empty. ≥3
0x01 - 0x0e TRIM   Trim the last 16 characters of the current label, then trim back N (i.e. 1-14) dots ("."), everything after that particular dot. It's incorrect if the label ends up empty, or you attempt to trim more label than there is. The rationale for removing 16 characters first is that removal of 1-16 characters can be encoded by 0x10-0x1f (see below) and we can make this encoding more powerful by not overlapping what can be encoded. ≥3
0x0f MOVE <x> <y> <z> Set current position to the coordinates given. Coordinates are 4 byte little-endian signed integers representing values in centimetres (0.01 metres). ≥3
0x10 - 0x1f TRIM   Remove N-15 (i.e. 1-16) characters from the current label. It's incorrect if the label ends up empty, or you attempt to trim more label than there is. ≥3
0x20 DATE (old version) <date> Set survey date of legs: date is 4 byte little-endian unsigned integer counting seconds since 1970. ≥4 and ≤6
0x20 DATE <date> Set survey date of legs: date is a 2 byte little-endian unsigned integer counting days from the start of 1900. ≥7
0x21 DATE (old version) <date1><date2> Set survey date of legs to a range: date1, date2 are 4 byte little-endian unsigned integer counting seconds since 1970. ≥4 and ≤6
0x21 DATE <date1><datespan> Set survey date of legs to a range: date1 is a 2 byte little-endian unsigned integer counting days since the start of 1900, and datespan is an unsigned byte counting days from date1. ≥7
0x22 ERROR <legs><length><E><H><V> Error information for the current traverse. <legs> is the number of legs. <length> is the total length of the traverse in cm (0.01m). E, H and V are the error and the horizontal and vertical components in cm. (All values are 4 byte little-endian signed integers) ≥6
0x23 DATE <date1><date2> Set survey date of legs to a range: date1, date2 are 2 byte little-endian unsigned integers counting days since the start of 1900. ≥7
0x24 DATE   No survey date information was specified. ≥7
0x25 - 0x2f     Reserved
0x30 - 0x31 XSECT <len> <label> <L> <R> <U> <D> Dimensions are 2 byte little-endian signed integers representing values in centimetres (0.01 metres). Omitted dimensions are encoded as 0xffff. Station flags are (N & 0x01): ≥5
Flag (N & 0x01) Meaning
0x01 Station is last one in this passage
0x32 - 0x33 XSECT <len> <label> <L> <R> <U> <D> Dimensions are 4 byte little-endian signed integers representing values in centimetres (0.01 metres). Omitted dimensions are encoded as 0xffffffff. ≥5
Flag (N & 0x01) Meaning
0x01 Station is last one in this passage
0x34 - 0x3f     Reserved
0x40 - 0x7f LABEL <len> <label> <x> <y> <z> Append label to the current label buffer. The updated contents of the label buffer give the survey stations full name. The length of label is given by length, which is encoded as follows: ≥3
Length Encoding
0 - 253 byte 0x00 - 0xfd
254-65789 byte 0xfe 2 byte little-endian unsigned integer len-254 0x0000-0xffff
65790 and greater byte 0xff 4 byte little-endian unsigned integer len 0x000100fd-0xffffffff
The station flags are encoded in the bottom 6 bits of the item code:
Flag (N & 0x3f) Meaning
0x01 Station is on leg above ground
0x02 Station is on an underground leg (both may be true at an entrance)
0x04 Station is marked as an entrance (with *entrance)
0x08 Station is exported (i.e. may be used as a connection point to other surveys)
0x10 Station is a fixed point (control point)
0x20 Reserved
0x80 - 0xbf LINE <len> <label> <x> <y> <z> Append label to the current label buffer. The length of the label is encoded as for a station label above. Return leg from current position to coordinates given, and update current position to coordinates given. The updated contents of the label buffer give the survey that the leg is in. ≥3
Flag (N & 0x3f) Meaning
0x01 Leg is above ground
0x02 Leg duplicates data in another leg (e.g. resurvey along a passage to tie into a known station)
0x04 Leg is a splay shot in a chamber (radial shots from a central point)
0x08 Reserved
0x10 Reserved
0x20 Reserved
0xc0 - 0xff     Reserved

Item order

  • A continuous section of centreline is defined by a <MOVE> item, followed by one or more <LINE> items.
  • <LABEL> items may appear anywhere in the file after the header, including within a <MOVE><LINE>... sequence.
  • Duplicate <LABEL> items are permitted provided they also have identical coordinate values. (The same coordinate values may also be shared by any number of different <LABEL> items).
  • Stations must be defined in a <LABEL> item before being referenced (e.g. in <XSECT> items)

Authors: Olly Betts and Mike McCombe, last updated: 2025-01-13

survex-1.4.17/doc/future.rst0000664000175000017500000000104414756732050011444 =================== Future Developments =================== Now that Survex has reached version 1.0, we are continuing progress towards version 2, in a series of steps, evolving out of Survex 1.0. The GUI framework is being based on aven, with the printer drivers and other utility programs being pulled in and integrated into the menus. Aven is built on wxWidgets, which means that it can easily support Linux, other Unix-like platforms, Microsoft Windows, and macOS. More information on our plans is on the `web site `__. survex-1.4.17/doc/extend.10000664000175000017500000000741714766657177011004 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "EXTEND" "1" "Mar 20, 2025" "" "Survex" .SH NAME extend \- produce an extended elevation .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 \fBextend\fP [\-\-survey=\fISURVEY\fP] [\-\-specfile=\fIESPEC_FILE\fP] [\-\-show\-breaks] \fIINPUT_FILE\fP [\fIOUTPUT_3D_FILE\fP] .UNINDENT .UNINDENT .SH DESCRIPTION .sp \fBINPUT_FILE\fP can be a Survex \fB\&.3d\fP file, a Compass \fB\&.plt\fP file or a CMAP \fB\&.sht\fP file (all Survex programs which read \fB\&.3d\fP files can also transparently handle these formats). .sp If no \fB\-\-specfile\fP option (or short option \fB\-p\fP) is given, extend starts with the highest station marked as an entrance which has at least one underground survey leg attached to it. If there are no such stations, the highest deadend station in the survey (or the highest station if there are no deadends) is used. Extend puts the first station on the left, then folds each leg out individually to the right, breaking loops arbitrarily (usually at junctions). .sp If the output filename is not specified, extend bases the output filename on the input filename, but replacing the extension with \fB_extend.3d\fP\&. For example, \fBextend deep_pit.3d\fP produces an extended elevation called \fBdeep_pit_extend.3d\fP\&. .sp The \fB\-\-survey=\fP\fISURVEY\fP option (short option \fB\-s\fP) restricts processing to the survey \fISURVEY\fP including any sub\-surveys. .sp If you pass \fB\-\-show\-breaks\fP (short option \fB\-b\fP) then a leg flagged as \(dqsurface survey\(dq will be added between each point at which a loop has been broken \- this can be very useful for visualising the result in aven. .sp This approach suffices for simple caves or sections of cave, but for more complicated situations human intervention is required. More complex sections of cave can be handled with a specfile giving directions to switch the direction of extension between left and right, to explicitly specify the start station, or to break the extension at particular stations or legs. .sp The specfile is in a format similar to cavern\(aqs data format: .INDENT 0.0 .INDENT 3.5 .sp .EX ; This is a comment ; start the elevation at station entrance.a *start entrance.a ;this is a comment after a command ; start extending leftwards from station half\-way\-down.5 *eleft half\-way\-down.5 ; change direction of extension at further\-down.8 *eswap further\-down.8 ; extend right from further\-down.junction, but only for ; the leg joining it to very\-deep.1, other legs continuing ; as before *eright further\-down.junction very\-deep.1 ; break the survey at station side\-loop.4 *break side\-loop.4 ; break survey at station side\-loop.junction but only ; for leg going to complex\-loop.2 *break side\-loop.junction complex\-loop.2 .EE .UNINDENT .UNINDENT .sp This approach requires some trial and error, but gives useful results for many caves. The most complex systems would benefit from an interactive interface to select and view the breaks and switches of direction. .SH SEE ALSO .sp \fBaven\fP(1), \fBcavern\fP(1), \fBdiffpos\fP(1), \fBdump3d\fP(1), \fBsorterr\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/cavern.rst0000664000175000017500000002044514756732050011416 cavern ------ ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``cavern`` [`OPTIONS`] `SURVEY_DATA_FILE`... ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ ``cavern`` is the Survex data processing engine. ``cavern`` is a command line tool, but if you're not a fan of working from the command line you can open unprocessed survey data files with ``aven`` and it will run ``cavern`` for you, and if successful, display the processed data. If there are any warnings and errors, ``aven`` will show a log window with the output with clickable links to open the affected file at the problematic line. If multiple survey data files are listed on the command line, they are processed in order from left to right. Settings are reset to their defaults before processing each file. Each `SURVEY_DATA_FILE` must be unprocessed survey data in a format which Survex supports, either native format (``.svx``) or Compass format (``.mak``, ``.dat`` or ``.clp``), or Walls format (``.wpj`` or ``.srv``). Support for Compass ``.clp`` was added in Survex 1.4.6; support for Walls was added in Survex 1.4.9. ~~~~~~~ OPTIONS ~~~~~~~ ``-o``, ``--output=``\ `OUTPUT` Sets location for output files. ``-q``, ``--quiet`` Only show a brief summary (``--quiet --quiet`` or ``-qq`` will display warnings and errors only). ``-s``, ``--no-auxiliary-files`` do not create .err file. ``-w``, ``--warnings-are-errors`` turn warnings into errors. ``--log`` Send screen output to a .log file. ``-v``, ``--3d-version=``\ `3D_VERSION` Specify the 3d file format version to output. By default the latest version is written, but you can override this to produce a 3d file which can be read by software which doesn't understand the latest 3d file format version. Note that any information which the specified format version didn't support will be omitted. ``--help`` display short help and exit ``--version`` output version information and exit ~~~~~~ OUTPUT ~~~~~~ If there were no errors during processing, cavern produces two output files, with the extensions ``.3d`` and ``.err`` (unless ``--no-auxiliary-files`` is specified in which case only the ``.3d`` file is produced). These two files are always created with their respective extensions. By default they are created in the current directory, with the same base filename as the first `SURVEY_DATA_FILE` listed on the command line. E.g. if you process the data file ``entrance.svx`` with the command ``cavern entrance`` or ``cavern entrance.svx`` then the files ``entrance.3d`` and ``entrance.err`` will be created. You can change the directory and/or base filename using the ``--output`` command line option. If you specify a directory then output files will go there instead of the current directory, but still use the basename of the first `SURVEY_DATA_FILE`. If you specify a filename which is not a directory (note that it doesn't need to actually exist as a file) then the directory this file is in is used, and also the basename of the filename is used instead of the basename of the first `SURVEY_DATA_FILE`. Details of the output files: ``.3d`` This is a binary file format containing the adjusted survey data and associated meta data. ``.err`` This is a text file which contains statistics about each traverse in the survey which is part of a loop. It includes various statistics for each traverse: Original length This is the measured length of the traverse (for a "normal" or "diving" survey this is the sum of the tape readings after applying calibration corrections). Number of legs The number of survey legs in the traverse Moved How much one end of the traverse moved by relative to the other after loop closure Moved per leg `Moved` / `Number of legs` Percentage error (`Moved` / `Original length`) as a percentage. This seems to be a popular measure of how good or bad a misclosure is, but it's a problematic one because a longer traverse will naturally tend to have a lower percentage error so you can't just compare values between traverses. We recommend using the `E`, `H` and `V` values instead. Error (`E`) This isn't labelled in the `.err` file but is the value on a line by itself. In ``aven`` it's the value used by `Colour by Error`. It is `Moved` divided by the standard deviation for the traverse based on the standard errors specified for the instruments. This tells us how plausible it is that the misclosure is just due to random errors. It is a number of standard deviations, so the `68-95-99.7 rule `__ applies - e.g. approximately 99.7% of traverses should have a value of 3.0 or less (assuming the specified instrument standard deviations are realistic). Horizontal Error (`H`) This is like `E` but only considers the horizontal component. In ``aven`` it's the value used by `Colour by Horizontal Error`. You can identify suspect traverses by looking at `E` and then compare `H` and `V` to see what sort of blunder might explain the misclosure. For example, if `H` is small but `V` is large it could be a clino reading or plumb with an incorrect sign, or a tape blunder on a plumbed leg; if `H` is large but `V` is small it could be a compass blunder, or a tape blunder of a nearly-flat leg. Vertical Error (`V`) This is like `E` but only considers the vertical component. In ``aven`` it's the value used by `Colour by Vertical Error`. This information is now also present in the ``.3d`` file so you can view the survey coloured by these errors, but the ``.err`` file can still be useful as you can sort it using ``sorterr`` to get a ranked list of the sections of survey with the worst misclosure errors. Cavern also reports a range of statistics at the end of a successful run: - The highest and lowest stations and the height difference between them - The East-West and North-South ranges, and the Northernmost, Southernmost, Easternmost, and Westernmost stations. - The total length of the survey (before and after adjustment). This total excludes survey legs flagged as ``SURFACE``, ``DUPLICATE``, or ``SPLAY``. - The number of stations and legs. Note that a ``*equate`` is counted as a leg in this statistic. - The number of each size of node in the network (where size is number of connections to a station) i.e. a one node is the end of a dead-end traverse, a two-node is a typical station in the middle of a traverse, a three-node is a T-junction etc. - How long the processing took and how much CPU time was used. If you successfully processed your data by loading it into ``aven`` then you can see this log output by using ``File->Show Log`` (also available as an icon in the toolbar). Error Messages ~~~~~~~~~~~~~~ There are many different error messages that you can get when processing data. Along with the error message, a location is reported. For an error like "file not found" this only reports the filename, but usually it will give the filename and line number of the offending line, and in many cases also an offset or span within the line. The format of the location data follows that used by the GCC compiler so if your text editor can parse errors from GCC then you should be able to set it to allow you to jump to the file and line of each error. One common cause of errors and warnings are typing mistakes. Another is your survey data not being all attached to fixed points (which is a warning since Survex 1.4.10, but was an error prior to this; in this situation, Survex will list at least one station in each piece of survey data which is not connected). We try to make error and warning messages self-explanatory, but welcome feedback on cases where you get a message which seems unclear. Generally you want to look at the first reported error first as there can be a cascade effect where one error triggers another. Cavern will stop after more than 50 errors. This usually indicates something like the incorrect data order being specified and deluging the user with error messages in such cases usually makes the actual problem less clear. .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/walls.rst0000664000175000017500000002502514765126030011254 ====================== David McKenzie's Walls ====================== Survex 1.4.9 and later can read Walls unprocessed survey data (``.SRV`` and ``.WPJ`` files). Walls is no longer being developed, so the focus of support for Walls formats is primarily to help people with existing Walls data to migrate. We've mostly implemented this support based on Walls documentation, but unfortunately the documentation of the SRV format is sometimes incomplete or incorrect, while the WPJ format seems to be largely undocumented. Sadly David is no longer around to ask, but we can at least test actual behaviour of ``Walls32.exe`` on example data. As of 1.4.10, some large Walls datasets can be successfully processed (e.g. Mammoth Cave, the Thailand dataset from https://cave-registry.org.uk/, and Big Bat Cave). Behaviour is not identical and station positions after loop closure will inevitably be different, but large or apparently systematic errors are worth reporting. An easy way to compare is to export a Shapefile from ``Walls32.exe`` and overlay it in ``aven``. The way to export is a bit hidden - after processing select the `Segments` tab, make sure the whole project is selected, and click the `Details / Rpts...` button which is towards the upper right. Click the `Shapefile...` button in the new dialog box, and select what you want to output (e.g. `Vectors`). Due to limitations in the Shapefile format each `Shape Type` selected here exports a separate Shapefile. To overlay a Shapefile in ``aven`` use `File->Overlay Geodata...`. See below for a list of known limitations. We've mostly prioritised what to implement based on testing with real-world datasets so commonly used features are likely to be handled while more obscure features may not be. - Survex reports warnings in some suspect situations which Walls quietly accepts. In general this seems helpful and they do highlight what look like genuine problems in existing datasets, but if there are particular instances which are noisy and not useful, let us know. Some of these warnings use the same wording as errors - most of these probably ought to be an error except Walls quietly accepts them so we don't want to fail processing because of them. If you want a way to suppress the "unused fixed point" warning, using the station in a ``#NOTE`` or ``#FLAG`` command counts as a "use" so you can suppress these with e.g. ``#NOTE ABC123 /unused`` for each such fixed point. - If an isolated LRUD (LRUD not on a leg, e.g. specified for the start or end station of a traverse) is missing its closing delimiter, Walls will parse the line as a data leg where the "to" station starts with ``*`` or ``<``, which will usually succeed without errors or warnings. A real-world example is:: P25 *8 5 16 3.58 Survex parses this like Walls does, but issues a warning:: walls.srv:1:9: warning: Parsing as "to" station but may be isolated LRUD with missing closing delimiter P25 *8 5 15 3.58 ^~ This warning will also be triggered if you have a "to" station which actually starts with ``*`` or ``<``, if the station name was not previously seen. This condition provides a simple way to suppress the warning - just add a dummy ``#NOTE`` command before the line of data like so:: #note *8 ; Suppress Survex warning that this looks like broken LRUD P25 *8 5 16 3.58 - Walls allows hanging surveys, apparently without any complaint, and as a result large Walls datasets are likely to have hanging surveys. A hanging survey used to be an error in Survex but since 1.4.10 a hanging survey is warned about and then ignored. - ``#FIX`` - currently Survex does not support horizontal-only or vertical only fixes. These are currently given an SD of 1000m in that direction instead, but that is not the same as completely decoupling the fix in that direction. - Variance overrides on survey legs are mostly supported, with the following limitations: + An SD of 0 is currently treated as 1mm (approximately 0.04 inches). + Floating a leg both horizontally and vertically (with ``?``) replaces it with a "nosurvey" leg, which is effectively the same provided both ends of the leg are attached to fixed points. + Floating a leg either horizontally or vertically (with ``?``) uses an SD of 1000m in that direction instead of actually decoupling the connection. + Floating the traverse containing a leg (with ``*``) currently just floats that leg (so it's the same as ``?``). - Walls ``#SEGMENT`` is apparently in practice commonly set to a set of Compass "shot flags", so if a ``#SEGMENT`` value consists only of letters from the set ``CLPSX`` with an optional leading ``/`` or ``\\`` then we map it to Survex flags like so (since Survex 1.4.10): + ``C`` in Compass causes legs it is set on to not be affected by loop closure, but setting Compass flags in the Walls ``#SEGMENT`` is just a user-level convention so Walls won't do anything in response to ``C``, so Survex ignores it too. + ``L`` is mapped to Survex's "duplicate" flag + ``P`` is mapped to Survex's "surface" flag + ``S`` is mapped to Survex's "splay" flag + ``X`` in Compass completely excludes the leg from processing, but setting Compass flags in the Walls ``#SEGMENT`` is just a user-level convention so Walls won't do anything in response to ``X``. It seems in practice that ``X`` is sometimes used in Walls datasets to flag data to just exclude from the surveyed length, so we treat it as an alias for ``L`` and map it to Survex's "duplicate" flag. Other values of ``#SEGMENT`` are ignored. - Walls ``FLAG`` values seem to be arbitrary text strings. We try to infer appropriate Survex station flags by checking for certain key words in that text (currently we map words ``ENTRANCE`` and ``FIX`` to the corresponding Survex station flags) and otherwise ignore ``FLAG`` values. - ``#NOTE`` is parsed and the station name is marked as "used" (which suppresses the unused fixed point warning) but the note text is currently ignored. - We don't currently support all the datum names which Walls does because we haven't managed to find an EPSG code for any UTM zones in some of these datums. This probably means they're not actually in current use. - We currently assume all two digit years are 19xx (Walls documents it 'also accepts "some date formats common in the U.S. (``mm/dd/yy``, ``mm-dd-yyyy``, etc.)' but doesn't say how it interprets ``yy``. - The documentation specifies that the ``SAVE`` and ``RESTORE`` options should be processed before other options. Currently Survex just processes all options in the order specified, which makes no difference to any real-world data we've seen. We need to test with Walls32.exe to determine exactly how this works (and if ``RESET`` is also special). - LRUD data is currently ignored. - The ``TAPE=`` option is currently quietly skipped, and tape measurements are assumed to be station to station. - In ``TYPEAB=`` and ``TYPEVB=``, the threshold is ignored, as is the ``X`` meaning to only use foresights (but still check backsights). Survex uses a threshold based on the specified instrument SDs, and averages foresights and backsights. - ``UV=``, ``UVH=`` and ``UVV=`` are all quietly skipped. - The ``GRID=`` option currently gives an "Unknown command" warning, and is skipped. If your Walls data specifies a UTM zone then Survex will automatically correct for grid convergence. - The ``INCH=`` option currently gives an "Unknown command" warning (unless the argument is zero, since Survex 1.4.10), and is skipped. - Walls seems to allow ``\\`` in place of ``/`` in some places (e.g. ``#FLAG``). We aim to support this too, but it doesn't seem to be documented so may not currently be supported in the correct places. - The inheritance of settings in WPJ files is probably not correctly implemented currently. - The Walls documentation mentions a ``NOTE=`` option, but doesn't document what it does, and testing with Walls32.exe it doesn't seem to actually be supported! - The two UPS zones for the polar regions (specified as UTM zone values of -61 and 61 in Walls) are supported with datum WGS84, but we do not have any real data to test this support with. - Walls gives an error if an unprefixed station name is more than 8 characters long but Survex does not enforce this restriction. - Walls documents `The total length of the three prefix components combined, including any embedded colon separators, is 127 characters` but Survex does not enforce any limit. - In the option ``UNITS=`` the documentation says `CASE = Upper / Lower / Mixed` but it seems actually any string is allowed and if it starts with a letter other than ``U`` or ``L`` then it's treated as ``Mixed``. Since Survex 1.4.10. - Walls explicitly documents that `Unprefixed names [...] must not contain any colons, semicolons, commas, pound signs (#), or embedded tabs or spaces.` but it actually allows ``#`` in station names (though it can't be used as the first character of the from station name as that will be interpreted as a command. Since Survex 1.4.10. - Walls ignores junk after the numeric argument in ``TYPEAB=``, ``TYPEVB=``, ``UV=``, ``UVH=``, and ``UVV=``. Survex warns and skips the junk. Since Survex 1.4.10. - Walls allows the clino reading to be completely omitted with ``ORDER=DAV`` and ``ORDER=ADV`` on a "wall shot" (leg to or from an anonymous station). Supported since Survex 1.4.10. - If a station is used with an explicit Walls prefix (e.g. ``PEP:A123``) then it will will be flagged as "exported" in the ``.3d`` file. This is currently applied even if the explicit prefix is empty (e.g. ``:A123``). Since Survex 1.4.10. - Walls allows a station with an explicit prefix to have an empty name, e.g. ``PEP:``. The Walls documentation doesn't mention this, though it also doesn't explicitly say the name can't be empty. This quirk seems unlikely to be intentionally used and Survex doesn't allow an empty station name, so we issue a warning and use the name ``empty name`` (which has a space in, so can't collide with a real Walls station name which can't contain a space) - so ``PEP:`` in Walls becomes ``PEP.empty name`` in Survex. Since Survex 1.4.10. If you find some Walls data which Survex doesn't handle or handles incorrectly, and it is not already noted above, please let us know. If you can provide some data demonstrating the problem, that's really helpful. It's also useful to know if there are things listed above that are problematic to help prioritise efforts. survex-1.4.17/doc/intro.rst0000664000175000017500000000574114756732050011275 ------------ Introduction ------------ This section describes what Survex is, and outlines the scope of this manual. About Survex ============ Survex is a multi-platform Free and Open-Source Software cave surveying package. Versions 1.2 and later run on Linux, other UNIX-like platforms, Microsoft Windows, and macOS. We're investigating support for phones and tablets. We are well aware that not everyone has access to super hardware - often surveying projects are run on little or no budget and any computers used are donated. We aim to ensure that Survex is feasible to use on low-spec machines. Obviously it won't be as responsive, but we intend it to be usable. Please help us to achieve this by giving us some feedback if you use Survex on a slow machine. Survex is capable of processing extremely complex caves very quickly and has a very effective, real-time cave viewer which allows you to rotate, zoom, and pan the cave using mouse or keyboard. We have tested it extensively using CUCC and ARGE's surveys of the caves under the Loser Plateau in Austria (over 90,000 survey legs and over 350km of underground survey data). This can all be processed in around 13 seconds on a computer bought in 2012. Survex is also used by many other survey projects around the world, including the `Ogof Draenen `__ survey, the `Easegill `__ resurvey project, the OFD survey, the `OUCC Picos expeditions `__, and the Hong Meigui China expeditions. .. FIXME: hongmeigui.net seems to no longer work .. FIXME: more projects using Survex Survex is still actively being worked on. Version 1.0 was complete in some sense, but development has continued since. We encourage feedback from users on important features or problems, which will help to direct future development. See the "Mailing List" section of this manual for the best way to contact us. About this Manual ================= If there's a part of this manual you find hard to understand, please do let us know. We already know Survex well, so it can be hard for us to spot areas where the manual doesn't given enough information, or doesn't explain things clearly enough to follow when you don't know what's going on. It's helpful is you can suggest a better wording, but don't worry if you can't, just explain the problem as precisely as you can. The master version of this manual is maintained as `reStructured Text `__, and automatically converted to a number of other formats. If you are going to send us *major* changes, it's much easier to include them if you work from this master version rather than changing one of the generated files. Terminology ----------- Throughout this document we use British terminology for surveying: station a point in the cave that you survey from and/or to leg a line joining two stations survey a group of legs surveyed on the same trip survex-1.4.17/doc/cmdline.rst0000664000175000017500000000477014756732050011556 --------------- Survex Programs --------------- This section describes command-line use of Survex. Our aim is to make all functionality available without needing to use the command line (though we aren't quite there currently - the main thing lacking is more complex use of ``extend``). We also aim to give access from the command line to any functionality which it is useful to be able to use from scripts, so that users who do like to use the command line can take full advantage of it. Standard Options ================ All Survex programs support to the following command line options: ``--help`` display option summary and exit ``--version`` output version information and exit Tools which take a processed survey data file to read also provide a way to specify the prefix of a sub-survey to restrict reading to: ``-s``, ``--survey=``\ `SURVEY` Only load the sub-survey `SURVEY`. Short and Long Options ====================== Options have two forms: short (a dash followed by a single letter e.g. ``cavern -q``) and long (two dashes followed by one or more words e.g. ``cavern --quiet``). The long form is generally easier to remember, while the short form is quicker to type. Options are often available in both forms, but more obscure or potentially dangerous options may only have a long form. .. note:: Command line options are case sensitive, so ``-B`` and ``-b`` are different (this didn't used to be the case before Survex 0.90). Case sensitivity doubles the number of available short options (and is also the norm on UNIX-like platforms). Filenames on the Command Line ============================= Filenames with spaces can be processed (provided your operating system supports them - UNIX does, and so do modern versions of Microsoft Windows). You need to enclose the filename in quotes like so:: cavern "Spider Cave" A file specified on the command line of any of the Survex suite of programs will be looked for as specified. If it is not found, then the file is looked for with the appropriate extension appended, so the command above will look first for ``Spider Cave``, then for ``Spider Cave.svx``. Command Reference ================= .. include:: aven.rst .. include:: cavern.rst .. include:: diffpos.rst .. include:: dump3d.rst .. include:: extend.rst .. include:: sorterr.rst .. include:: survexport.rst .. Dummy non-use of survex.rst to prevent warnings (it's only used to generate the survex.7 man page). .. only:: somethingthatshouldneverbedefined .. include:: survex.rst survex-1.4.17/doc/svxhowto.rst0000664000175000017500000002475614765126030012045 ================= ``.svx`` Cookbook ================= Here is some example Survex data (a very small cave numbered 1623/163): :: 2 1 26.60 222 17.5 2 3 10.85 014 7 2 4 7.89 254 -11 4 5 2.98 - DOWN 5 6 9.29 271 -28.5 You can vary the data ordering. The default is: from-station to-station tape compass clino This data demonstrates a number of useful features of Survex: Legs can be measured either way round, which allows the use of techniques like "leap-frogging" (which is where legs alternate forwards and backwards). Also notice that there is a spur in the survey (2 to 3). You do not need to specify this specially. Survex places few restrictions on station naming (see "Survey Station Names" in the previous section), so you can number the stations as they were in the original survey notes. Although not apparent from this example, there is no requirement for each leg to connect to an existing station. Survex can accept data in any order, and will check for connectedness once all the data has been read in. Each survey is also likely to have other information associated with it, such as instrument calibrations, etc. This has been omitted from this example to keep things simple. Most caves will take more than just one survey trip to map. Commonly the numbering in each survey will begin at 1, so we need to be able to tell apart stations with the same number in different surveys. To accomplish this, Survex has a very flexible system of hierarchical prefixes. All you need do is give each survey a unique name or number, and enter the data like so: :: *begin 163 *export 1 2 1 26.60 222 17.5 2 3 10.85 014 7 2 4 7.89 254 -11 4 5 2.98 - DOWN 5 6 9.29 271 -28.5 *end 163 Survex will name the stations by attaching the current prefix. In this case, the stations will be named 163.1, 163.2, etc. We have a convention with the CUCC Austria data that the entrance survey station of a cave is named P, P163 in this case. We can accomplish this like so: :: *equate P163 163.1 *entrance P163 *begin 163 *export 1 2 1 26.60 222 17.5 2 3 10.85 014 7 2 4 7.89 254 -11 4 5 2.98 - DOWN 5 6 9.29 271 -28.5 *end 163 --------------------- Join surveys together --------------------- Once you have more than one survey you need to specify how they link together. To do this use ``*export`` to make the stations to be joined accessible in the enclosing survey, then ``*equate`` in the enclosing survey to join them together. For example: :: ; CUCC convention is that p is the entrance station ; for cave . *entrance p157 *equate p157 157.0 *begin 157 *export 157.0 ; tag bolt *begin entpitch *team "Olly Betts" Notes *team "Jenny Black" Insts *date 2012.08.05 *data normal from to tape compass clino *export 0 5 1 0 3.226 202 -05 1 2 1.505 080 -13 1 3 2.605 030 +25 3 4 8.53 335 +80 4 5 7.499 060 +24 *end entpitch *equate entpitch.5 pt2.1 *begin pt2 *team "Olly Betts" Notes *team "Jenny Black" Insts *date 2012.08.29 *export 1 1 2 5.361 054 -54 2 3 4.271 190 +00 2 4 4.634 138 +04 *end pt2 *end 157 ------------------- Surface survey data ------------------- Say you have 2 underground surveys and 2 surface ones with a single fixed reference point. You want to mark the surface surveys so that their length isn't included in length statistics, and so that Aven knows to display them differently. To do this you mark surface data with the "surface" flag - this is set with ``*flags surface`` like so: :: ; fixed reference point *fix fix_a 12345 56789 1234 ; surface data (enclosed in *begin ... *end to stop the *flags command ; from "leaking" out) *begin *flags surface *include surface1 *include surface2 *end ; underground data *include cave1 *include cave2 You might also have a single survey which starts on the surface and heads into a cave. This can be easily handled too - here's an example which goes in one entrance, through the cave, and out of another entrance: :: *begin BtoC *title "161b to 161c" *date 1990.08.06 ; trip 1990-161c-3 in 1990 logbook *begin *flags surface 02 01 3.09 249 -08.5 02 03 4.13 252.5 -26 *end 04 03 6.00 020 +37 04 05 3.07 329 -31 06 05 2.67 203 -40.5 06 07 2.20 014 +04 07 08 2.98 032 +04 08 09 2.73 063.5 +21 09 10 12.35 059 +15 *begin *flags surface 11 10 4.20 221.5 -11.5 11 12 5.05 215 +03.5 11 13 6.14 205 +12.5 13 14 15.40 221 -14 *end *end BtoC Note that to avoid needless complication, Survex regards each leg as being either "surface" or "not surface" - if a leg spans the boundary you'll have to call it one or the other. It's good surveying practice to deliberately put a station at the surface/underground interface (typically the highest closed contour or drip line) so this generally isn't an onerous restriction. ------------- Reading order ------------- The ``*data`` command is used to specify the order in which the readings are given. ------ Plumbs ------ Plumbed legs can be specified by using ``UP`` or ``DOWN`` in place of the clino reading and a dash (or a different specified ``OMIT`` character) in place of the compass reading. This distinguishes them from legs measured with a compass and clino. Here's an example: :: 1 2 21.54 - UP 3 2 7.36 017 +17 3 4 1.62 091 +08 5 4 10.38 - DOWN ``U``/``D`` or ``+V``/``-V`` may be used instead of ``UP``/``DOWN``; the check is not case sensitive. If you prefer to use ``-90`` and ``+90`` as "magic" clino readings which are instead treated as plumbs and don't get clino corrections applied, etc, then see ``*infer plumbs on``. ------------------------ Legs across static water ------------------------ Legs surveyed across the surface of a static body of water where no clino reading is taken (since the surface of the water can be assumed to be flat) can be indicated by using ``LEVEL`` in place of a clino reading. This prevents the clino correction being applied. (Note that unlike with plumbed readings, there isn't a way to treat a clino reading of ``0`` as meaning ``LEVEL`` because ``0`` is a completely reasonable actual clino reading.) Here's an example: :: 1 2 11.37 190 -12 3 2 7.36 017 LEVEL 3 4 1.62 091 LEVEL -------------------- Specify a BCRA grade -------------------- The ``*sd`` command can be used to specify the standard deviations of the various measurements (tape, compass, clino, etc). Examples files are supplied which define BCRA Grade 3 and BCRA Grade 5 using a number of ``*sd`` commands. You can use these by simply including them at the relevant point, as follows: :: *begin somewhere ; This survey is only grade 3 *include grade3 2 1 26.60 222 17.5 2 3 10.85 014 7 ; etc *end somewhere The default values for the standard deviations are those for BCRA grade 5. Note that it is good practice to keep the ``*include grade3`` within ``*begin`` and ``*end`` commands otherwise it will apply to following survey data, which may not be what you intended. --------------------------- Override accuracy for a leg --------------------------- For example, suppose the tape on the plumbed leg in this survey is suspected of being less accurate than the rest of the survey because the length was obtained by measuring the length of the rope used to rig the pitch. We can set a higher sd for this one measurement and use a ``*begin``/``*end`` block to make sure this setting only applies to the one leg: :: 2 1 26.60 222 17.5 2 3 10.85 014 7 2 4 7.89 254 -11 *begin ; tape measurement was taken from the rope length *sd tape 0.5 metres 4 5 34.50 - DOWN *end 5 6 9.29 271 -28.5 ----------------- Repeated Readings ----------------- If your survey data contains multiple versions of each leg (for example, pockettopo produces such data), then provided these are adjacent to one another, Survex 1.2.17 and later will automatically average these and treat them as a single leg. ------------------ Radiolocation Data ------------------ This is done by using the ``*sd`` command to specify the appropriate errors for the radiolocation "survey leg" so that the loop closure algorithm knows how to distribute errors if it forms part of a loop. The best approach for a radiolocation where the underground station is vertically below the surface station is to represent it as a plumbed leg, giving suitable SDs for the length and plumb angle. The horizontal positioning of this is generally quite accurate, but the vertical positioning may be much less well known. E.g. we have a radiolocation of about 50m depth ±20m and horizontal accuracy of ±8m. Over 50m the ±8m is equivalent to an angle of 9 degrees, so that is the expected plumb error. 20m is the expected error in the length. To get the equivalent SD we assume that 99.74% of readings will be within 3 standard deviations of the error value. Thus we divide the expected errors by 3 to get the SD we should specify: :: *begin *sd length 6.67 metres *sd plumb 3 degrees surface underground 50 - down *end We wrap the radiolocation leg in a ``*begin``/``*end`` block to make sure that the special \*sd settings only apply to this one leg. For more information on the expected errors from radiolocations see Compass Points Issue 10, available online at https://www.chaos.org.uk/survex/cp/CP10/CPoint10.htm ----------- Diving Data ----------- Surveys made underwater using a diver's depth gauge can be processed - use the ``*data`` command with the ``diving`` style to specify that the data is of this type. --------------- Theodolite data --------------- Theodolite data with turned angles is not yet explicitly catered for, so for now you will need to convert it into equivalent legs in another style - ``normal`` or ``cylpolar`` styles are likely to be the best choices. If there is no vertical info in your theodolite data then you should use the ``cylpolar`` style and use ``*sd`` command to specify very low accuracy (high SD) in the depth so that the points will move in the vertical plane as required if the end points are fixed or the survey is part of a loop. ------------------------- Change special characters ------------------------- See the ``*set`` command documentation for details, and some examples. survex-1.4.17/doc/manual.pdf0000664000175000017500000150304514766657207011374 %PDF-1.5 % 1 0 obj << /Length 843 /Filter /FlateDecode >> stream xmUMo0WxNWH Z&T~3ڮzy87?nkNehܤ=77U\;?:׺v==onU;O^uu#½O ۍ=٘a?kLy6F/7}̽][H<Sicݾk^90jYVH^v}0<rL ͯ_/CkBnyWTHkuqö{s\녚"p]ϞќKյ u/A )`JbD>`2$`TY'`(ZqBJŌ )Ǩ%553<,(hlwB60aG+LgıcW c rn q9Mܗ8% CMq.5ShrAI皎\Sȩ ]8 `Y7ь1Oyezl,d mYĸSSJf-1i:C&e c4R$D& &+übLaj by+bYBg YJYYr֟bx(rGT̛`F+٭L ,C9?d+͊11ӊĊ׊T_~+Cg!o!_??/?㫄Y ?^B\jUP{xᇻL^U}9pQq0O}c}3tȢ}Ə!VOu˷ endstream endobj 3 0 obj << /Type /ObjStm /N 100 /First 826 /Length 1247 /Filter /FlateDecode >> stream xڽWnI}W#Aڤ !E@DHy1 % =Fm̄΃{.=}5cEiAԚ$%pǐґ%m0H@21Pd(MiRl<8%IK J`-I[ Q1B D`p$d9e^{O )e-G>q,’vdPB/ 2EJ# #wG £1(тp4@Q"`0HHߍ#6jJee)?%{ec_|EIJT |EB,M ϛk(mw2Ǣ8<Wܑ?Okb%DGxWح,cqvvJǢ endstream endobj 204 0 obj << /Type /ObjStm /N 100 /First 877 /Length 1274 /Filter /FlateDecode >> stream xڥX]O6}_>k;Z RCЊJ _ e˿A\a+qr=;cդRp Y\2u+˷ OZjskr56GFhpU4OA՚kU)4yGh&hD T.SdžIdG'p⠕qȮdȞ=W_9f+ + WV@i0UHzbQZrͲY hfjO̬A] Y`KpZ'Y; pQaKPi5B8l`F*.ۡB SS$yBDFfi"#>[5WdEB6 8Hd8AW+ß ADTa*p l"c8b*q=J`0G#'16: AyE@#*At )8r&>Z]-p7/wWy _h怛7'ip枛n<|9Пɰ~g[dY#ndl<=\ܯ.Vw7.<1˽Kn&+ZskP"璮fQ(5YI/N婛:> stream xmTˎ0+$$0  a#A%߯jD岻fc;Z̫MfG} q]/ޭmޯo⣩0Z^x]fkn{E+{*ʧypg6;5PVpH8$hmڢ*߄zR:")󨺠3qXysO'H)-"}[˺s 3 4{pYdrK+ a }ѫW{ Fvm7344AGc ڤ_86 endstream endobj 516 0 obj << /Length 770 /Filter /FlateDecode >> stream xmUn0E"y$U6ɢ5h)8",c\Ws/.7?3oz(yѧ2zvAwG݌=yzVmMמMW\=j_I*Cn_f &1y+Sw$F5? S4!1!r3Ҵ>Za?ɻ=ñK}:j=w(]UU#5dkuѥy e*x12+Sx,099)5tJN'{fS 2R̼  KV iXBRs>^ .KCc2c4&Wo"q8^zl p5u%=cK(q/?xQcc/s/G|-mƯP/S8+8 4fRSYZ"?.01шŕ[KPKS60e;U}Z8~Sg; _gvi;Kc g̭oZ ' L^ ^$K{)p/EX{)^ (½ߎ> stream xmVMo8WhCj~H\HrhSbd IJ!ۇռâ؃޼!9_?7?UepPgww͡pcӷx6׏;[Rd񟇧}z eq<÷LUJM롯{Ni~l1>_\}~8ȳ&qq;RUl, g^Cs=~k*[4^͖OmTI:/nY㵞1Ls*J`#l neܢ8Wi+xA= pMn?SbZbh`-؁6+ҖtΘ 7 XB[M98h򯠛& jwJ7ɿq/1n^i 1z1MN F_ HĒ?K|M,愆f[ eR SxK¿ec QR+ey h_8khG_=soSs9S[<9^r%Z:k`N<'{>[AkZ&# 9%F-܂ϩ=WC'}k_KRV³ᯌQV $!6n/xzjgu endstream endobj 518 0 obj << /Length 1026 /Filter /FlateDecode >> stream xmKo0 ޡ@wbKE=îv;pCL2bzn>|ܘnxv%p[)OM5ף/ߝ\qh%-p< ~۷k'}r6?F<.oƓOVn<k~I1=9;[ˡy6Rw2)]~C2Dww<_ws1vn<ďqǝ{r?x),9|?\LR`йiߺq߿.I㻦\}𥹢9/85dNrf=KʳXxΈ9&^zz_/e%^I%Юskfy*x7`?J#+ ruAι.Ț낼 \duA\r \WyUb^卼:oy#yuȫF^7꼑Wl8/a9/Qr^8⼐Wyޅlf`;%[mp$[MyX[R+IL6`Yː 9HKvvI6)+Kk ㇹ7+/Qe\G$@if<`F[fĩW诉70O*Ƴx"ÜE)=+b~sN~v?SȆG?r#W?r#7?p>Sfcʥ~dFbw4ψ}}kfGl-?r\q# ?zSf fWKfUM}k5sBoh:0Ν4}{CUNzVcC6&9&jQ,^ktfj)B5&^SkP{MkMC"^+C*^kP{BEքkm V:^LZ"R[=nj lp\u[#CWCi8,ߙ~4?s endstream endobj 520 0 obj << /Length 199 /Filter /FlateDecode >> stream xeϱn1 =OwRϵľ[ Rlkje)oE"<…)G!7]}_i d}=Vn֬yh"]PޑLIQvX7S)7߭flkui7eYmxj)S0q?n?oY 9 #ٍ>oOLVhKJ@ endstream endobj 527 0 obj << /Length 19 /Filter /FlateDecode >> stream x3PHW0Pp2Ac( endstream endobj 568 0 obj << /Length 1232 /Filter /FlateDecode >> stream x]s8+t fХI3nN e@m+@`I|$d?sJ` 8@u(yR7oXg8p }㨽Wa6d |A~$.`auW=pG3 oj%Ƣ~Cj_q4֣Y*,*4nz g0u.oPUl8fhɤ%%ToqUھo&uvgqw%FXV'EJmϣ?9;/4 C6[gւgvUgr>[xܸvŒu1?٬F5\WV&HBǀɖ H&!5?//%(؀#P" ,4Rם endstream endobj 405 0 obj << /Type /ObjStm /N 100 /First 886 /Length 2323 /Filter /FlateDecode >> stream xڵZr8}Wq¥l%x&5I+^<8֑\~i o "ӍH2"8eeSdq99(|ΊqrIq3rB TT!9Q $'Ue$40Z,D)gdtFV)OQ1 WЙ`gvb5X4XX<$xc8Dp{#хs,{[aXT^T k* p w8P 1yHd`Bc Ggb"K'13:Q[x4@C/$f8UJURaO6`ى1!4{Hd`TT+Ǡ9HP$!b$͞=SjdjԬYw>;c̡𥴖r;C:æj<ŶrXᢴMhvmEYsh -r) ySິΛnܶ:,:V^6lQ1ߋLz|omYڲ]>Ù+2.*j>WJvۻ uV])72% n3Ewb~QlUv5L,ځUqV,5gO׽m"vw>X.y`t'가:(tP{EOu\@U|wx 39w1M3/ )F7 57IfI=kZ^ G3_f4+Cn{Qk]8Nzs܏k9"W=sU^veY&G-kb]TUlWdq] w=lEݗ>=Y_5̀"׳+^^C6'E-?7g e5?ڼ4Ϟ'oj~|vVb&9YܮjzqqubMJ`ٽA*~j~j=!jWq~^]l)F=Èa8!ԆΟ/+:6W϶>3gϡ>\ЈiS #f$ZAj囎f PpRA]k )H8&W)ck6y4<t'r(x'ۄ Р M, 9d)3֭Qm'0J(*`B BUN4$uO |?%ƑjbAAT'a6q&YX'z,eӈU?#ZƄ O%6> stream xKwF| *-P-!ŏIO2~H32bp^ Cf{Gy@'!s2rxšC:"?$@8%>ׄ!궆u`^SrZ7ol  \v&~D#AVs;5^Т:8@j|R'fGD24H2$<ӦG;Z+SZIb`dԋ q#E8F 0vޥdٻ^=󍌨Hb"ynmpgR@$u.4^ZS@ѠuA궵zbdQQ|AulBj.M&U$غa q3_d2L %^)M–9쎍]Tv!m4͏t =@ϛ )h&I)'z!U6̑&R cC9Z+onz]2;6fLel%2R+Î&L,U߃C76#l陣GLS˨Ӻ8wJ6UrYFQ_/c&O9-E/bQ뇰 ae\FC}[]76N7 (6N7 f+E7;:syR DvBN 7P$ #)p_DSo^+Ry:.42a#^$֡y+i8uG0%AdlGe^˓݀ ƃAdپS' _yyg,Znh33m{Y5{Yϓe_&} m #4-߶cC>cVLhZ^~vYdss>&T2&bp%ņ]`[G}0q EE@zk0-sSeSPȑ"EEyankU"-\㧦լSp%8L&uB1\Rv 6W*ȶo k4&EU2N92FYMizUF[Y9P&׬ Z-G\ U dEfjȶlNʸ\ְ]̲l\=X*,I=):C[:d9Qr3Or)`2mfqdb@8dօPE 2<9{x -xt!E;]icb׮m]%QجȡG,pƋƻ_ Q<'-8og oTKkwgڪ|r endstream endobj 643 0 obj << /Length 600 /Filter /FlateDecode >> stream xOo0>o)jH˴!K]`@M`*8t;# +FHJثۅ͕wy:`~0Z(+*̐O$qQ FM$%\OY^ FkE`3!F$Bf3ʘk)ZFcߏ|&|hV|na/HT3}[150|72I⑙;T;P֔ EgYHLu{])e$)4:~P(3 Xha#A94L&LRN>!*Ӵ2\5m(|vKٝK= UM^SǑCCXӳMxI]ϻTk&}!8&f~ʊ.3qs:.C\§0%(\SX%f }!םş`YK݋M.ݮ)fmDטޙϬ/PkN@;)$ͦd2JU/#G ñ7%`dץBCc C INq) S\JcL= ! endstream endobj 647 0 obj << /Length 113 /Filter /FlateDecode >> stream x3PHW0Pp2@ Br.WtB PK@B(WH(sr9p黙*XY)01344RIQ,ӌ [, endstream endobj 651 0 obj << /Length 469 /Filter /FlateDecode >> stream xTn0+x$S1A~Jr}jQ\%3$%bStWD3QFD$X %%ϨLbq~hH,AƎvorua©ܐ>C5̠r=24=bTf):H%) ׈]'Ӌ|.(&V-kO[l`/bn`l0 nǽy}ha%ݑm3Dm҇KK~Zګyvf.'T8174""8n5`<=X@_/W?:BQ|Eh6]W&e)dzPav纮8Tʁh x6;v`1?!~TB70j:/tB zIbpcW5ۗV{T!|C1}(Hq!e L endstream endobj 658 0 obj << /Length 193 /Filter /FlateDecode >> stream xڍn@D)擄="Q!  6HT;c6d>*> zDHimG7l/NJۺ<}d#Vv!%n&f̯ϐ>N)r`+60ukwu*W{SVQ/ԓ0T [g~Φi4MnPڦczlLC^ endstream endobj 666 0 obj << /Length 2565 /Filter /FlateDecode >> stream xڭYY۸~_PU#.S̛zkqEJ񋈣h4;/|q%;I'SW~u|/PNl[9Wy{ӋH8%Al(Ncg[:ܧu_yaFY,yIo&qaNvBIDE٫7wؽy1LY7n{PjľɢWN)瞧dCSv?WaJBFޔC_Ʋ7+YI3ʳW{{Aow///:Ĝ7o|XǾ>@t3ч@}@l(+XԦHiԭWcwFjyJIdF8tsVm3_H|L=Q9#֡\mv`;^(eKc~hhB74j/ר4Ԏ^iW^űg B#_QMhFZͭgS4U-連:ث= FOƸ4r=!Ɲ|WɾF^̘(*%"Ao[DTHbr;ޤ(d^yrWiT-KlG8wl'6n>YJ}%^Pai}-5)t};2J݀`&<)F) 'IiѡDwf"Ԯs 5[ueA`hzޒ.nv檕 [j Gl=M$M;~+#x"535Y P |9߄t:thVo+8?Odu$ҡ/ǜ.˸6qO22uK;厃{7'#r:R{6m٠b/kѽ&1 Jsc)8h% RЁqZطZ0jt<"?VέH5S~ 3B &+?ab IjݫZ^(I ͫ]"W/hl0ܐ9`{l8suM@pjxl d_iB|91M4I4,>E 98Hx|N肣/rL0T})Z^j}sM.Dh TZĖ^ MIy$۸ΎŬQ K\:.̜(>odI@׾?,E}\p cs08 e!U}r Ba8En#fhl,Z!'nGD[ 161s=c`oGMF&E;M#ăYDŽ= ҇4񬩭`RRS*RTCI!i < 3D AAfoX]C+ٖg. !c]P7/=l,v*CD SB ezZt(/BREE`.FFM$I2'߷G1ݠ+dZBvY@)`4 ]q=5dmpJkD}8mT hidhg4rp5cz]򦟲{/X' Sq&fˀA7L?5$+WꌴUb,ͯր옐bZ'7!,}zjAJX<-Ě4 RnVdCMf(FYrR̢x#;vO4/o8ڳGwvP;SpWA-S -DdY¶-Z6c /%;k-)W)C)Yn 8l  kzS`%*XO9&ZUizgubU@{Yc2l&}yKGӇ&=\Jj /v79nwR6$x7hy2Zc=|+G+aQSKwvHP`w۹AIq?ؒo<D rmۊ]%O`n`Gٚ4֪ѕHAl˷ tX0p|~g^u^N$n9g2!2OTכW;jy #Y>3X<' EFT4"W=8M _4#/jJ-wi endstream endobj 671 0 obj << /Length 337 /Filter /FlateDecode >> stream xڝ=O0wmv nlCԸiP|qjbrw{s>3(Ol.9h0t*%*4^- BG}قJLp*)W-]} n3஝)XAn `TS;qb, b]#beB9'b6PRmΩ"',upUEMYuHDt}֗MMlnZ02D0OJKnafMy˒~(ϵvG #IQɐrhvMXde6{3Q ?}z_ endstream endobj 679 0 obj << /Length 1769 /Filter /FlateDecode >> stream xڵXK8ϯCndRym[٭$ Z u&~<$dr1rKꗾ~HX̺8c×YZz֒37dVs8zuuoGO}nnzV{.gʬ"=y:|\=[ ?p pciYxƚ] ,pC?B.\^Vg(+']~vui/ !f@"h[٭LU^'l̂菪[UMj+ ZpKȇDJ+\NRt㿓yJw1MfnOs9^(Wj`Dxsc#'ƌ,z hѼܘs70`p<59e͖EE$ǣM"Y_7Վ)k\ю("D27hL(R\ɑi,}J6R d{#NbHn'Ic\C⋴[YA Ru~siUT͹&{ɪ4EkF611LˢJ2݆xbbo׹l' ״Q A_^.oSZdWkT5KTBT-(t4簓jxl,,@^$#StE9[CGL dTдUn?z,nOs( ,h(uJ|ɬʹOZ,[KEy)%?3 @]]qS`6A+6Ac%"J 5H-k(u߂uS0htnLo+I4pzZǂs0'!s+͹t(8*֋yJ~z2 D||f*{ǴdRTOkRBfÏչi>l8NL!9Nb? RѪZdI7#h-8$cȀ,Ke GMU $Me~GJ8i؏ Nwf uWUb0:*6sO4G2ڣkЌ[p}jr5a)}O: BkcÉ;i8#Fyq kO%}Iyw=P@{K3kH0IS&8?Ur@)R5 f=- @'Iԑ",puQ{0orc\އEPc>饺>Yp{il530I,=]ˠک(.Mc߿^]}h|ȥQØhFA4xp5B>8S!HP0T IX15ʶ7(S4K`M3FEݜ^JY9A`?y񢫘 nz,ͤ}׹u7A6D5e6U!tRz 8&/iTAvM1;і^%i2Laur5Ge3V#pT`\j/rjP.G?-/u8F5?ZQpZOx}$Coۥ11jwhA4ai1L8ዖCtM_@8w@x:Jڒ endstream endobj 573 0 obj << /Type /ObjStm /N 100 /First 912 /Length 2679 /Filter /FlateDecode >> stream x[Moϯq}*~56Y $1|ʳFЌbo~}kQ-;A&]X,S.RN.R1WMր6; 1SH6t ^38IIQ I-r(\1E3ȩEju(^Z-8xNǛ:5fN[rZb桵pLq3 ]iZe\X*Qg":a1t0h O1 4E14* *nʊ@* 2BGOd%'V\ "9rNtAG]I|Ed`&*$Gs5(OnUNkV̀**cTȟhP]VJ36`'-\3h4[p-)deĵ Dq TIxrلPxKѓA;5'SBH4Oea R*t9Sr^WЅL)9c u°E: , ]9ƈz.`%;1Q8n)|w{#cKI 41M̀,NVGG;:rLv/~Zt=yٻnӓ޽\' |?ެC|%>Z?W'`.ín^}^T[~_YZ[z109ۛv[m˫]^jW.uyk]^Z׺.]#C\[66˓.O<˓.O<˓.O.[ k~v~wWa?!V%"}}#H%W{<3֭ovW?ܛO>=Ί HHS䅼8)OMY VH*<[,I0~o6I5m0|_!R|kT#a8Z<ͦE8-`"tg(X!tX' g7 o |ό*,1~ btc V}iY}BX.a˦ig6F@ܤ4_dHi|1tcΏ#(ReFa` cqXقL}1@~'iL6? sD0$v"@P聟EZK2f+k|C*ܮ4f+l9P! i_lHVV1?0h*mFVlUQd  AC<"a[>f'Oh ߿㟮+H+r󫳳" Y_|P_>lzlr`9^^^^^%՛qJJJJJjajͲ 6ns ;?g8Y&ѧpDkCH-Q1ʐ',sbjAZZN-~a&vW~L1 <=,=,=,vԖ햷 HSglswvzjf EY?>:ް~ nĘd6IE 8cUDήܡS;|s(@|viUʡYzg~:sڹ~yo!NRQ<|wWڼ'۷B϶ǯ/eyL7x33L nt8ñ '$ *mظ_AաT C6Qe @η8;ރ?W qƄ^t8BabsΎvw?Ԡe endstream endobj 685 0 obj << /Length 2443 /Filter /FlateDecode >> stream xZr+6)Apn{bl˖9@ET=,Kw&2Mj싈%xHR 6.~sHlr?Odssؤ&2?]v׭=ַa ͼJVSG//7?^|B`#]Aٟ.~%0&em,i%|_/)4-d&6ɨ4vu4Y-SUU_h찍ϒ!Fꦥ WiѿmEeH.{:xصF=ѯ,}OhtݍP ~$%8 ~`Dow2 ?83=B*`!L"<0 {j7}ݵԻ44js ۪m;T]iꖷ;-] ڙ3Rў@[w{jL?M\ t3+4ro4xT[9Ӫ/DjLƛGwV0wWZeI' ۪=s34ڟaSFB [pp+=Q5'ew֚%ԎnFSg CǑPC_ԍd[Ͷ +}UjZcgXp~h ›m4Zj=a4,UԭMhtE0:*$ 0L"kt`m܊:~~@2whV$Y>0xxzMQ:dM BY5]xR5P2?XdYV׽ xQ"8Z^񗳮?$.4˯zn!`QGa6>%}\q,C\kN+O, Eepb"u0l o6v]'GI{f~GT_9=ъ>F۫тEDE.6g?i;Vup-i5Ό{|RdP "B̏Իel -QuWDª,|Pr5za}cZs9xDvMci]GhH[gUO[".eXj;unw'M)hÊk 6#䐒td.#ͭXӧw6+wii/?${&ϡkfy8TI6مOFRl5~*QNؒh)َNߛ\U#fBBV(<UݳO 6SF5Fv)mkaDsH7.짿n_oX+g^Eq$SF'ˆeeTRӖi2-gOeg pHeaܘnkqqa2K~0Hae$?nrr$q{irO#94phɝYRYC[M=&5D89&O}>i=1Uߙ8cLC)yr"7 _$ mtW2ƣ'aV(Afh#^L0=qIqpzPeL<֡ 0e .0 qh\ȹE:_{ՠΒ<%A{4n!N\BΐW~/ЁZ q%ļ GB#`l]SMdq+-yko'U 2gkWMI$ Ɠ Ee_)}x5<H ZG,tVgA7M7W-WBAAr|μ~5pA3>"ZK U 0gxyW@$RԽ&1·c:m_vF1ty 5)(Ξ:Gɿ\*ϊ.ԓAwp3*nUUewO4b! .+osui>=V;./s_Tݖ#[5E^QcD}hu퀊gs>;v!Q|B8^3hTzlȍsC^ 𗗉IAKӔ2ꀿSmOĹo8 Q Vb]ƬQ(:iP&Q}8 _mO*&N endstream endobj 690 0 obj << /Length 2676 /Filter /FlateDecode >> stream xZY6~_PUOoCјi_$=Jdј ,pAOE݋han~/!ccHi 箓Wv7 CgGS}B6>'T1T}$}IdI> @UƁGZu=jg~iB#u*!Eŋ.0d,=/ies8H1<#|(Df=bX0/K?MHJDx/x ]C=&<3Ԍȑվ9d*sElND@B bLh;6{}LQ=$߱5G C"g2_gʗ'" AXYsT_c~$/!/x 2"}c3'!g 8ϸ6Nw!c3'EsJOv?f^t3 UZ(>>CǢLJ3"lNtu/sɎ &b  MG2>$\(ap**f"=#C /)j4Ճv 0"NALrkd_2?>yfdoAp7INj7}aX /iw6KʬX ^HcqO;CC`nu9]'|mkAE-&MiLw69,|,^\ , }O'  1'# "Z%úsL%slXlb6Iղ,;8qRW k-q ը/}]kjds,#q455ME-FbJ\آLfUI3t1Tv_B|/V۱T?sdT':ΛG$NNNYd*NOUssiip\ر*Uȱcr8+3ܦ)5u+jjfԺ4^iU~Kʬ/i1 mg )<Zydɏۅ,^@}RPJkwԥF3 < -[M}F08>alDa yY3 Gx@$5΋>4g\_~0>]!tN~vaR؆z ~ԏf).wwc1hC w|Ց?W%y?_{??nGYc2g@b5>]rtt endstream endobj 696 0 obj << /Length 2047 /Filter /FlateDecode >> stream xڭY_6O1UYB8/$ugR˃4;VK q"ZR{wp{M,i@E32-sF<߈$4}* ߙD ׷78*(7A di:xDSSQpƥ"? E-}b?V΋7*,B8]^|3hv# sٹ#¹CҸ>: qc{'zE;es#J*bWų(I= L`װkřqퟰHݞLbF͑.z(&;,F.֣cvZ"YזYdm 0s\H*T)o{!YR&q_<7=6O| `mf Ećĸ;; Ėt;z1E;.%hO&3-N!\,bRse_ p&}m+z@Gj? Lx TR+HzH9#flw @I$k21,WU$,'Ѵ,FTWB9(} Ods@.lۉ9u$hm TW `N3GZV}ѾB%s捡Z<0q43R4Ub%PJ5zwլ9s ԅ:m-JwwG7D\7PT@\PxR@GY ]pP@Ane ӕ8#V;- /ap[0*M6w̗dO9mce$2UF*H͚f&*JulOԓXWUYW ƿOEξG!TDD^,‰TXr->+6 ORd4L}Iُ&6# ;:{LcgM6\(Sa'¢?kO.ř44aWU_2g¾uB;UەT^`i1slоЎ D8wwo٤ E4 >2c-}T?H"ؗAF7fQ ;oP䭌TT"`b1_>3q}P?گ.eV\sxuЧ G,io .  !$҃r)_9 endstream endobj 700 0 obj << /Length 2526 /Filter /FlateDecode >> stream x]s6ݿBӗD[%2*1Hە'G¡ <:adW6-rqwO5^`ߒi4dM"3sRhVDZ?c g)T/*#)hqydnMFB˛M= 4>n'3Uv{>~b062ᖦ_&B>Kk_IY >9Sm XWw[^6sOpᝍ29;9pN<.< .UV2M0r4یb?nY@ r$3~X@+5>|c&dNLL~E:̗w|}/8xqXlLNf5"/#t``eW)Zɟo(."n9 Nz,"RP*vaq% rOXmVA`8FI\ڪ)!B2Rt{FK)0RKY).]VY!Ėm@w&L7pEۺ68I}cN^W ( =:*q?q0:}$Jq8 ҳ endstream endobj 706 0 obj << /Length 3191 /Filter /FlateDecode >> stream xڵZm bxe/rn7z! ͌w===I~}Ie75 p)(>$%XVb_\~D",8[?x'*L ߯wnEiA_!W۲.u_K&a?yq}ߋċUD0jxXJP'J27Miɴנ:QwB&5A*w= GصѺj>E7k)x d9C3i?WLҩkM$N?4T5 nY`ݶѧdn<ҳqQz#eܰa@s6[DQX)9=윌%"E9( }Op'X*ÂE1iT/nqM4ZKrL4e˫Ma М9$=,wЇskͦm88t4ƕlEҔZt3kzȽf &n5-CoyX&V θ>-8x#4rB zBǶ(lR_Ԟy#fp F~ۚ}~d×Dfט0cxgPfu ݊џ`ZJӐaGj4tCc ceaO?b'Däp/،"CN>UCoq} PVT0xbzzfI K30/*S%8 nAshDNTp ifspHiv-"tsc r Ҽte_UHNU֔`d[3lQڶ=?:^B.^~lN% 9$oM)X(I dn}d,PL! jGùnЪq "<4X6gV/khvn5 վd[ImV]R譞N|qigU ][oamh?k(i>oݘmLmp[9մy06q1~e0^wZem19Ix;p1ʾExG 5H..͋X2˲Wq1@ǭ%q ހf(928x\0k! @V@g;ϣ: og-d$CK'0Wf%2-xwݺH\ Ho)Zd:$zWR~ !SSnK0JR,霭Fx6jhx|@6[ Kſ# Kt]U˳QUAa]*L%)/┭P wi!^uLIU(0Gxej 0{f u6>"U "_fH-ͶHGT|q "G^|qj8 88-x %=J<^VxŹӜ#T[$ՠ9VIZE+cM!KL6NY6w36i9:yԒGWsʦ2Wsoia2Kh(88NH+2@@k̬Y *&EnVq]Yٛc[ bĐ/O;<ϷN'laC(T7, K#kkww왡߶q)lQ2|^H?Seo>ܒ)HEs4[209hȩͩi>7J$ph/j tlk-nflߤ}qbY8g5bCݐ&})!1[wWV0C;g@泏}%p ԬԮq1Sqⴈ0,xG, `J^LJ[x/G҆.i/}C37 c %1M3Y6tӔM ɟ'Uf`Q.S3'1Z2@5eO7D>;˂]>sߍٮ`gr=Ԕo.cC &̜u6W|93şO/aZ8-zB]*/RnVEX=/|G{D㞫~Q6U4]r0 N ~  e(5$Ч5QL&ޛ~ք gx#bj0H "K,i(m$fL#y[Isg3ZKV!Su)Fruq^{_9Zج*矲˺ږE*x0%e-'_ S8ՏPQumqd{ _ T_eaU$Uૣ>l4B+K#7]{0׸x!>f+ endstream endobj 710 0 obj << /Length 2634 /Filter /FlateDecode >> stream xڭrܸ]_1y >RY;8kRB3,c.گO$o/l4(s//._`EME VY6w5]{_A->,>)x'!`1 /~"+MB@6O7>|sgN8Wn.uOɋ yW3?ʐ7pw{3J Q;|R ܺ^ոJU}@Rm&\uI7X(š9}7;{{`]?g7%$ b+aM|OWx3,PH/P8_(9+"2Mu$tkşn*)Bg+wk\.鉤ߕ:ѵHڋ{)|D=7P1K#JCiJ@[ 3lSiEi._ePgI]o : XG#~JsNfXМ5-uč_į@˜)E'^s368B`uPVEVäO4zz*R5hÎ"yVԽ7/ \-$=TKj-s[ԉ^7B59Y!E:r2Z(,/)Z7%F&[ k< Ӏ|yg-[k{6!Y$E!}T'2% ɅՊ;ވ7gեh( F8*#*RKV(ƙyu0F@{E gOc>< LDX^rt pm9'u 9Yªi)D;|7:sbB1|FڙwJ[o{ `FBY qm'ƛz| O] `Tǂ>O%tʢ~nJRZL;/9B:w}6qzL6BmE'u~E}KiO  ¼} I4>NI7%RRѾAJur@S6H*^y}\ӍD_#WI>c]U' A$V11F8e5ݡPf9tz׭@ p1D!.iMx7 N3&`_X=IIIl7(iֶ>@]NxBޚ$B IumزX/lYO:A_kjz˝䴋EgzsI+-Ua5ax&:nNjPd"R'GIAt^5h}mF5,#2ә'M-V$,t52AOVup4%;rk BL̂,Z)(M̥[5`QQ̺5arp~-Y$]ӓ,]I2B;ܵ`G)K{NԤ8{֊KL98X Ή| 2gH[q@˚vA Y07~uS]tsr:ߋ8 j47&fޭ8h`NK"-E$: KnʑK]O!.!tX8x 0j Ԕf:pU>qrՆT$fe6 |okzjEj%IfE~un1CNrp;6r~$*!ӴaJ/$E1(B:/xٗ?ct" pLa^a'I?TB^&%SR#bBH5!T 6ʃeh n&(LfY< Or]f-!ynrCĂdy3Wj&+?ڔ8 X\yNc1pyе".G["vKȜzJnMq<[TKvл.V bp%P14VU,,W~E԰cGT}$~Nq_yl>3r o pD>Ӊ]XbV5n$C1&Ҳ@`ȱmpsXfƎz[qr:J@p,fW=[03c*sV_.Xs_{ZE{!tJ@Q5ao,ng2 gu8,8uz5oȒEJ" $TvDUt:~x$.o7Nq]'"8Ti\x/D_ [T'f8IY1W`Id endstream endobj 715 0 obj << /Length 2371 /Filter /FlateDecode >> stream xڭZ[o:~ϯ@ŒXÞ6]`tc,zBX[[r$9n5CIK"5~3݌u;_^8[g7-'gqǝ|W^(vnm693?/\^_g,l2x3ijc7k7~.82qRY 'o ng\F jz_f 8wV鼇.2Z|>sł+saqkNE!Y"f2Q*} ]_1YJGN3%w۹ *4՗wW,^l`y. R77W݆GOBhi79^ M@)^j7MQ}^ekS'sEH3P4 'şUۥe7[XO]N[Uێ|hs;AoʑkzڑLxSGZU]Yu+ YuE{2B1n#D-8ȎlE_\ۼǢX5 {O0Iݦ@|j-^FҲN<Zcf~X5 'Acba [4#+65A+=`pF}jOir <2h0W|C!': j\W8 l (7Jy‘ćEJU )աwdmRkz%gwMq)xWmNGgEH8cH{3 $) vm[*2b(~:U9lV 2( Wz~qݦ'R:mɻh b7DhWzYxۜ[~ӕdcfťx]=y{Ix"fR h7hwMS:*mq)z`=¼WxF:yHKizɺqbdֿx-ԡ!hو#( Mۧ ;[#%`KpuAF2B~YXT0Xsx&`wnGa"C*;$Q뇟2*AeؑͅӍ`51҄sPTMl.Uxb-4?P2;El%?B K)ÓS'ACs"tbd]WF,BQ3#+\6-VšPcL@r˭'ir2 v[GBn NIO{o&2q|&U:aBz>:ojtn~MߊmuҼ> KByR~OWl֝]\Hݼ 񴽶D/JK&Ʀ]U<`҈j5`]nܢuCɰyq~qdB7h8Xⴛ3 f4guw`C]P|\&iI"*EU@F_Cg ~"7R26/+ = .Hri-lae|x6JoU pjҩɪ)ƺvSs%)L c 6e-e0AJFW%|Z+vQ3('nn̬J9wYGpq}Cx媝r91} DEFvB'1*eo3?WMR :oQߕNdͨ{!nF5>"&f bolcII}$ ෕T2뙟̞yCIdI O!%̗F%oSe"R#:OMJx ;𓝑Bcٹo9 yBjQ=s TMiE_xD"xn1 cM$2I8J"5a+ Ib8q8bid,<W%Ɋt!Lȴ궷(T#뒚@</zY0ӛ7K t=ٝ!oGH棺"`i4uZ3-0`zBV{tbLW5m`a\!V=W1*O>hvR'YYB}<gzyvS@zZ\8{sBCM1!( O}&9Ŏ /8C]̮j%aK endstream endobj 720 0 obj << /Length 3197 /Filter /FlateDecode >> stream xڥZ[ ~?/3k.)RMvn'dd[X,9 @Ie=- %W+wJEaeDTf F|O8Yy*xݛ_,!Wj@ΈXƫÏruoVR4Y=Q/WNNɄ=:&־(~Ag>=rz̪MSh}WL3wV"lAjSUv-@op^oxmuߝzrP(thu%60H8^|_<8x[\p RXDR" CZj&zQ[LT%==ä&ǢjQ] rph[ a튩϶ `P:N;>|Xpxg5'CDxM$ݿhfqoˍB駷fak@Qh*x=lv{2j6? 2f.Zj2z4 %cB1)Es꼭o vVy~ 5 6YQ_ . juݴ ^vZcGFI{vr@ߔk{/+ۚzydb5yuST?r-fgsZ3!x3v~"})rKn;m@-v 'ƚ"1yxHwӡ [j Аĝ^uq8P|+m*A۟yu6aYw-; #bdX9=6Zvn l8-f?/\J~ɮDny}~th|]'vs;Wz7 6d,MDM^L=1`/ EY1?UeI gh%k~TDp^BL礳sԗ4D/?,S n TMmlgݼb-HV9h)b"HNYC^2qrH mk'a!vՒQ 6jHMlL^/:dFǺ>Pssv6!9ڃ(&6i1ĒL& ġcEb)1Ltբ }@AI$0,^_L8@&RFZ#p#q0h:`y_eHĩn8-Hed1~^y l%!9J)^%s#Ü(waM Gӫ`\FT"]P]PSjǼZ5-d4LFs&1Wb҃1Qp':QB+ 'pP66Dze# F20>X1|LuȚurdc^4S%dWXl-*IڂK 63&p)u-{caǞ`~,*vCLMD;P87 [U0DlQ}c׶\S';)$XZ$Y5.nNmnTD^10ĪH@m#"JHA0!^ޒcݗPPM$w C ޶#d-d5z3F}be'ZoK7⿵ yzފ[&%xӑZ?h2Z|*f "u5Vdk{-xƆx8rv ja\+K`H-8~t #qb;>]( `e8L'(27+JD x0rrRM5h HG/G6;|gH`^w ! [#P@V,K:Aތb(6T7X1߶*yR Ϯ`\=)vr we_(Lx6;;4c ܕb%Z!%u(.P^֌<!P6$DC5*!̧cͧ\M=biΛ;hֺyc}`h /c&J08kG/>l2EC2a$`@`P endstream endobj 725 0 obj << /Length 2808 /Filter /FlateDecode >> stream xڭZ[s:~ϯS눺kvfgiLOm}%:V.M{~HIri/1 *va/^ O,b+`q]""ˋMڱ_W_=B-B&97Y)xyϘaxhZ+}2$]^Wu`du]RP-Z~]lxCi]yhRfVP-WʪYBkJb.Ңdm:ܒh%Z4 XYó]+6~&Vs+{6#iy(zuyvz3' -;te8WNψsKFŇ&0~q@ߪ/7lQ-( wXNK:3@[^dL7g̙s-a|ZU'YDd4F^iM4jFu8P__G秱ώUVup)qSg8q'H8]/DzaH몒)_o* ǎZ۷UWrH{ < R9G !L& vMH@д>^F3|穂of_)Zy,i֣)ckd ͛U/ן*eU&1ge[}-:mrpwce{gWxZ^;Di}+Vfjp<+؛ԥǎ E}QzkzFCY%DԢN2  '\Gh%_e5ʮfV3 S[)Tbu ҠCbg@E^?wog "KD& t$E[kUɦN}}MP&|m9h  8x͊X+)yӨ?P.VAeJQ_3:$g9.pU SD\U>Jp̸+ Yܝ$/c<)Uşc̏h%bqSVNFuތRxya(s//&vl0Wp;jPWp"0[>U՜FʽK96A  @EZVOh 4pc/Έ!=P-GH'y.Iòrۦ.gco0OpQcf(ӱh/S9Ks&qJCJzeM( e8}d%~fRF(s ~Y+2bnKN U8DpJrYС7_!;#@c#ytFޔ>kH8$;7&loH#cPrvx},ՀzұUjqk98`TD溯GywW3խ~b*rdvL vi>sFgF!TAa=E@86@cl),k2H^`J(:dW*[lƃI_JH<98dD)802d~y!+ uG纂m!PUR(Ty>IB<B9Ѻf6LH MiR -UΙ7a TF\<WP I#zfb1OmW:QH!LFopCmVd*)y1/Eհ!: oMoIE;Ħy8t!/(kT߬&dxy|UMhE{ ĝ%־ms_tR~ E;WP7WחJ!*]!@E$0˷[V{_/._ : l:3Z DZ0˷/߼z~<'|RXXnOkgo/n.߼~9]B)#nB"ab[/l@ FWX1 JVϓ؍(ʰt:EAכ\3A/Vo|?i,u:Z*04JoJ=ɟbK8HMS W{ frn_t,xi[`R嗧xh_w`]:TAcC 5t"4ɐ΍72,&-?y QŜO:n1~筩4R?"2d٣{q`icpBu@gP'ܷQOӱ tjF Ym+ Bg}<(~a!:}|4#zdfUt t==n7a 7?>80#k|_ژ?ϱF7;gdBrF'US= endstream endobj 729 0 obj << /Length 2513 /Filter /FlateDecode >> stream xڽZYs8~JU! :c$rIh2[Nn >g^͢8rvu_@& q+f^ Rz_DbE/5|0"h<`)ij(w<, e|hѹ2:NP_@afw^}T+8$&I|^_Tv[+P̃Uv($r_ޟe4 ARoO\]\frp:[y}w[iȪ3j/dkY}S/eʕX,}ϔG%C+ׇjf?ٻ?2TQ2oMCzwl3vi;|B2n 6)P `׭4]Ckq6>/3ڃū.5m p 2]՘xa~Wƛ*L/CJ_6eqfT (yZ4TY-j?༈)C,b…9Pp2FC:`bǎξn=BHP,K^qԻ}޶1%1=)XDzL/>N  < hv ްK]qPݛ/}%$d:LS X8l%gc`ΨW"[%Y+(֐ӼZ%Mr(1>SA%#pFhB2F= rae){;/i*{㊬m3.\{,͒<[\6@,-BFmh$c'&M0ᠩ#DjXOT0A*IgѸ\Ao 6,p(%>#%Vv2f/G/5AsH(i 0ycaZP[jU#AxÈW^ "zTfgD!#oϮxxw~iFs("' ƫaO4 .Oߺ,(Mso:<Sn9:/¹P-i]ZrY9fs݌%pz+)b6GzI7(ɉ#5(%cǦ/k[8m.0j}HU~2:gIOYE1B?2vn\fAW*Z;[ݼ:x}5dh#1BS8}v n^ӥS)<$V>l30CsDL'Ϋp4UvLO;qY'qs%6dw;aw)],ϕG?1# >5Å椢 {-T!̟_[NkQ7B#3dl`s]C0bgZz?[)Iӊ*!xq™3?]+| FMb(YՖ&p\2IC% (;3$ݿrJ[qX,~:8B[{|t[EWDG#ML_PuA>yә~]FGZhЎ[]=zVp(cӑ,r 諾wRCFây P6UN(k0j_2Rf]\nOQVz7MFW;:΅NJ`S13Eh M¡Mȍ,YQl6ҝZ-6[,hO*ɕY#߫hdc?mk.X s++i. 0xN[tUc;gִ;Kܣ+X5js351Um %(GK"SjR=XA(I'@C=~a< lAe v^W.9TYC endstream endobj 733 0 obj << /Length 2269 /Filter /FlateDecode >> stream xْܶ}o40H*IJr%ywKV0$f6}J}Xh>0987߾ <'eiGމ}'¹ϝw]l>w6^ >=8qoUdhⱀy7/o>x; Xc';ݼ{ϝֿw8i\4 sw &kg\ZQmm^ ++ycq8hƲ+@@1$dcNW5}s%sU-̩vVl~ -]+AYN깨[}v&2oĭ4 I[Jf!}Gʋ"eYnPkV|5aAu<,%/*sKC슮)o㷾PpQ6HT|fxe8,U%Oh jОUV A/ISBXAwD0!^@MSPiԹV QbKqۗq8!>gAPL:L@O}[_3Ll<0\".,etQsENC#YYM#FR%`dA-0!))XծpGp]8b* bI ]UVѫ( 3mef5@>`Mm d>]X_:~i<gD2O?Jl0h&I8:P}+aOvVs{}E3E+`CR@`;d[;]^ 7Ib}30NYEsCڔr9'TE4)kGtV`h[ I i#IG/iL1f^UۗCF Z{U3\I|YD&l@*,0\6b` P(JfuOgZbFEZLxzE&;m_@p ym*CWRb>bF]!O4e#M$40ʄ3It&9`g1hx4htOT:8F)D<XpN!rzɵnV*KrukX4wV2HS>4S X6e)TgQiRTz{ V䐝lTV}Ҙ+7v-.0wO6 *I<"_6$eG6穭mW@.'lN`ivruc`af<IGff ɂp̏bϏPQ8}Hr82@;JKu\|B51%o;?:Lib!jgZgD:n$z*| _;Ie: 6P҄Ό6gzZ3gVuתt Pn}nE^kǬ:8RzN}zٯd2D:ZtGCtqՃ4ni#L19 !fv }ĶݗNmLU_# us:sE6oӊPGYKµ񍢴k2(FS1~+Bj^sL[R+3DrN^|=>_pTi ~5}Tyb (Z PU=y4;Ǣo՞SmvLs͚f&6Km-,XeqtڼS={m5P&:WxU9KX+*#`)fmi듢=j!Ks61 2TgMMwPm`<آl윆ͺ-HA-8.z d @ݗwRXᚢn.m+[B` v~R "mgˢ5sرQfzK>NFMc#ȴ~$"<狐:L̒ľﱀEszLw̠g/~y}:|Ƌ„$1/\uf7K_t߭< &Wo^߭A=5ƽ_AoT/no?|kbX0 ^|^ 5hnR~Z--3z^t?C3(m]yj\f endstream endobj 737 0 obj << /Length 2411 /Filter /FlateDecode >> stream xڵrF]_1oT4cQ$GGR٣adxHv~P־h q6^8م+ pu]g,cOuhlvmqvCaQlH;A/[Ntɟ'laU9ߊhO>~W9Yٖī{_a cڜfl^l`CYp|$ؖE$O盳Wחo^K=]D2b^-~‹5D/PLPC` c4XLlwKAK7k6м1kDV ^FR-|ԸԦ}Qӷ:~.k@K6 4 }3QtU'*5sЃAxc{[RD&t+ BҜi)L,O,? Fn2<}ۨqUYqKqHJaaHQԤ_;Rc/݄c(kqVہ8p?~|%M8&DX}&J(Y(0s'EC.Y7[ƢY]1F^e,=IS+ͳ*Q/ ΓY8Bonw<ǫ?,ىoy?"δoJEu;=ǹJň?Ya'.qFF$ha^C1Ć-gB)P[ILE6&i^h䐠l&,dY_Ыs k%$L'sy߉/)H]݉c|*CE.vb CiS)˱iGPczߤ~rƵiQa+=wN wg&&wl{d$b?? ;0Niu/Cί6yM7"v$jj17c& @K>T&Y Vdf$`LiX@a^TzeAj7c0L֤=wPEKtۘC ӿyJ)xhݻŀϿDWoN $hzAoU,QC/Õ( 28޼Lu, p)ѓ* Њ|r)=5Rn!/(V)KzS<,\:k9 "ܣP^^۾YTcY'ZT}C)=vv]+zz'm%^Uhj Vj)Ũ@|3N*4W]~QfߦUW$~ E*v.nv1-I%S+o|Amo|AoA9U8q<؛ܑ/*ֲ]F']7 N@ޕ.(b (cI''HS₝%LNT*ĽVA;\X*ažU\&K- cFSV5o ~ ˈ,bPK'%xwoX2|_G79;DŽ='+`>%@ < g5`!L/'=D} UO 92 &à 0rfq*^y_)zJ_7Z9Oѯ+Ճ:=L?Eh"On~X Ǥh_wwq7Vk3edz%7oTcهe'3_*g endstream endobj 741 0 obj << /Length 1398 /Filter /FlateDecode >> stream xXIo8W2 wJv"E% fb+1Ȳy\Zv4!4-#(戠ə(ġb MfH }^јfD0W0E*vzcap: (Dh4] h< нZ"ht9: 4)"D6]S+*rJ! 8NwDܙ9Rz3JB+?A1586):?XHRk`^RjH4NaX?W0mm&O52el1S+P0_g.4ϰ[j4RChhlj w2cbBMK&ړHIDf2t'69ce 9Jٚ]홛Ts.ܽ=soNqZQ:Ѽ_jKƲ LqoB;9s#.Y strƃ6,G !p B 7o<*^&шDV栺S`4hϝ@C6[E%n% Q:F^ QRopY0 ]$1!=тYV8sj}5U&8Nn~ḷONYG? u]%1ceVNչI{% 0rlxrjJPܰ"D E0c&~ DRϋÿNٗc"A,m3"O[q]S&M)_2vdž)-? <2jL59FI.Ł}gL~tTj{k83IA kVi*EZ4]4LX Q^[B1nbL*ekJzȬC;}Ge,ѽRE1 '^QH}J9޷o.?z%iat3Jls,U/qHf} I=e4ĔI&ߙZIn5:#+jܘ߲P feyT-䯳)N6߰R6RDP/ "˻)DolX7 {׬w#J Tz1Q_6?ǽܞ=o=FIU.W%` :y߾T>m #^87*WVѣ栂b_C,+ x۪ZWtOlW^3ixN8/`K]s(Gk!J+t5]ޒ<=nJ3Z&d#;jg]0}*1|wݎ{Լkݗ/K%¾ONKa r.R endstream endobj 745 0 obj << /Length 921 /Filter /FlateDecode >> stream xڭs8W3Ew$MidP1W~'L %&d3vj `vvNu\#Xc Gc#/j[[{ QYr{#_xse,L= @l!zFϾ|F,_`n#s~z{.-o/?%b@j`g<в>bF x׺ syDΙ2?! "nAx?Hc(^F {d#Γӭ%X.ˋ J/asR(;˴BPOTvKTAN5&א;y/{^~X~[],wiBX D,\ȣW"Ygs]H/ݪY܊j+^r ֓([.5'ROXܬ&$nn"JI7 qYDSV~{C'ȳ-ZO8wet"PIۦ%%xTqj>7N~cSˋeX8U4|oow{ഏ8R"/'_wKie,%~r޾m˓A |k"? endstream endobj 750 0 obj << /Length 281 /Filter /FlateDecode >> stream xڍMO0 >&͜Nzvh6*'miNql{@x"9Y,]*Sw`%Xq%lzX"0ԳBf|\sa6_ǜ|#8Nsj"!e9wՠ,Xhxh Q Ge#b|Wm3-*I]HΘ(l8/Uci[)2~ҜkFs̓hɅY"KTӇ 8KRn-6 - ey endstream endobj 754 0 obj << /Length 3096 /Filter /FlateDecode >> stream xڵْ}oDʑَhTRP8ڿO_ %vUR[Źz{zz;o͝'w ZovKFA;Wwv9,wU8=סenxمrSOw9ջOoi }ܓIv?p3x뽊?ݫ8A{\P Mp #?IyD>>;~>C.}{x@Rs`|B\fxAc/pgL=2Yp5ܹCiY0E` "</KӻC<_{5"ĕ'.X=p!&Ƙݢ8vF#t/gx|xH(\A)7Dgκէ,`3:#K Č+(7 ,[ ^5?1x|m-.q&"f8O<9ֳ0q7J-1ѧ&N\X2i /#j \T8bؼ1=c;-}F|Cà'cqh9E_c!H۱snvs@ hjJA!*R {t&XbȐ5g>#gˢ6<_e,K<O9a%|npY@K9xA qP.oݶ Y.0uGҁK6h~9bC:)U ds538tv2`FPР YFpQeYN,J;: 8CנKat !u'@"A 04-ш4dL dQB\,tNg#LLT{޸^]Qjg'tM%zb53.E.n8 ZBm t\Ҏҁ' (+,Ҧ(_]a<" &CwG^WGڨXOKcq6O)j{0ċ3\Gw|2ĕ5G/*8({6:"b-)GHrQ1'M8νU-^WAqgX vc[863So!Wӱq)ip(~SqRE)[Fhs4t nQinf>#IصB8_E;9$'zX ?kـL_z0 ?.SmٚnFqkkeZB >xk!i8" Dp4W1(q1z![hH%k9[k'hjvV9|ZƐ{cC#XNd5.v$Tcڮ\sѢMs]'ȖuH@k7KƱ3eUH1j`IakDr5Lff#l;yևA*~m((ꁋh2'ʛJSQV*C`^;l >g|P +{M 0v ]Δ`y-28ooR E66H"Tv*z`\?7ծgyV(fֈ7X^n< v"|YJ*#˕xc/ ;T׃FMśRP%Me=n녓[aJvx39[ϳ5M;02Iީż4 #cs2@s&:oR( ՞[zv?ĭGSlQ3MhAOI:VD6 cJm G,Z^&6{ ^"LIIpS5F'b8)bPΦ6pjSЏ7J8 ַ}s"[ $hS~} ~sQZ܃X瑞rguKeC԰Ҥ._Lk  6KI_yNg}#*طšR0[2f2.Dd_~;@o&B$BRep/@ն~HmR#Gɖu i6.r~I쨰aoȍc.9 >`Q 럽RX%ALkY;U$#~ !-8mes(,A|Zb!,aPkZRzGᲖd8DӖpE3 -WHSb y1EKm%[8V7$-Z]`ѿ`пȗ(rhMȃ/\ˆtpXAʵEQ'Nno߅2_ݒ74@ϴ endstream endobj 682 0 obj << /Type /ObjStm /N 100 /First 858 /Length 1418 /Filter /FlateDecode >> stream xXk7~߿B/E+if4R1i֘:GjLl{kG=v?47f7K1Rq1fGE%X&KdUGŽ wVI+~_NN+"Vq5G\ŀC])`\i.+<j>qC0q1#8 *K{pQ0&VTࢪM t1srKIl#Ua3P``Ť$OƣlbQi7)I *◊P1bkį)Bc4GDv38x1N| bIDP/^=, 8dp1А $X̀)pE8eXtSfŲ@*DFY "\Ͱ,, "\c"D -""ZeHJ -A j L82Ò!KR3LuƒT)䫂&ó@TT-:!T1lL 7;:$#[{_~  ֗ߟvތ3QB<#9,miܸK5Dr<7;:r1u38FnX[vsrs'VwWX뷫{X\nV5iGwbۢ$üޢPMyۡ蛅?7LE?70TmdxP5L/¯4 .! pRy}n9K%}+/e<G80m33c2F4]%Bf4Ls.έ:3jm{ ksD-\-/9+Oc)aMjeY5G1xF%1yTm\J8siT} MW'Rc*\+\g*s0^T%]Lb' y<o iX3 =&xġj{_9FcKLuG?Z7pu2\wj;  xM:0T8D# ')P//c]h?:۝o݇͟~;`amo>ߧ%swX2bLۯm;.irNJWM\6./Ԟ_(|M4/?F8p*=X,%m9)g<^S{,V{&n`v[8;j'٧7Tn_+qt]4yJpɇ}Uk(z2yO Y`N]q񈋯eZJsY~œ$-Khޒ6CZ`E endstream endobj 759 0 obj << /Length 3286 /Filter /FlateDecode >> stream x[Ys~ׯ\AoJ*q^-js񐳲} XՖXC4\ݮ_.wVȝvUẄ́jathpuy o~4[[eѕTP ^tϋ/.~P^"j'+)L}ʺ 7r<5ͦ&5eq4rsHz[`åvDjzw%#~]}Ypi5E{wT)~m,}}.Xګw8m6t,Jx;%[7Ş[}6}QE6>iN;cIݮYfl؞O0W lX!5_[ICe"w0xqkR]2ݰ 3<0%3MI m6 LP5cc]~ҽ.{/ܞhFA>nCЮO)xmY3vP%xevi42*R̳Y 0Yhm{wzda :x7<m#AS4#b]6oP{~ [m(Re( Dgo[COfE0(yNz׌'ꩧf 9-cPx7/zeiw栓l6*1v Uqjvq &wɛ*tKip6XXC*2D cM#C5(^Ba+ZbKsЀjId<]]<^Մ)IaWlmDnC%Gm]cPt]A7vhI9xyiD (THFuB-0Qpyy&L&j#G}bcKO^s{2;0q2fJ'*Vrkf׬}1(hx G;&x!X=7D?]ZF7Fx;n]g::8=JZ[π[;K%Olf](#2=OS#[$ag&L~L?D|xRZ& PD5!IǒN @C"42(☑u,;RO0^'JG Ih@ (@ NyKq&2r4,űP\YHe41W6-YNN2Uka!b!G'9om2Q=Sgi.ݡU?f3eV4RXȩYќ*:8hG͋&Jo='ix_b`q-kC3;GƉ,q AEfyg 'ON<8זِɲKFЛx{?0ޒP ]hoz4)ꎇ@(jVt˳(ḄC:ƻ̅n6Z81%6*eUFw[;Ƣb1j,sC,#8:eXgLzryAa*vԆ3Рc!1ʃSxn3 :Q^?*޿6E! 󾢤FP,.% f@0a}@ǟcl̊M]8LDnBcRY}K74wMz Idlž~$R4㰘=F~| '41%&c(0áJG$xٶͶƐ]Q9:_5s%w1E.HSd룹%Xp.} dR5O}[Cmqˮ i'  ˱S*Xo?݋_jw1+`r9M|D Bu6k endstream endobj 763 0 obj << /Length 1759 /Filter /FlateDecode >> stream xX[O8~Wm3c|URXQն E1mfB i_RJYxy>>"o[ζv% Q1y /)Jypɔz¢POkXH.uh3aDLNgf[߶ $Ih䋭Sa}@PipQ-0-j#aYPƽ/AL!cx)c t:>]Hp2( ?M yPi0在Dm>~Z/m Qn3F\K›4ҌU[TˬDQ;I4dLd@R'5=ˊQU1$#xix \QˬVFկ4#%#{G8å [TI5Dh58[-(Сt_fH{=y&/nrU;N9 ̌"#Un"+FO >}T(T4~h`̆fq*02"&"M"bea$.Qgڌzqs=@XX,/~UUc 3H8\en,V囕et2?ӭ!x Km\w4WTƬBv#%D PUYcY߲[F*uL"ܖkCdmKٿ nwdqOS!6a8qkSB1,,0A87,6w6uf-DF rǜjC.SdHo!t ]euk}>pviiNpߋJ8>kхfFj䮒d{ye5{L!nGؔpit؂ҸO.f9AAÝAr[qpϮIRwpf%biR@Yk o`wLʬee hS몶a 7hi͌IZyI/mߍ9K K/*z bJ3+ݶPrSalƄ~{ !9d=ΜkWњWj%z&h 3EJeMч\ցOݥ,C%jX "FEMsh#݋ z܆TÿD6/zSX :+?e%Q]9i7as|8;esmR;~})i?̯ vYfw][Z8XC2<7c 6G @{0.J)OI$$>Ulc/ab$EFFp%8|Hp~A`&$QEEd'j> ]//OJ'ѯО0@Mhg[?<)(6΁ƷӜt?:& T,;X`u4Wb)8Rt FQ?C Sb^"r 6r-] . e͙({_˪nbS9&7NݮD㌏9T-=e6}AFbi`LJTI(21 UmVG*֣£ ckG\,^ o_r endstream endobj 767 0 obj << /Length 1913 /Filter /FlateDecode >> stream xYKs6WxlJ.UtrrHH!9!G֕A FE4pśEut}%*Ƿ>Й}xR#{ %{17pU-40oxA38qHf| 'Y(h$}alL)"ʏz4׏HsRI;9slzG@Mzl?[p HCy4o-O _j: C4D Kqfv=P%D+P<:c\w.d_s'A 5xaixj&>}l)$VJm[{Sc9Q,и'>5(_Z+SHO Nѥ8}MÖ NՉSk3DZ38Bao'_[ZL–6 (C/|bHO10R@ i4݅,onH6m>mחb_XƙQ5v ww73DjȐ< 6w+W)=Зd|9K^R|!3󅃔Cԩ%"lCN XvU!dHݸ85 Úü/|S"Vd):ˠ*=`೶dzP28u*r伜sE_!p~(^۰O/UD:rW"2 0$w@-eaG[J%/_^>UH\`FT?܁GqRFMaʹ]PJO> stream xZ_s6isYIIt&MO:MnitWr H;Nj?X$ pglΞT"0Ql%%VR 6MS߬X +h}x $ /}uSL$6ߝoޟ X"H"X“ ?[p&MXC৳ϸS3iew ]^ ɴ0Alhp۬I4$,"&Fav@LqbF"Ekd_q<~\/n>Ӈ۽^?=F塑w6iȰ0V0ְ܍ 20ݑnb q%2!+퇛pp57"рFk 8UhO<!Hb6h[fY+_]N~ogGbY'KIXqB\C]7۲:7#h+4WyֺyqKĂ4$Zy~?o^KS<V! _]њU=lskni_f&oV6e[~mvp]˟ᠬr'hc&A 6$S$b|VLcǚO ) T7tAayWԬ8?o^xh9$LN_w.$p@7`-m|VF !! \=;Xp+*Ll}{ȥTʊT TF),ݮVE6\F^=MnmO3q(L@VL2BhO'6m=g"h0ɵ?7G-"Y|Mn{{7hX7M|hbғx$v@>SX arc *Mm@eJX }sژNmTgAndUy (Nyܫ2hS $R w[cnzu?D&c'aaC0PUF\ͻ~0|P"x@v4P\dU;K^g铿qnZm=Zmg㤣 m h8U[xo>Y(a-'dSf~ y_}E.J蠵>Tq_Hܡ8RTX6(#\UUPfH.:cO\~ LgI]!sumX&LWS"{ ">`iLfjƒW ެ5 ߿*k|Q9+nq% _3}}VuewK}v_?f4uRU#r Hv_]ʾsB>H>lN/N> stream x[[wF~IxÙ4Ime=e"U h:R:;@uyu_kD"=ߙ.s )g:w~l7s9f u%qPC -d0mdzǙ#8/u\йVC(33Y-MOyB* FWQp axת%.Ba1L($ix'0p62Z.# b kZa$d;RȘ>-{p< )H(P]*wpJp,\d)yZ~ |$O)BF<ȳÁ pWV'o߰L _s]sؘŻIBH,ClEaDQ,`F=&Cc~n}7҈(Lj 'Cb`qp,,|M`R_+=nnՑOG)fxX5H '^ Ѐ$W9:9JG2Gl9(/qjk#@(:Q&໼|7_.GJׯ߾=YjS5@C%\NOzJC\tIT |9GBv#o7|VީW@i'Ȼ+G}nGq`F?¥ ÉҐJrWub#Csp&RM޾9T^Ւplc HXp֣r_]9v,M\EN3ҒxzVUPg0Ƿr&;/e"U_`A@UiK@5{-|/haQmU2^qWܮ*ꜯJbvkF$uV4+_PcaP#:KdS#_n"֗n޽]kV1BM<Fj:3]tSk ꐔ!klf@idMsfP0mSڳNp~pФ~ihxLG*XՁh<% R`]i[w`aWM_;d$Ů wȎysO}5Ey/1)h`k`̫̒`W-eɢ&[rur^T;06gby6aT P(O&c m2 XMfۊ-]Nb9kFv`Χd 2YV`=ѲGs9 1ܧՒx/g)NA` Y#!9 P<~W$7˒jv*` s,6S79>(gykA} rC*^'Tk.P%/y8Z@m<;9ѳSJRnI@@r}W =d}b]f (6*fpm(^cV۽_]=/0 J aiOYƚ.Fxv.~FOQKvH3[!-K2K~4> stream xYo6_!eVDl(fmlkCYfaIr;H}ntEa~0?tw;ߑ4D4zy "Mt“yK\b£`|DKƈV ł=*9Ecm 4-6Mk6}^VqSDLmL-YJ x Og1 {td:@fƆet!/LX‡W/qϠn9I ۀdWE|{Y*JSž~~Tڞ)x Z.af{;p[[q_3{VOꄬovQ#TUsTZ=ϯ97%u_zMu$ Ls#VIlYl#q "d,-ˆCDŤ5I5C!$rO9: vlUaԱNqu;ϣ"XLZjʣ-`1d4.`FJM$B;Repo@w@M)%8UGa@}9>eF_.aojEK9Nu`<(P]2lΪYu+8CXĸY ek4וc ǪmtᒏԉV I8nh%8+Qj[Fo|9!.*uLАú3xz.tP@co>z$KtE[^.| '!1Tw mYS_4]^aW*]YAY=]ۃ4A\8H4V5Y,%8'\-U=vU'"+q\Эշy#@j/37y$RE.=7%Z!E;41me@Qj#ǍvX鍳PZ'[Q14XN< a(vGGuOMW+m*`.FZ bC1h b~H $W&(5-@lp|K0-vnB`@3i?DEޛև@֓U˯gp47m1~cp=Y ÀtN8 ÃDc$9CE[Cc\Cq_u`0O>.= ]2@D|nD[19O<;U*PLg~zz;bF|_,lȅxw<י)-N#Jd:Izvg=;г1AO00`蘚@$!^@@gɭe -PJ_(ϯ/?~U.=y{$}F /KC.~LI=2I8}?L?[6lcB37HB9_IIe9fPK%a.ܧߛ1.<W/tyxq,o+1g gP7aГsAo@JaUA&x?m 4^,|ڞt.MaH/lϤS0e ܸ-AҴ367V=/- OGK!x|36TxMcu [/nz6Ι ׾{M Z/GTqvs뮜V" DHNXf65^,|15>{!^G4'O Ϯ endstream endobj 785 0 obj << /Length 3133 /Filter /FlateDecode >> stream xks~/!m^i75IıI'NEȱԓNA{v(kG8'<9{qzN#Wʹ8ozRl SUVdIQGڕ˯N]r"a{HNtw'l#\Gέstp.N;CT4@- p -"6[*qR/oK}!x&+WmjTbqOD[p[wiRK_69ϾlZlr@U]> uYT%I˕:Jr+in :^0v&/ڷȐP~Ţ:mu(x`6amdUaby|$<7*峐h&o:- t4F\IQGYZzYxl;䧊Ϛՠ"p<J 6zan$zhHz׌B[gIkpq#ŋNN,G~햔 5 q%Sȯ=yKtnOSݾsx.ɏʍ59x_w`ڃΑH 8q$+}^Pb*&0Cb=CKyxɓjPml"! Ǔ 2Nu3 !Bo_W)F}Xh |hu1چdtg%ݹM+ؼQ%fQkT MX@wS}wB+ȰE"õُB)#OCC? _d \D@7=F'%$P_ga D@ܲbtUUzh#k6 Jnp}isgEƧ>-jz M5BJ ׃!S9:7B (@Qp|YB,>g$TwElC|(sRZ񗴂K>/ ol׹[[T3'i&]CڃJױ32;熀Xڰ2V/cGTscDG 6;GQ {R̩}!43HWi('@_xsQiydz;2Ju: O}4wu.w.*9-E{cC\ֹ\]Ev.Rj&۠F5146jS>6lg뼾Γq1$S??iwY1$OU%xrDrn07 j8-W=@y bDnrD)g``tEQ@`yg|.55i1mo-aqF*#WFC -0[3 y3 UՔi&َgzA(3ɞM骼lm塜[I]L G\o&k f&PbԎ2*z -t$10mL6LL1 T A_*M!}=Q2U%R )¸]g-YI2 p9۾bvݘ {sC)% E~^YVXmf F ^#8]ƇRĹFxP`"sTzj$aۄOk-sIrh$8ysD'|7X\S(m [ubΚC&e;GzdWmKU仑&綹!.+P"1zaCBD324p֝d%AUPЦ'a!lR֘=WjdpK @hD('E#ªD ]7fRKM#9}BJ a rZZFQ*?b b֌۶泳38&\dͫ7+- T`ސ!BԮV:h`ȼm1NC2`]\`rFe p-=7NQsZF)tQ@7pd-ZjWc^}&/S6]cEۭ߾ /+ }+9~5dH!t;iA'v3X9\CqG*wwgAyy~> stream xZ[w6~[ ^OM6m==M)%TI*wn AvEe oRۅZ\>{u-R7hq}vzq]謎Wǥ:JΡ!Nwygm \/^t٫_v; fpg"qh.!*Ìc'gEXnEurn;G=v?_(]djp.ݿ{{uyW3"BtSS @;e]q?/ kH2 Upuu=Yj30b7,|qS|ujX|:aiU)*VlxnHBL4;@.~:_FsWvuBW| Uᢌs^=su*.QQ올ŏShF /Ac+ْޑE;ks#RV]GMMBuq}lL"YN{J&#%-@R0lX=X=COg:?_joG3._$ 'ԄW.f[PYhl*ϖr\:q(󹫜:gw#쁡N:-(uj2l_QPśW^m/tcC:#{+vknx7=rQ j!텊k h)(GxαEa;Xd}v X,xBW"Zآ iy&;1R<,J󋢺=i̻zpEpE_ӹBw)c:%Z{PX}Z7C4kЪ|S@7 (}A*msHnFKq@>ߏI;Cǥ"@i n{ֹ| hgشs^/uzf}`nNlͷ'7m`!W(Y( ?MQ5o%;eT0.ii,[U@ iHY ӐX`&c˿D/lȢ&Z2Wb/rair>儀}Ͼ3kuOu 26{8TjPLc! mÎN-Q:4unk6;\ކǩxYx~z~ n'@ĸO11,=@SvCHiL2}A˭n~ N=MI3oę1gknw`oYs4}\ɔOy" OsG=O{G'Ds'OY_ ]$fVecY5 =<n'Ҿ5>VC$X/ըk&CBq Nygsze8dMtrªRa{Hxu{x0X4hKucl%hBt;v(1ȶąQTA۟=atkQ\攰wxRqJI$ 7ۢaq[@ᡐƤB,މ$=m[MBduamC)(pioh^e<]ȞoILVB>FB l\Mx⧮>8#:"P8_PU5҄3;XEIDіw7=']^kw+H(C|X.a0T#:fcN褭?N%1 Wcsʣ%4Z|UqH𞲒3J3h".z y6KȤCsYΨ>um9r6 9 ׎,4hmM&9?VU@LGU df4m`&16f{c7i$*bƹ$¥x&DIg9`a@ vw1ؚڶ0ωIyO;_>>嶧ISsۮA6B:w׍z'Hϖ~*\0<dRBg mc^a!3@eO0pT=,L^⟈y-6ca]3t) endstream endobj 798 0 obj << /Length 2433 /Filter /FlateDecode >> stream xZS8%wDH䏽be2[5&5U׭a:x@߭VvspΛޑN"N C&#ϙΝbz;htbml˝V(nj<|Vʕ,M\>-OpGmNvpqX;qCp+Aj_l5`o^#J-s8AVo^2YT6 o|`9h(IE۶gϴyƼP2&:ΌгEcfgwNo;h)M4.=Wi}ȂiD9Nl17OA!  D@;0a`klޮWw#ZL-w5ʖ_hNE)=Q5SޅpIP~qL /ce'Y~}F5gpw3y@58z54lޢ1a ??z%j +M C66׺=5ﶈ?< ͇2?܆DMm -o3LQ2 ifY5ro.^yt`> stream x[[w6~(>ĭ=Aɶ3#i/@4#_ғӦg @f&fo^<5rizf$0]X*1e!yү/!NŦڂ*20?=:Y}80Y`8"G?$f9;NٽLw3jwswUWn)%HywG-Vx#iC1$v&P|%Ad)"#XH1ߕ?XTuSHXZ4rp4҃ qjƺ' " zծ3Kxxbȋk 80dQ u4LbǣN)XO*ꋉ&Ҁ~.!, ~Jzǘ+'8: $uQoٛ󋓏ݫ3+MI:o >t^Aɝ(fU Lm,ʨAxI)8N ? z߻4!H m!oܳ-jB22 ӱ̾*K:+3!'[QqBJ#k4?j+uk1 ,*Cԉa[PE ו:JA1Ű>gh2B7cvWLDo3gm-U(-8RǭEh*AvwE&{d#ltY[CnTILmĮahM!h#`͚zWlU*;auVNza]'b&bZ9Y]ad}IkIMG''h3?G!Ҫ"@#}}. {;@t)@e2.FBwO/љq#-Y9]wBWK۳L:FROOX{_\[m|7!.с|Ǯ:&r ^WgI-_],( AqmD4 '̉6itlc­Qk/PއųQSk9:Ij> Q {rs{L!^j1nA)meɔƿ%@9Z-[_<_h@B7֮\gl 4s0YYNQ{K wc] nںP9 Cߊ]",k;:qw xŲ/ ׽隰zï َT]Go a IÍq+7o^Rd[`fgNt8r٧,X /vSLWwgin郻ޢ&W 5 0C[w'wJW!`Ln}:rE2:pH1phs yࠢC @q;rZ]UWx>$m Y}=u5=x#çx1%:\ \졮7 (WD gf@F^uiznaPzt4p&Inn\0}4Sg a!b~Nߴ1}e-OGصVx=~TjthS|}NǪNİȔe%T5"(e`g(:w-:Q.(&:sg1$ Ծ] Q6oDpޢsR4ߒ}d̅ܢHN L K0=_I3= O u]('` 0Mط~<g¿:Ѕrt Iq(?r@}@DHʙGqJc;{zJ7uԻ!a5tH1<.~R,S H hwxֵ֡88 Wя'04lWWG3 #c4b0,šP\C3@3 " Hqwo** B;&Z,5h;|e?v%S>yƂ_ʋ;Cvp@rQx8z)>۴s}ˮd^.;CxcSve92Rw 7~-pPLFt 3*^|fvƉ _T.( =Pçv[tn0}ݑ|>пcEE˚z]yzJWpJ V S?U=u0" JWoϾ8^ME924Q~w tĩ +<… P0EPEp3q>BWM9#`Q04ɩ- 'I[x-qtT>O`Ra$x9aK2WJ2JGSƺ88Gı}G0+5BUiչh:}9~?XBLw0:a0ނ8h'U|h"\/G#PAާ%>Bw3.>jՎN-+|.gm'R/A+di5??RKП2] Y*zv>3mHJN0̷0k'[iTd^d>U> stream x[s6_:5OuRR'M47s(sT],i*v3&X.rG7^<<{E` e̖A$HL[ϓwTɇ0t !'oUJ|DK6Ըdt''Ҩ7UtV^XTIZvgo#&WL^YeȄ5HHJP^Fz݄,UOD(y gB >5nCCo_v7P0 B2_`87ׁM#9,3BӰhD0T0d" xKkvD*9d6VoCG7V ~ \ë!}0&[pXYVް41,jROFޤ q[xgŽCsp5l%5֦<ŭQ>8ŽG hhah>}C/*i}p]VUkM5/ۤ,[EV57u0~!"5 \^K5TJ6LX2+SFlbmbmↄt'l(XîIÔaʈ^2rLb~h.Y)S&J=aQ SOh C66u8:Q qäB(3]ӊPcu̳v̄ +&rmcyɕ6Ah`э>NOEMLrlǓd b -Y\l1 "eC3AMH/@۬+t˓dETlC/eUZ%՘dJYSJ i0ArmD$P%Ȟ {LrC-lv7 P47}Qh{ʼ&E lQdB>&-uC"ȟB%">={ID빧1|urŻ˳>W ^AWΝBMu̾Lnh.+ɪ0}ȡ+t >rA7T #BkZˆEy=c_C*cX::e} ss|~"[Lo㲧}1G1=Th?j>L}ɮ~#gRT&;Nj:I^e~7d5CZ1Op{x⟦≸c8&8bRŤ?;6!09qp2S8tUa" jD).܏Rm%dbR'@pYۃ#]Z,7_!!8ņpp7[9qlߦ@(w\1p\9p\bfxcÚ)@vVwˣ KDoǿJ'~ܳC tjVIi0AwCK~87_}4HWu68qܠC^yrpD Ӎ;Dz2[Cտsik][d|# C#ęr=kxw@H> stream xZYs6~ׯ`e9[͓7+yJ尔l3[C 4/.~=0DHY“`?glerPwgܩjj)KW 5VQpUxtұJk!XE41xtDc>( ^/Wkp[Zim#]Rj4f>6foEJhN|f(:bf^R붩TjL&}1EK}n\F}B_/T}x/e wTpqrI'tZ9H|$~0_z:n. L4[Ζ+Zqp_^`SZB1.i"OeB\tYK`ǴR;L*+W \+,C(l ^"4Ļ5Ϲҕi#'Ϲx }5%1D=mPy'96# v8~iW&ץm( 0[V', Cn i-çdX]/?[\9@XTvb;j捙 Ht> {H$)aWxn Di|Y$ Ym nckn%Tt޸!I9 tv?8]ט.n֍h[J ˒\ أn%)[4vtDGå9QՖ*/#5R쪺13QNRp\ \\X^n=:pk%5^ObmD 5Tv.e\XYCc])NX/ȁIa0]^ HL X%q`&[eX>eX>eXHbG2 Β$'L(mG V*c|rFa]-Jʸ˺0혮bso"G7e?q?dFsL,y c7Xд >>|]>7 dO'I!4BIޔ=5nn,TsHc}t,^am~"f`P{ @4L3%shⳈa/7YP>p С\4vXs 'bDyכKdơbr$ͨl)-ɛ*DD1g _bC8kNBLrK4Lj%tsi揀0ʱqCy_@wL3~I H,hjRKT[8ґzeޣ?ԥ& O|2cUb.5fl}lKH3mv:%(,#YEbT/S2k Ujb endstream endobj 815 0 obj << /Length 2312 /Filter /FlateDecode >> stream x[s8_GygMgmk6{iADZrԧ4d{sC) *ѯG^IYb5edxddB29Sq6?$lUF$afG ӈ8I 5b}-&D$\HUtvfTO59QBAޞ;=[+  ɳhbSe14]#r&i\nQ`QFo'qJ,g /b6zr)-aT6|w+$`~;>;fz~8~ pWw̥ SjxIxB7H;Mcͅ$:3C! 3 ]!KltN5>pE׷HY>sTY7yfְ^ ߚ'T[ѿ(X-+-z3|0vڜ,hxb\9gXڵ(aα] @h {K(pnH$QxBǹ4~9*>%4>?8B/ !qv[ Gi`eUdǞg=J^aT5BVU}Ī |s8zK|MoV^+iqpjf3 H*Ey3uHlb LĄ*D;cba!AD^NoH4ukl;fŖB;y[oܴ {[2=R[@C@M dž hX 7, #aq\:Y4Xo?g0&34Bۘr'Ѳ$rZ* 3ރfUn%M̜jQIbөmdC1z r P@ādf@d@$Jm B;y[/!0=Zo? @[@œ{!GH" S.6>)r@9q@f)q?rPM OY4yZh0P  O (JeaqQY.p ?':$!.$PCyZtpFt8F%) ZN"4ExRIB9&0ca'bɭgG o"3KT򥫯N֊L|w287]euʟVy$52?]dWy1U MI+'+S/br*4Kx(K/qaB. _4 60*v74~ ltQVj뼮[۩!Dg% @XVi0/ .K lȍlqw*1`\gu]8P/@ "ͦh Cƫ; \ڜ~ĝ5ͭisA #57;&$uWRVWZ`nNjn,`-J`-#AKd ^1}{I.\ .;B( g=jBDM`HG SpvPt 0'LE2Ҵn^ḑZ`dS`ȧ^Pf+u"1[y ώ*Ip_9. \H_cՉvC&֬&|a(3@R੭wSQC# t]SE?0&4DrX6$šu($1\K;#ȰtG]WY5VgM endstream endobj 819 0 obj << /Length 3519 /Filter /FlateDecode >> stream xڝْ}Bor^{؉wRy@YTxxf Hq6)=h4Fw/۝vݷw_]IvQJ̍pw_~uOx{?vZOf/QŠ㻑?w>l]rz鮼s<=e%|y6yaf'n뤾za=#K1~:inQ: 9N=85Sb癡*EwnO|gnlRZꖿx*i"qbGf6uE[}UB~q=[C=[2=C{;]]Ɂ3g|$wT|F*y2{gYXz|'NNsgAe-Kc=5yD|$aU tQ;~tAbϣu'y YdKèzn^qWԌF!D^NoUZضZR0a`\agt[ćize`ӕE#ktU4Cdzz>Ўj+biD]?CN! zSvSSqdߺ-;-rttB ̬Lr3SW[2g.l@ak]րN6/,tgM,%k I!GuiC?Ӕ}90T'8\,Zy_\B5N`,U4xf@@6ej%kSt_'B3 k7ٶ<ʾ! ]f#h- t2G: U/ũU#Y?`*،H_Q;F@AW AFKm*)/4$gkfrדf5cX^o3'Y(DfQ 1,rT#G/J, m#!^ {<1cR[s҄|.\ rйr%=rٌ;ztxDM/@ox% !T KI{TBOy5wnC)9`h٪h,(jtE6GsNh%Q1ɿ0lG,Aݷjd E·M}Z۪=9*b=ylف9M/xdVu}lAr-\W](H4sbk5/#=n`lつx۝0,wyF,phA[PlD#adG)(Q|Vˠbʮť4ZwsH+ G'voL}a֗ %8 NoKnGJ|xdV_AA=0؏(gsr5˵*E:#Xhq APn ͡N{lv9WzHȡK+!'!%dJo<אCNluZڍLvrU"RH>gB1kWOkv 9ΐoc1`Kʞsxɠ7&} ^x.>+ 3/I$#k\tiyQ[7F\Wh% +{X9699GhT~z&.ƑB<>mo?րL~f,j-7ܷ#xo6%/Xwr%5 N*(% 29%MBf8Ȫ#A#0w 4*~ 9I!Y<Vm7B.3w) P-Y[X,Rᳺ>aՇ8dX(.$/dǹF Բ9;ah7;  Ɂɉr]|_+р-0=3?D1C[zCF0Qf.j&>̢ {OL*^^+(U"^fYzy-ix7:xTMqn sEiu5A1^HcȒ1 abx6;:(ggD.B¼%/8"$ 4}&TaSH4RT^#M`ϟ@˭N>1|6#Eh> iL}BdNj^~*zD|lխ nO\#m70π`xN'sM|)Ϗ(46WZj]7?.ZXi3 UE9CRd KOtbQ)A::SSu4 Am.C+zS%|=#_dU))Ce93+:neMdꡳ@ I<5du ɢ,Xm =6تz쪈6L=L : J_<s0< (R ߷g;FnCXEbd(Hte ?|-5nS)چJQZ˟4B4ujsk۪m.N 2}i7 ,A.Ya[=*f^Ыd|%< q N!2r}̋C˸S]qAjO2'7N1 C@Ӱ+\O]f` m6 ?pM/A3F ͳި`:T}ǀ_IoO0tw]j7J1H>_%"~0?M Dɯg9_ˍ'Fqqa? endstream endobj 823 0 obj << /Length 3765 /Filter /FlateDecode >> stream x]sݿ}*1p~4ic73=t<@$$& -u"$J&AׁzqЋϾ|ū, ŻEfY$ŻbeÅI}|,_)eі0*Q&7ϾzgartX^lB+-a]}3=dւWdF+2fo]T/ooʚNMqkn5 x.?+~]$<]tNj$]FF7Ֆ>VV(^_[r!^.8ԦMV5Z'?MA}c~NBH;@M8IU^PW3zeOpj6Jl/22YP;Y>]2#DnP]IEΪ,g3XraŝD:.tZMF5 #/0B@g ]sn4oY #.}Oy&!Ȕ}Uf{+Q0L({0/2ԅAks6g-F[5D,amqOt|":d֔2ydMma N޴ b]#Si5Ǣ =Ŷm&t\t>wyF]5Yi$nH|\%'w%::j84f]|xY),;^XϐTqF/c|ތ tLɁGscߛr#})'c,y^jTJMXL]XbZZD3ڤ-,X @jeɰrQ.{b=lN=8dbfv3F~56[G|yhZ`WoXLh (j~; ULeMJ (,خdK O}>4`)0cE3]RMQ+8䋕͌2 U{;Ru(/W[_ZrU_5Y dU".~|e+v"z&00M2,kp*'$8i ȩQ\ (aN7# zʂ`]QgNVU!R<\**2\1o_ރprprkl&[:Pڄ/}}0d=fp@gDtDt cj5_I)Z<zaA{;oO4v!s\J3 H9q\Y 'D0L賝X/q&5`St5E"¦&f?d:`v3bm~݈Af g3߁Su_u|YD]ф>(s8=iP~t#{h(\\>oz~NX74DSޅh vA4(wr?U[yDNy>+>W)h-_8Hyʆ'/\Gi]\dz/ɝ,BӰ|ۜ|U$'[~wc/7tN0YBMV|yca :r=]UWӎ\jH4< T胉sM8wJ/mx^ ݩ/a,]XB uiah'g,o#g7&"_nO|b8"?jWm)3 -GBDy []MqP;^6tJF1֣R[UJPs ) WA#-esƣ'2xl?8UNwN>覟%Maomu;O!lכb:",_&px|~sn'7![ endstream endobj 827 0 obj << /Length 1440 /Filter /FlateDecode >> stream xYo8߿PǟOJ49:Uv{/>PdQYHM`af7=\#mxA7-gW"UBFs OP-Wn[#ޝO9 D6+lbi\Z\._ ;#tBsjDC[w7 [LA&q*Bb%%)GV%Ԉ}Ї@⽼CxϮ`2A^Lexɷ곫Hb+00vUvl X.Ҥ?Ii6f+HWIնf"HjˬIڼ*INDugW<޵0,a5"J? V ^mFw U|&\nm^43I&)WE3]~`{6j[e6/Vj p^'zLlǬ#xfN!v" cx8w4xESmU#瘈&>b*ClQ88M(1|;r'ر/ n;̸ կͶ_F,Mulˏ!L*o'':#֝ 1cat'-B$TTNm,L01D:X ǃ<;Ɏ4d)3;̎?+J0;PAS3A']WMs[~[I)fѓI0b˯6Ks]ߚ,c(V?)W8@ #7U.q[r۫kkGUutm OkB6@,)삦tIv,NLyNu̝;o2H7@կ+ТwlT;h`S3+;\Wُ_M/HF|B0L).~ ]$~.w rHQox4;c, endstream endobj 832 0 obj << /Length 2410 /Filter /FlateDecode >> stream xrܺ_j[/CΤ%$}8$n'V+9l rj'tx&$A@Ι# _9HB/tN6N9 ?I|p\֫'ݫ \Q6[6JBEO'}9R@^:">|NW:ks0v9H2k}+p&j\*[׃0J$N%I@8ց?d֓?T:kXJeZ+'/`Ej[[qBZ[jXxiӶgBR$tGz5S@OyXw'h 'H;_M_lMM2?+(}bh'O"J]#aH={P4۱ȁ`[H+[ JDzμ<YD"!RXJHtGPxG8 PqUٷܹ[Nk pƫ[k=$u `(jBEr4eUȋ0[srh-<2˖PA֦BAKjȸL$9+JBbC{@H 㞎)*驜n __w*j~l..Vd1;Aᾇ>vi婐5 0nSe39uSf׵MHZm(x>@+-* \ZksOV )a2ۻ L-FL65+`Ʀl[ |фAb܎ۆ-1 V.+=D"6lDDH3\vΣ&jaTݪ[UEEC T̓u^*q/^M4`&yn6U]Tem m-cUi*>@{GSjy8Y zO뼷ӿNb=&@ߖŏ J4f@ZܿSpBX{QS7#OwiQ(ɉ WrG<yUCj!o=QG¥>&cGTľDk4Ν$@/yx{Bz(v|cni ˅à;R#,`t}?#q&+ JYyiVUu^ikds_2ʗnuIVoVͨq0Yb=lΘ܉Keyd]BI[֬Y 0QCh󔛥Xܽ ^A8J˜:uR/7[/ܶDA`iy P$5*֤́][]!9dVEhTk OM.O x`nQlqvtQS=G,Ԍѫrld^׷ʄ3]Tum:9RαF1Rn5y]6KK`3! Uj!(X$BJ3djPRzs6TߔVը\"P[>5u妔(=YkW̍i֡ՉĚW"ly4$-BѸP;Dn ]̄(_3쮂@Sz9 5q}=Gϩb#PRvR e[Hv4gͅDCG,X/Ktzrwaf 78*sTt-295L{F ).3`i.n^Rpcj߭>Igߍ2#5Ϳ L3 I=GwޡM?+8eү!+H/ek99D/ endstream endobj 836 0 obj << /Length 3256 /Filter /FlateDecode >> stream x]ܶ~ޢxR$1t&qlӌ;N\;:IZ+ma H}L4  .]}ꋧJx K ^<%%Vbʽ7ˡlh<@?UvuSLD_}{/WXpOxQxeǫ7?s/g20o彼œL$d Љg\F$oV|YZcCoT7K;aLr.O8i@P|$Xpl fp WHD]E # :tHYsYs"3ҴĪH3d|.fo$VM(ʪ1 WHmKo+K&y bo jdM]Y_>>ڇvA`jn)vupTf۴yY}amƵ#J 5#-攌; X/_"PC=_+\֭e@)hM-gS`M{-,=Arͻpa0;Y7g $K˺r\2`ͤit$: 8Qmӂ bMIZ K+pK=X?5檃 _&+H>b.k'~^|C [{ 7F ^7Hitg \+]IUY%s]=X_7%'YQeWNbګ- ri%pN{e Xc>؆9Mm)j-]ؙé8m] 4]4۹@oSym0ɭ=:4X V&@vWnN,@iơN}+f`Df7Ϊ!/6':Ҫ%~]dǴ}סrhsCx%:h쳍"mw0gs+p p>lHƳiDaw"+w+;,Dxb; :8}Y_Y3Jw5v>䬈C25x\1SP\("9Sԣr(똎 R\=)W>T?.G5smtĢ@{Ol`T"_Th&7R !8MzA3y Nz}gw;rF\7[؝PE@DC3k&S 35ZpEއH#B.2 2|lJj ^`llwkbCĂXќ0LL(b6>P࿞/{&4 }DU"\6yB1bLedEq9'+ PXZ\0 ɆIq7I$>@n;0dr.;lSEiuNyx.jR!Q2MFZ'mjkT$8,")ԵΆu&rWmؚj_T1ri,L M[RcdYS"#"ΦK %hٲ*c-BR ǦV-jʢ]=aʟ(:/Kb-kfC+uuo6 ѩٱődHNDW9*$o` J`vÃ9yoN6[&_᚟\yP\v atcg4/];JybnGᓛfq :ֆΒHEIk;&.+Q Ȃ/ٰfQf[F`I[ʀة'z|74ç7k+tIJ_JJVIDCM'ZX <ȏSbamvCj8Z"iq?\~͙pa;V\ H)җ2%N\5)c];kiStY[L$7}]RNB7=( J`&cpm\j w\SecHcm>z)R6eK\@} ?6 ^e`L]64jzz&+4DOmo\)@bc[fDfyޒD w]qh5fahwikjM.JS3~Y(.2F'u#Սߥ}\n$~*pj@ ~.okA} 1hwj;E_m7QqW_fuAS'RLT(2s2͒P|mʅ/"7J>`HD_/4mp#YHA BLiFgD͕QyKvc0W:";tN)A/27cZ&AaW-iOavUATO^V[wcLC-X0>Ǽ4`tY88u|( \&=^Bz ٚPe,Yr#.j-[ j}^&퍝<(J^H%+؃sȗB7$ؗofXI0^wy_Nǟ=P_VɟYYY6ǣY5kNXvy~~ fW̗*`BlCHmM~L?"<)c&s9.{ endstream endobj 840 0 obj << /Length 2570 /Filter /FlateDecode >> stream xZݏ8"҈N|XZ!nFI3ttW岝!C.r*{w17gГLl4RBroSzoj1*}# jw*a 0]Y8,?WW\f޵y"[{8cF5Q,7._q%PzL(ql)ͪ Ya5% шb?@I*G" c:R2]#: a*s+f{,_=M#A)LRa XAj2 k dX%1$Hb0 ~8 & kM(A5n$hO:ifZ/+~2f2s3bBus"X ӶUԓ2x5dԯ3_im:X*17Ue_㷍ڊ#u?{Ǹ ڌ`ql'2S}_5`G7/4G9~Pu8h׷Ġ!^V7,7h[C{uq;jzvЭWuUD0E9/`J^56ZbsKjm%b_Sⷍ6.b:Fd.l>vUgfMOװ^jaY$C/Xj 'n'c(NLAHvc3ҹțMvh̺^)r;ڦ^.-OY^A#E)ؙVku8djR9A9`zfɪ2Xv`YrudJn̗ژu8fHmzAպ=y13pݑLN R!3=^Ԇ# ǶWݰ?G]~m#:jU[lMת7}_Hm=--\E1,, zxټni?Zc1{?1ynVgP7*Uk"Eo4'<² X0g7S&R9.%_KT,tI˝w]y[t@`đG # D@mA&\uMүj(PY}I~we#nqQjqMS/.|ip ér=@͍o.7,CW2DSJ\U`-h\B MeK=(ܰq4ss,Xkt|ԭ=!j:@b:*ם=G*y!$^ nta񻐋}𤇐O}ѭ"Zy !/ m3%{R&" ufFAA(#{$:fEQjYdnpno!٢鴫>.:*S4wro_bWp,Koj$Xl~3g0w۹WKޅРRJLLa\OmSyYAD`[32BmX\ ;b$#y2(eF_߯c )d5xwA2NƷAc6kaS+f(@Ys6&bB<=TRrCesv%_ZZg#@;oG#m.鈚le{8w1Xe CaN] aXj_W:ZH{Hn3[GZb;oᘃBQΦgdA\ 1^-٥0Wau:;Êɝ$|?ePofqcȃX[*S !%'~m3@Վ7W>쨓{3SW pOzKN >\83<_hjLR1 "L}i/ڣaU]wW?WwO/X4H@gSÀ{}F #(ߎzC |ID`qg KCnW]D5rzPomJtK;=FW:tSNf wpw#ߑ|]؈}*7g6?H<ϛK{bz:/X?y, 04@/ W*߯D3iB.o 1皞G>/3i endstream endobj 845 0 obj << /Length 1629 /Filter /FlateDecode >> stream xY[o6~E͐")0`뒢}ZlAD,9˿!%KEZ[sxx޹GדN'Gy0Ӆ'8'Žӹ?٬WS&}=uRi0"ONO'*Ǽ(qD4G͡G WwmG-=P݄:h̐w42%Gh_XIͳZL=8qg^ ;f%%ν8ܐOj, qN Pb[pHvtĂV3}8g gA3`D'ǭ]GJ9Ԭ'2ތ4cQܭJj,z<+zY13bRt}\j9K79~S$%(*ܼMݪեqb*`{٬.gD34݈*hgyU HXa1Oj=!ar1N=(a0B2f[CNk [`R+T "I佟IJ?=*kn@+v 9On^Z/LBt 1to3dZ)9!W[ KXYɱɔ'!{<]z0Vsaj8^HdbPg,25!끨<4n$?;ma:"YmuM)l+ym[yt/ Ѵ;H EoXjǜ7t"  N#f7`O lӀ-$XQDqM3s;˕ 3؉ ,M<-}e %HY$t caNqgȹ=u=< k UbsoS7kPg'(O/5Ƭ}E6L$KC żÀ\Ѿ,n165&әpb a_Zub2/u/78eDd,w/ b֕]s2 ҿ1-,uU+~ [5oR8b̃U1I6#йBc+)$ۊE>PWXS*l٬"7/bzW4Ɔ4s8\5Pڇr/~usl$vfM#)A[7r[;u|\2xMf6\uDޛչZK{t(5F%k- R_[5~h;ԪGv)5^U!OA'C=k Oj7@ܥÌD a&3?5iLyV1IyruCؒJN@%5(+6W#cn~7;7G ? LAvw-MY(yk*^rL9BJ6`翴^ endstream endobj 849 0 obj << /Length 1813 /Filter /FlateDecode >> stream x]s6=vS%[-a&$GH&9aJ>9h$3!VjWǽ {;';?>LaMν$2#o2^g*ܿ ?@<&I&䗝dݎDN't5f,ҩwmSnE]KN@eYDp +>-M\3Iq*@r_庶!9lF-Յi#P$Qk-,9 Ӆ! h9,"T®("oڙ%<7oفo{<1%03F? K@hMJ$hܮ:if`~IPt HQVPms:9BLCT2 :?Tu` O4U6ϗ ͛cO7DQYlgwKfz$:$7B4~^Ob7ElK@>e6萵}h.)&64Yr "аQ(ifA.j ;kKmLȼ!֐ ~MT,f9H+h.-{+VUYYB˲a, 7 M@"5pc4GkZhX)k@(MUS M1]3˪ BD=SB j.D-bA&FK+6fQ,YU?< o%3_8Cx/q9ZK׫ ~,wh^̀@He(݌ \D-tc狼=-K wK#5l!J%*ܚC9<#?ppU.p>X0T$ X/H{T6Q#~jM #ar^ae4MCywm %TG %)A(=EoyR'mJz#Ym̂DQl[썉8 0v"^ !u wmTJh. KS+.J,}{9Rg[ .+65}@o}]XgtYnA|鼨Gvn]YegU5&'zY4Os-ģ Ct].X/W|H4-0aRPmHmx ,cɼ-o }UY EP%vXA#%C%64mMoxJanulr +5ʖW"o29k 0{ƹBD,b듹L +W8yMy,;k)4DrY;%͚[mUiuo^a]}4EZghX@ǰ6u!Gw\kmpڦ2<^\켠zݽВmֳC<]}QCáDIc~ ~ Ogh|<$k"ӳgq~]d@@3lޙ]˵y*77]Y,d5Cם, ٙSf{zhu/{R}L֗H%1wD\N c Do"8O-N}i1pdm:9<9[XX#wLzc$3ʷ)N1LދYλG(pb|=?<=> stream xvܶ]_p α%uꥱ}hR3ʢXR"JܞT"ֻn]x$ ۜ{RZL o~Oj2GZAJw:<OV?o~8:; yKB'%޶:g`"K+d·N~˫gg^aP}ė@in&BKG _@d_][KZS:Lh߷͞n Ռ?u_74EK&3gb @oX0VoPD2'K3R k Ebg:^›2qvUx31KVEEBT Z>;L6A "LҨHkw^;jI"$}ܬ2؋pf*4ѤS+eVbS=3wu4yk'ijن`6: $뀧yalCG4jvP%C0nfd9QpČO5ӄ4>0m@zo NԭIZU4;TE}Az-'S[nBW;on١# W(?er#̢@h_?EEIJU_(YzUh=Zͪ_Y4qj4Gmj5ǭhah h$a7{)8Mmj,Lt$ #Ck 0Sא }`HT[N\ pw c9r^fDDR<ުm az|`*ξX-=m tKBi*Z4oGGI dEMX\rRA'ehtIohKYP9gaAj å)1dVbTT^K#Ƙz I4 "'O_?;E}2%f\$5&W|S-Ekf'˩'N3px0Kico]=ښ11?BKcRBcи dWcSi,*2 glCJ# btְz`F/M:p5LiN56#"9r'5Kq>q g4PhxIPOP֌EDIZ`4.FaMI&}IeN۰\jZ@ Y㥚;][E}Y&idla`t<.f6y Y`a= @ Y_̽&n rYN > 2M0<:b`O6fbs^j0hƮ,N}]zd˼{WZ|n'yoLD*fi $tqL<Iw͐h٬L?dBo < dDP2Ɍ+~B̌ 帛q#Xf8lC}>ݲgkE*)#'v'mù9+-5Yv%4,ߩmQa9cDIɅ[ >5&aaN` {b]F|2 `X:LGAj Nͻ#Za|RSǂ,z,D|..#P`%ɔ %VpOaRAա~i [P:#`DB%%"`)w?$ !%* p&rJ u8 :W'-MSяCdbQD6js9Kc{F;[τ ɅFE?#gTJNWxTB,ɐݮe x |*-61ˇP\a d42w4'ԄyqB44:8?;hX{>aFFMzeʒJ.B63+ؠǓCV7)V6RVrĐCʥs b6aʺZHYCͅ6NH1"4e O$6r)Sfj Ma{GOd^嵯QEm~ Z̷1AJ?G/]/|m[+y/zpecQ0 aX<.)DV5sL>&h0crMهxIm NS8fs'lx|ex<^L#O,ăitx]8pfe^*# ]EGosb^pY^&O<_b)blS-]/FB B_/>JsƳa= _JX̮rn':A?I@cv3p?UZQR;~pw(La$(D9}=)sE$Zn_ln03}h:&ygxf> stream xYmo7 _(}A+P$-4F[;p-{講׳!ć#b.Wstb8*j\V]ԂіR6Ef&+ȕbmv5TV8 8M ̎BJEk?jFcZUʬjtJeWtK &` pRvU91(f!h4Lm5hƪCI'UcoU VAtG,cRrX*YBp\ A`QAOv !&͎B0\2KlqP1A$9L$NAD @r<a. r&)P\A2U]dBH ErDs d˂i2Wx6hMNrPM@ YJ0&:kЎŬR3YMjYG^GCAgv-=djLގ}SIjwRF;ï[8O8wsHa&E5g9LhecIdh+[y<~ec0bѪ73)2,ay:{<>8X<>_N{\^^4[?7c=k4,h</[̚CTuo"dlh+]7]v uBH1 ^0WŃ5}?4|񶱧ty}bz۫eq--FfjBVj*<zX:]@⑻2 ˹^|Y6sɿ[~ܨDOߺHeTQ{ht>Ë^}p- q fx:J}'h'˷$QI$Nޙ x]%ur7? i: FB$ak$4;MvILq+0/0n zɅ> stream xY[oܶ~fR( - ɦHǩEB"icߟ^N98~foԻ//bK_zs/PDD[]=_ti΂C D*i0" W,W3 iۃ勺݌ɸ3MtlY5Ԩ)N' ̰ؗv.qƀ7i^6 $uC Em@鉼,+6e6ݏv7> stream xڕWK6 W9s%zu:=4M:[m;$jdJ8 ,yIzxF>Wޯ^8(E%Yp()rUU އNzDuf /[=qxf~y(<qJQ쎫 ,:*+V"6/ə(3D$s2uz|twe1;(Q8e/΂iꑾb@G1/fFewtP"Ihwҟo;Ķ0EBg!HXcR)T>2ŋ3C$)Ei/&Ӱm]D~ jMHW}ն23KT!4ގv̑w:w؟(؂*:yxG)[xYG^=OL6زu՞ pjG&=j/JhOOv_q]`<I>9b]{<52K @O\h0tSDjZK\ e[Nv|$'3| LC瀜ϢQ QťIeeh;BPK("x5 +S?~JG?4\ЖѣlOh`9e 5yr&A墈otX,o]td"E6kN<=nj|>gHS"xc7 mBFVeKs tIgf7RwMm\ӄCb-3;%w-aQ37f'Y=Reh M=gP|nfpږg/  UC 2픈syH-#ovMۃIS9s&)+˒"6n5Q5=O&:64qV^!0:QIy+ M* a{VrbOL1e$m&0ZdڽՍhN-ê{ҝCXmXN[44W3A֗ @"~"7(cNƩ8qWzzX< X,::#%r?GXrw¼1K +,Y/OAȺyOD!u|AčlHdi̗[c;d)8á=5A*qP*IP3~ !o+Xh3,"CQOb!kny#57AБ. ,ȯڎ> u?}`=\gS |] pr~d~ "T"bxM9'H1 _-=v_Lɔ*] vmk' endstream endobj 867 0 obj << /Length 2656 /Filter /FlateDecode >> stream x[K6ϯ`e!xVy׎˩jc!UN32TD*oA 8C>Cwn'ou}$ɔm$9%כ~\QcIĢ\¯/B/ޗuYt9!#-Wqe8KW`d<pW?_a ('(e2 IhJP*y0.2EL0%R^(ϳdW&deT$`|hH.Ba(GQ)Hι1%.]}IJa#HT^UM# 0DaH(A >1EM/*H._uմ< r&]FK1Lw|wdݕĢEm.]] H痺] .֪LbԄn]o{BIJfcILc?YC qBn%rhgnUw}4dE* "d8LocLa=oVND;yC]yXL31jyRløTN<}nwE)/- |c9@uu:Iw1TiT6<ںGS "3R Xm -1>v~:G8MyW?#9"! vbwf Fz+F S /k4R%~%aj,Y x#h+8[Qq%0^\ͨmRxOE ?G. Fп22=ZZ[; .h0v뽦<+!a/ñy,8]CP[l 3.qu.d@+?\ߋ4HsGKky8+(UZyszl&?'*r )?<4Di?7t2 1,0{_Y9v` {-K)B"Y$wk?52\p$s`ʕTn*mYz*Luf ,E85̲jN_(7y57| rC57|܀)TBCOU; }aM]~Uأ Tv]Ut}Fk@\yg(.6}j]̡ Poͱ+{0gV}5 }/ű# \q jGںmj,n[Kq܇ܔluY1UopVMÿj?Ah ASJ/K0r(˱.4l~ we5| > stream xv6_GB99q{qS[yrS / I~`@hW:8`ĝÝ׳opb^A/TStfsڽZדz_@i&`paӑN9B:Iqt;sp&ȹ3Xܹ:œ@8`1 g\$޼Z(C&M>=l2Uw4ަ]e;x&l81Z`hжyJvhIUYYf1t#w.&uZm F׽DK~r¢,3,F xJPDVn%,T DČ;+q&` h@85L/׈gxʘ܇E塘ϼxã99Sswv9w)x *xt7@a[Q ZzO־ku價_ilo_!%dblK^IlfU~[v߭6K":<&%`Vti,WM7PbhRcL>mbyZcPZbĉ~dhLrC\uDEzv3@8j ]#[]M놐Pg8 !H- i'Q )[B!w1e[SV;n2I7Enmr+\IJISMbVcڠ,dyׅ$ku m2\{ E"] ^"{Bq%y^И!_' ^$Xl@l>ĺY Ejv΍ ;#Z!21st(D‘{[5sȮ.*"n|xe-~DወԒ$ǽ!k4_-# L:U`UwMck}/ pnb&OImS.gp2C.3XL\5~ЃkRc~E?|zjvl K!+QvIHEtR>QG Fn*e̤ؿG!+H#pJS,5] hvKvZWUo{N-a@$M mUHq+ywPeҀ@T(6V{O6b<;~{:I]Ş!1dBT~=8AI% >>iA I)m$~Ї|@f˃#co!e/ CcOM7 lw~R=|HL(O~=},8&ÃӋ痧}ሇpR z^>݉ -?C= 試M=WӼ>̥*ܕ󿃫 endstream endobj 875 0 obj << /Length 2937 /Filter /FlateDecode >> stream x]s6ݿon" >fGqԺv*)5})DU(J>b'bw(z;?y1:f: "otŁ)-nyj?@|˜)&ίNzN r:tNYNe +ȉC-\eWÛ Ma;  `Eլ`!ZFř4$(E;J0`8By U}SPXjiaRE&EM~?<͒DmyLs*şN_{.ŇxR19=|EB!>X| ׾|x|:h@ekW")y4!\=l˷OMop.:=osX!Ea6 <­g &Zjf8E~xs:>^rtt;pps*Y(ѻlAζ\i&JC8v]BRF`OZ5Ck3k`TźA,s֠ h֍5=/l^Sڲx?z`@Zixۥ1.0 g=ʧNbX&*HArS HuwhUb`(iIchEa(cE=J'ʮ6uǨ!bpD, t^_??<:T\·7?>)8eʰ`vޫݕg; LH;3y?D'Atcrek_62֏<=Z$0ĂЋMLO`_B 6Sm崘AZG.fTN07ڜe7Fʷh/,]p\DžzA'c{#AkވHP/>Ify%PhІ)3 hfp( >65f1yQ?H²[ε[#`6C|B+ulE19R@zrHf^*µH,@GKZ4tI1 BR ajA ȌjŽ^ܟU Ÿ0 <;M :'8x:ߥyUdM =vk-*FJ&`niKnF'мgA-2)ɝFs4+n˕׌~_ĸrӘhI@ng$']p3"὚&Ts76.8ϧj J3M,b]Ydq#i11$AD[wB#Hm$D-e`@eR['aƐΡkYo)lW/*swf]G쥓G7k]n F`H͹5z R#㷭q^5cGF74ŒA"rFqh͛9eAag銾 i )5di ;>1fZpe7* Q$7)tVa$!1*|8R5mVˢfT#e5qd'-/nNg.dhO+oE uo9hiܲ۬ˢ(.λfBAўKrڟ-%u&_G%kn!4 B7, np[tip-\Z?8?͉-!=#MwwOR |mQt`%t@j "g=!>l(@ 3б>\heyYnZ.yaAI@U^Yr2v2K@7ۿC>CLѣJPR]:w6+A&m 1چ6(ĝBk8ċ? endstream endobj 879 0 obj << /Length 941 /Filter /FlateDecode >> stream xWK6W(5w m Cd}KsPe*&>CvSA=,gD~ lˀZZ\hwVZ0G)9N՚Onm T)J~BC'益*5Yazjq!0024 c~5_3>3msvxp!vl>[wNq#.27>6pje33E` :.ȼ3+ĠX96> stream xڍPn1[RnYkA$:8q;)|~,H)Vfobd"Fo<=[h!Y5NfU\!w\:mZY'> stream xYY ~_G*CӕJo[wb;ea<$G$+ 4/qUQRه @GxGOxn_Hh'DyAcn~ExAރ0N={w7|PzY*v^ ҋ3HyFO_}eeaX!-otII,~3ykGIwivPڋB-5tH0>F?')%NN)e?7lU$k*1Qb^]=_9E1:DSTIJ_#r:{CmeJF_6&Z‹h-oE^:Vm\1[0_ s_7JLR(q6e ;! `B}A9Ũ@qx=V p61,=8/\ uXǚ Xsװo, ~Yp,t+GBY/.Gpp}E1Tf~b1qp7 nӿ`͏ѿZis^?&0+_dZn'NyAA}4Ag(qf,]8fe: /*yɚZufGol$] 8M39`G3y7 `}?8Nppc3K^5,@$ljӰ:\.ykj!vJnQ9dBܪ9kh @ٚxѢ&wVSgM]7k+ɶ.p( ۔%Ea. ;JZ1r-bFz(Ê'2(3 jPS;X>eV)g1'aV`nGPusaz^;?`L)V.ktz Q0~<=W^$,)\)徥[L_;̩p+:ʾwIb_bP20G%RB7 c=ph {}>dXUc Οl޿SaMFN _0$ʿm*q I [czۏGۛY{_LxXۻ[_7b[G3{P\u^;K!d},c- MiP4EZ=N4 LIITG d H%{zS=[eY`AH (|m]`3MWT5г% ,p#f\[ B:TGM;aO9'tWST:>ecr"z9e×q4<Sb"S~'SGه8bB,_DpĶYO7H0|H0PWqO8uXҴ{gzAoP!쉉H"R]w9hGK{z`5{QTL9 91EbRqg!;c_]Ļݳ~*پby]/~$D%=U|+5r{Sd>YR9L6/^ORV'вŏ=S/Zud* Zg@[<ٸ? 6>Ί#W`&N?!ϒ\L @JrM endstream endobj 892 0 obj << /Length 1522 /Filter /FlateDecode >> stream xXKs6W`r D!nqCMӒbEڱ}/LNi,.F\8[K%RiۤLi/l+^D6k=AM J2OWICJ) X@*˯ #]~fAgceHh2Dj,hT&RD'yS\J> 26ihϧym0u| a-.F)mP)n_2EcmPUT1[9%}<'GW䤶`ϴf|Ͻih$60(vSF3x~A9tZd`vTɖz֣Շj7Y*):@L&j?|{yڢ?E'C3嶺pa - *x6^rR2yy`+^.7.k]veYH}9h%NˮfLV%YM=/ b6Anڏ%_T5<Mm6zӨ7%}&v^fh2]WNvc6ξn_ㄶicG|2b#2RAd:r =Gp@zŞ2{lEd` n~dc#{vKL/嘄D&d!3Ӌ03b2Ȍ?JŸCi?P~;:򭼮nfvO87wX΋OSƌ;y|_n(zs4iBϳsJ:HIԇ2t#̸f־q^>Bo|3;v^iY拢mgn毠'EUElWjyE-F(J|L1U}eeXC\gd_Ģ&J|_AI$x"@@+`3e(-SF>YS, `s` B-s ,78GSa5ѱٺyZu#p J '_ˆAN+FZsoIbx5[8B>Xx> stream xYKs6Wp|G($Si3[_:ICK1E:;/щi,O(m"8{~yZD)K:J1:a:U*z3{}>̅s=B^er?L3]y3*x$X8bGٛw4YSN<`Rvߴy%U۞ MΈ#߅)oJ8 -f@sE F7=`(H (ɺ6J@a 65 P7*启`q *NvJ;nT%LӺN5G2Sڙ0@ʝ4RO(8 CC5eܞ &0:O,.'U.T8n yk@6 *I;Dz6Ljn/f!X 'W&cDl'o%\w;,a#=swk~XmS3y$T UM+;!g.#}DBS4K91uIx+6ۆPFEL4@8$1";4pQ350-:I$3B>wAѕ6v>Ҭ/Te̙U`?z{mCމ$(([]VA#0o4NUUmI(vZ9YˣϛɤMI\Xq5,@YOA'6 ֏.4[@I 58{e!>"Rp>ڐ8,Ǡ).i~E  ~d\Z9W"^xtN "8&K?ԐPhhd>].wrIV3IN[8lݎ 9{[/2A  vM|-@eBqjc'莓$H`H0;OywsJ u@ s!sV4PO~p#В H~%"/˕RF  endstream endobj 900 0 obj << /Length 2713 /Filter /FlateDecode >> stream xZݓ8"o۽Ǝ?=DZ~^]>;Iof?ɒNO)-˶,˒~N2ѳgiT.:8JL*L"zxuhX.-]K$],eޕP,?g HdmvgQ#)tFמkB^r&Y4y,NDdT(љp)P.NH7MSU}( E쨶oArxW5)%RJòBdi^Fu|{;vpJG(fafa#Eha-BݘqQ9a`+a\HOZ"%Eg&qtZzEw~o*EBǼY# l636h;_L*deB*,M,]uvt+sWR.^w0vR6XZ}baJ+Df-a< ea8Lߖu?W{7O_qoD&y?izkԢ{E%_jP. R]Ŷ:b4}}#Ǧѱ4-/q-:"MnZeU_R_YWeK72q&߀ަU7=og_wu eF>Q4URX7iai@7-],yz69$'JS3 x1 x-x,]tz4v':k曾ڜHRj]y_nQOJN\YDWlY$sbn 60J.ZT EU唙W^U,K\UW%E=m`/tuEAT{"oI܄(j͑fQu5?gbLEe6Iq#T:pY艝 mJ_s e7Ǵz:g/^YpC/˼˘q2 EbHs8'&UB:t上gU AfלTqxCۗ@Ħ5WY[./L2q ΞCy{ح[qY&Һ$M]{B eD̆VZmKMMOqjHǥ*%B6D= ht6.蔼;A."]eTͭ@WBfn~ܖdjsteKKK)VqXj]s HB8NE^T䣠Pu\$;Nrh&u !j9s_V aLZſ@ /'DrB gJ8/3, .uI6h +$Cc(rNmZWNVp3hhaa PSVTf&IUPaiB'T*z9Mqy/dr q!?UY<,<,< vDU}>!HuzS-\:XWEb 2ߴM过%ި:in_+;,1CR}2|SȆFÔ6B$Mdhdgxa:4Gh]~a!,B<Ykz[щSatJ;xƇ{G)dy*| ~Նx9a V)ݑUJ;f &9矊89^fRܠQ;l 1ZB{9'%am0))f亜lɢR5T\F?2\%& >/y~fL/N{&+ƀ!|4otXj endstream endobj 904 0 obj << /Length 2684 /Filter /FlateDecode >> stream x]s6ݿB/7۩R">]/MN!Vꢕ6֮ @}Y9;ɜLA@Zb* {ysiׁnޘ-qym*uWx+ [OzqOWo^=iY{s˕`/RoٶCS?Z{S<'/$vVi `@JPOH?Ta0^>%gW:ӑb*mq@rTn"Frb.As#_<МT"՜f&c8dbU!Vg:Ս/lc6`)Ne(Sm0EDy؂:DyZA!-hHޖY_65Z5!;6tG8Z%j9Mϋc|Z4ȹ 1gGe4S'jB@x*fJX|]aC{ q)oN'   JbҾQlsweU$;+{@AbKWU6Ԁ]PuEg6d6w2G9)#4k@ W`Q;C흽[6.4(` F $bѡG9< aoC@l? g ڶ,8pddvf 6+b5&xzNM( u>[DkA= 92\]N;Sٱe(bo] u@&Ti$Kh '6zpk1Κƽbcg}bGfgem ļ F'kbt:6g#L9xs.{2&p!h.ɨ94W+ȔW55[ ќL͆>vXYY;xAx h/V( ǝ]hP $7FxAz=_$J`xFpn&K,",ȥM_g4ta/e%e?0^GC:Ą2/Ϛ$?ÁR)eB#LVjKt에yJ0Q (LBL)&I[jE@_M2|V99{wYpmsb=~*vݾ=+hO 1fI_S_`j#&c̷y ~hHF.M'}mi W xﺧĚ,ۘ+rxKDM75QN~҈%ix 86- =z!0<8o aۦsO@z-anr `)9%Q)3vi2) PU\yYA b喺.٥oNY50opMؼO<9J@sB \ߖd xAO)}1P)*Pe;Jo [ y/E]/DH vkAL N>SmT/bWVPzP9[}4(vڅZ_ -^/?d~Gͪx~P@"Z(NӜ)Ϋf г0Dw5#P9*?2d%e~wXSs/#H*Fi.4 '7yG^aO;MD5?K]֚ *pn\ʊ-{:_lwTE#{=S3< WyWpR]V>;o޼degUt& +CѩޟUJ<WPar58]'Ǘ µ9W2(-$Qh~\.1/X D\㪁jH7a' NĖn#b!ƮpQӚ8 sp<ȍ^7!7XP ĉKK*}S~?Ԩ-! e1''L)}4 U}qI 60N\٧#$[$Y`-GRS"t+Lg7@/]a\0vG W ŕ~AZv2y|MD̲_"9yIS}g]w9G c4Iݺ>AϚ 4b;t2. gHj4~Ni&AMa= B]I/Vwl.W]h– l T$f# /u$jRBCwP#1D8W_WhYQj;: &e&Љ Wb YJҨ$ yr̲^b[ɰ"pc',t-(tO _ɟ.&ijz~[ ?|rK9~/}AU ` endstream endobj 910 0 obj << /Length 1678 /Filter /FlateDecode >> stream xXKs6 WVmK"GuLr3=$9ȒvWcIT$RIZ% $ `Wo2Qn$ 2 ja%tX`+4T5U>VL1ݾy 8E{J8YT8 >_}N5~Le S(!=r MuJIp3f6Q-R*&LDZe8lc}z6{Bq 'eHVEBoT;`R třdb67p{_?ݺ >Le< .Ge8{~K@c#kvZO kw&|@zqƸ1IͶ3xSZa}ߕհ DМ5 9t pZiM`mH s JÐ4vC^֦1E>զ#^SmiR;BNY$d"m]m$>^8I28k>g٦R@_{g W|:: Ǿ*!Wc@ieOtg 'ֳxei-2 oo)A `"l ۬1ߺA)RR`τ wp0HB\㎕ƴ}>:4qR#Bbn*6uy ]1D6._A~o F3+r32LlO\v!FxAp?&BMy9;cK1Ή-BđKCBFdf/ky~ #[S'.(΁pS1g6l 6Hڍdv"Ѧ.iFz*0q Q~Pf ހ-P76}2*bSv:V9 ~5oSuRUʼn-0`K^4a1:3P9*di"bi$|jzYm"gz:iT7;ɰ"*:VTFL \EF08(G"CٛveܯH0:L֎sc?bce?SZxӌxfd&O]KD@mZF!&D>iMm-d9;͏\G|Im:G4:B85/]\)A7}:~ء-Qv>LOUB"X|ҡg'YvF i~Rn_MЀzwF:aTm8mϐVT0Ti1c> stream xXK6ϯ`$9IÖ3qmX[IɁCA+)@78"~~h4&ѫ+N+#DegJrwO&,vQf0_~X^}c,L:s2.4L$Z"~n1Sq*L*ZHr!POY֫4L[<́B}{{ wsgw8/3r&S*Q ĻWWB .RtJLL~Mg50_1@:?Di.,WqM e ET͆8` x?EC~*[XClX١͛U5<3(i/F(a{2GQ4\2T7!X?}F ʁ1髶aC)U}ez_.L*gU CcݶJA"}#mxQ$sn_gz%ւ1PiAuyVt$kr*[\%!TDHl™5{`+qZ5k - 8E ӑ$@XCo5 ̰ H-')'<+2Y,ON ,P)@xv3@@8nMgyA$!JB&03f_LOeB$L%z l&R,#26 4i:2i  ;W3>t3ҏ;vSN>GME=8sGjHbet4Rb\ OKO m YøB +\r\[,\ۀ 'K?DbNΊ%m <3lcAJ<:w -A,ӌA?ܮ2a[)Ә#gNY$\|3.4> 8@KqW"cieNH@' 'VK_:%}|t^}qKh$TCNhh'TBB hp0&3r4DFFd<('fϐ'~#Hs߽& ^]>%]0Vr[=euUCʀleO.< P'?jHvbo57N':xgVڋPnư<aM#V_YזhyBѵ}.hm_/Rٴ}չNz<i3pnnp*x\?U>9E5j?#' HLB I53]8V"D;I+a cA`TptESRzt3$it@qFjCu{4rNE3?nfyH> stream xrɼr*U9,>= AblLO /Xd"ulDML)͡_ ?TV+=~$ TM-B%_6_ss2PΊD&Az JHa4xpX)Mpsd䩊& %Rd"NuBz,vCUN nG}Gᇺ; RrZObґ͂>5ٟ8NELrDxp3v,v!C$FDQ "B$ %5`t;Zy23&BXir0vf3{y -M>Dߟkf-P[qp\t^N Oܳ/ҟygB*ѿbc$܌q|Q%z9X+%("xZG 2隆蔜Lb4 :2de(BiO0/LL3ae"|Gi?} \(砅B,K,yfxJh<aV&2=e:xF>ϙ)!nxQ3އEm' Cɳv[̄ʹlɶ9bwEƈ`0s ;'.ö.P-/̪"n0;:tMÛ ț=iXSbJX#zۍۯx|SmdzYO ʁk{vNx9>p6uGϥNX'{ܦ2\/Ī e&mQdGV(jlDjG5|&=tmfڊ8n폒p֜YikL =G[nχMMSCB)HCcbh+0iԖ};ȊӒX0s}%gߣU4/SҼR./|MK]G>S\h Y~CsHe <.#AMԲXb";;d2CH%a=2@y;@=OpBQA ,1d=4+; ʏj/ QӽsNZZFw@mW߳d,/t܏[YyؗTokj &@e :f^@qԙdJo_nz.r$ Gu{u'{EJ=y6?\ @/c4|N ]PnXJ(;x3%,Wդ;6_:0Zfa{4pS۵?}" , e!@(M0R(elx+TNR1K8| 0~=Z5//+ endstream endobj 923 0 obj << /Length 1388 /Filter /FlateDecode >> stream xXKs6WVSx[;An;7dN)R)?}X vZ @ddKe$i$"r!JJ X%TܯCR9:(C8 ʺ̻ Nq~e#)gFOiB^QQcMs#Ǥ89t T0'2YL4Uo7BquPf88l;!R )L 46RrTy?%r9ۃIɌI#.`Uk:x9W9~ӷǾR4Btq SUmxuL /i5UŤ,޸'2η$hzAdš"7b}&`+Tq8 FSypM|Ngn!%&R$tU]ʍ#/6LM3h2Tr"a#U";nFLt9+bԾv8ONl8iK3RGB^]5N8hh eZaX}~Dt:swP{7s(_kN c:TP 9 d(4x,{TYs S ]\#Rt {2uypzZ4QkCޗ:[C\%j}yS}u7DSb46+3" ܷ!1j-\?95Z( V }vpJWSu޺]^8-KFkdڔ>m{`jMUk UYHϱ?m7V)GwM-pF $ -"57.B`kjA1ŎHcI֖]*U3$yJVu'.?x2zDՃdgV $A ̞ߜsC>ȥTL44$M#pN* Kv+#(87ItfP -N8o)ë7HQJ1T /֋{ p[Q8mVoWxDA`1rѥ#_|ZP3/(g *_PԾg[ gZlT}٨Qg F5רf>sQ|0碚`,+`E5jYT@]}5ԕ\A@3+Թu^KU'r/ ͡oR|l·S OTL=SNQMON3s6&ɔ٘ S>gc|ƘN$X$#f:*7_>wQ. endstream endobj 927 0 obj << /Length 2470 /Filter /FlateDecode >> stream xڭY_۸ OʝXHC;4{͵&{sIA$'ɻo_)+';7y1)A~%V|ww6VEX2]V\eqƅZWn"xXGI{z,Z(([rۻo"`/VLd]sUf9o0D(Sh30Q84" 8Ӥabe㛬>n!wz'CH r@jI_43uGwvbϤy}UFʰ˛Px߉I'RIM{nvWΝɃHhwգET8|qP( Z$8}"g@VԫZliNe9|X" i&+[l53`_uz7k8u\,cS=`NdXvڝdNQ:"IH';lNE=2% PJwh$d܏g3aio#  "+^XֽiV7H^u+' ۦA_ja±M8McSJqFO^F{Q$0?,.`kyTo[WU[_ɚ z&uWݖC5=㾠q :u_xN?*ACwU7fxt7WivH@$V©L˽GNG~k~z0#dj0'74|!3ca +/c$}}%l E х.4ϚEXZx*'ǻrql 4J/(cjjf1a(<k:BEn[% ")UT<94xO|B`)Y2\r[sςt3gBo;a[6̱8vw@ e EVٸi#u +KX~OD"M=}|`&OmcHCU7X XO\* %IИ?OMUQ".k[M+tD a#Pv:tSPY$Bm,{apvxi76IJ$v̬'ұ65J& b,SgT/[=^Ā/oXQ‰@Ӎ{ ~OMҸߥ, i}{ v)cY endstream endobj 931 0 obj << /Length 3007 /Filter /FlateDecode >> stream x]sܶ]3}/ d=Ȏ;Q$Iq>_],;J3LgX,^wqG^x, WG~=TyJYzG?}{q^R(ʓ` J&x]lw:?>89[v,Rf͙ #o,GD>:š\'*bW!ݛZplFV Nοޟ"+t0{!FKzD}~نޞ76k[{ GmMs+E~x"PgeeknWq:}MNJNA~ pH!%3G`;py8,{ r*lZmv2 k-K#kV" (9#1 9^( ^@n/(-#b<N#pSI:!>Bx2#0< [C8 LIl-t** # ;!JMђ6PF:6Ejz鼩}[jț7`MM"hYPqEϻW~36EwCoLsQ3,P!v0q<{yݸ*a H0OsŸnq0q4DrN|rmgFZ6:j9HbR,,ڦ6F6~Fe11;Ǣ#ǩud$չ1a".ִUFpx$,KGʃ3ٍpXl11(Q˛f)ꬳ&ޭgڕѕynXl\> !QBG7SX`J(vEyY5jsɼڹ4N8]b[@#~HC!!A!1KS0d\W AhDhsee]NQ?&Z=Eʝ-. [xf_m_|;<"At>x0Գ(Px1揃FK-A~7og|pWJZh)@ T&@f_.vgS٣u{#0gYü7\ՠ%X8BFB-L^Yt!{5ل] dMj lRw x+Z߿692soHDbIj}F~ak 2]0.}T㶌?ϪmiW ICƁ*њVS(#j,dW6JEĀ.a\ -i&'AQ0Zx_e%`:όLTzXk1ΊPL^hJ% `ΒS_6\AFN}فR*coMLQmOԘCa0)3Lf?=C1Zlժ9 _4K]$8Vp֑--P'SP8=a/BY[af/1v$cZ㶲 ~ؒNK6A,s<=6=xlM1*+]-jKozĄD9;^foSW4QЗvxwͬ`5?j/nJS@{>_(m&;)2Tyy 2%e̋#szxYyHUv]kH54輴iQiZ7 OZoq,յ)ÿͿ)j,x"b7:){RTN.tD(ilJH: jK s74FAX ae,(T(0QfCÁh,;œz~1~caGa*]5nUl\ -b_ PGwr b LٿW2frz,d kA ƹt5\e(aR}4ǔ8 P7ǎ^dKf 5Lc1_Y.k'!%$𑙩mLymV) PaPm,5F3H4$l `>겳LDq/S!cc` dz%lkݓ9.7zK)R<`'k AV*\\˻$1l-l`io/Px^tjFdͮ٢(F;z'"d"*@b4%CrW.OmeӎS M10&J^q/M/;cH"~k>x1P0>?J&}^=D3#,B/Rp83P 2x(àvt>~9;|l =0T!?-O9,٦`e XQ"43H(*LE*Вd2cEG|೔}:QSQ++B8q/*aPޜlN$ShLL(X 5yrOzv/ZHhB=Vg ?vI×YwP6{wcX1 Gۡ|Erc1ʹJr椒;33xl?ğ>[|gOE=x4=X(aI?K8mEԡoAB๮UrAϛzTضnQ#;IxM=(H/O|k?4(C endstream endobj 936 0 obj << /Length 2649 /Filter /FlateDecode >> stream xZs6_>ܔD8|`4ɴh◛DYH#J.)&]]' O^x~חZ$+2%$I-ӅJn3J^OI >Bnժ*i&翜8?p&=O,y2['sp ܸQDgog܋Ƈ"*ȹ@*Xf"8dNrf[7j2.6ޮ6 IvyJy 'u\ it>7]]_AB1#N>$0@ kNu`z<p&ȱ=)䀠ٰ[ha2)jDnٟ"-s29|:sw,}s A}O7H-%G+̠)8i#\"cܹ FetE\Tu38zUILOwƹg,ԋ ? % ߆w\ 6MJ=-f%2R88b̲,ZAe'18])q'fCnr9ʨc?oA۸Mi* |=e̷ Ď^ZƋuigU%[08J?/s7Rl:m9߻ '"tٔ=d δؘ:Ã, =cqc{ q`;?x($NBr$Gbδ R,4_3_*F@=?ޯ7{4jc#73{^Yqh?TOCÝj?ǐ bn?N%5#wR9{Ίx_uT{Պ|;xs"l0*7a\B 07w.lc0^_68?ce2Y2?o>6'̪ʇ#WGPw\U5] " U#dDN8R,'˕Mr+@epߝ"ܿ6MhGf>Bo_}WTiPL, %k`$/_pș$o9fD:QR&DvWW-"u' \19 pscp79n)1:FY7(v&ˁgŲ n1/%2Ba!xQA \ٗSo$o b1ő1Э XktəYr_poB /?C`Vy@n `(qg)N9=%`Oq _nu~l UrH1]^kI<2f1:ݠ~ *0n,kBUX|EݸͮB7`l;ʇ\&^PfS~s0H0X," N?)}6nW,([ ]K$%%6ݒ4%6uOfjy7;4[_&<G*ʏ4FK80򩚮8E6lr>g%}J3gBz /Y@l^WU_!i>~BEsu5iD)&`Z-ʻ_nK<;T܎*^Z`&FY7fdZ▒%`]wew5zeodή~`1 9Ln0tYeDK~bK}VU[|RW$Lb#&E{v_ĴVJ%͹oD dВߴ>i,~h.fg&Y'Lݑ5 /~΢%~C 'DP:t:_Tr:Fm*8 ]UFOQq\jz1<(C2xΖ`F }nQ>"̪Q5` 1OQxB]yd+{Pvף| IGctu FٮVq\{*2 U`PYW$/ G,q9tYvx# ]FlD)g+|}%S{%ӇP_ 4ȊCt,*Iȟ ,%V{ߓǾ4e ?;~w\as@iev 4 ~2g/ TܳnFR 8Ӌ 3VzP ^~l3U0bZ9 \q ;p˔4;p{*CԃPXn6XΌ|c=1/x8Emc3_~zر=ga>Spoš\1_G>?u)\pW1쏅w8Q]M)B*'F30_UK&$2 bL/˫ VBi)NrCIG%:1_/0 endstream endobj 940 0 obj << /Length 3241 /Filter /FlateDecode >> stream xZo_>U.bF$E}O׻!h-VJJ_w3Z}I,jHo>QD]}Y,\J Z@+3:p}kiB{ !omcҋw_\z%a(A],( A$tn. Mp{U4Og3񐗌DS(Y=>8 6c,pQ v6t*e}O~ԃF=s4=IL_4΄k-(Nhӑˢѩ1-~Yjf[:(O, <ё΅=vD&f;Ejlo?9`⍔"7Fwʪp*q"=?;3T&΃\ 7$Á7XO>9.G4jZMjaqތPRiRXA 9#1I|fwx!l/6%Rؤb"%(W=^=4D$mfe8>Vey]>*o\DQO8k0lC`x%Ycxs_(<WmʤnX1>nr HW'?}8R Qȣt8Dᱭ4tKlaS`enqw=lp@&"T`{nsN4aD{pEaeޓ(mCߨfaLhSblt;6VҨ ´;7Hó+d'4Ԃ O/կ?ݯQ0L񀲱V5@C?ă}vmEv,E7 J*\~˕k(Kp7%3Y:D j*"5JX菛lD?=/tS &kSvK-غJxB5^.Ҿ fHT7  h[]:`kRI"#nCKmvo#]Ɠq 6MS è'9VZ~bԩH՘a}~-͊99BEq%'-Ha.ӷ@27Ո6O\Ov,kyhC =AE>&wőLb&Ih K13X+pq+"l,߽(g_ :<3>pc/GAQktV,7ϴ%'w'[h>Q`q7~߸D/*M*礨GeÖ.=wPmE wǁ׀03(Nы(gg5D@J1^ooV11%y&V#z["ii4!5 ȱSD D ̨]Trez>Dhfw5tS:čO炞j37sM'X 9(G-r 3u. pA+6`=zM[%Gx -kiJN% Ew͜[PXzJj EcAsp=9c ˡt"Ivd|JȀB%So;/\Ɇ `" }/1V!o b9|q \-{d'z2 eot=nB1C{2} lIø$tR+ˬ)Q4dQ\5 ͥǺuib ʖ.ݧ ^+8nR!qՋ_Ӣ^C,q$,#0:!+mߓN=aBkf6'"KB7w9lu.7A~?zAgq*?t(kGN~ E`Zjq{wv9g ;놾ۛCcYC/?IMv~+Dת "(?`b/L/EU48/kz}-vy`VӰxU6uKW͠ŁYW :XH419tXE8ַVO< Mےןa理pza?wIPb 3a=z4}3en0&{##xKö`؁Z&#)\l):ek蜒Y \Rz緼?p65ꡯH|%Z[L3<'@qZuSPl@ݞ~Wxq۷$>̳$Ў/`[k[12I(b6?d˟/*ES584yH?} Eu endstream endobj 944 0 obj << /Length 3425 /Filter /FlateDecode >> stream xڽ˒_Cֱ,W搒|% ]=3x]+/䠧8~w&p7F^;lbo.|nv -5 K):In՛^@ٸD.c'd8o7Aa6Aוìۋ||+r7-L?q"OƉ i70T<~"qi Ft ~lк#P74MMgȝ4 /uxMNx#tXfD=vRᬮzQTȷXM[gdN9nw/4εzaow[<25Vǎ`ͳeWa KI>952+DIxŶVj x.a< U\\NÐ? 8`煎zX?l'N<sm۩fQ$bZ}G}iJ==**z3Lu x>0#"y 'ز䅊yhE7.]3+˞ً,X#$4l 0[}ƞ/[~ٺNhP <+(Z@> ?q~\7C/զ!>j~|?6HL8:lɸe<>5і ` 8hQTܸ.;™XqOӂ̘vEssC.IpR= 'Y>+ =w B#k/_㻠stCSwk";r_N B$fgBs=W7 obB$pPswT;Ifތ zFd0IAs+8{0^ѩAh1tϾֺYlEy i:ߺmܩ:#0SaTOWT(UGbjqs=@w4r HMKQ0jwPSv]Nyxm`]Ilmw[#6^υ 0=SdeDO45d7˵ VT yԟ;01i7hTWupbZNֿ~&oJ}Qi8̵Iʵ QT+޲}M\b7Hl7ӱl@|7SHm538%Xg@6,5 J^ ";۾~Ў]S}ESQ|LYJeꢅ1X;{c 71]& %'tEjBy-P9t mhԥ`?RKM&#DaT4ZpM? .6a4R䥓&F_ %h':ɩ{3e x I*5,52 &H]*vU͑ٱLﶦmoLX.|EbJ~W`Dm@F<|.? !E/>w _ @yh<^EEsa[Éz'Z5;(.9 endstream endobj 856 0 obj << /Type /ObjStm /N 100 /First 883 /Length 1433 /Filter /FlateDecode >> stream xXn7}߯c6  A.@["$F):Q«ʅ`,p.3#W9Q<\q NbrT'`ŀgfB3Or9rWsvE2ޫI\-,Q |,H( R:bёՒE[E gI)B(L – VCNF2JLXbD6#l-3'p3B!hbVxj!W YC-` \ n1FE"c!@ 8 `I!F: A`Ll3F)3F,Ud7, }0#J(1#c"c$#()(B̪TVӬSLPfɅtPps"3 1"$]L3&L7"K!zJW 3Fw{hP (+UĭR\R ]D.'M64B2)j&?L( eIX 59VI,I?qg_s=޿?)0b.pi~K 3 f §p-}O ,2 Ή΃, Ssy^ p 2'g3̔0B'ơ{N<9 Z3i`fcs z \49ef4 yK\wR 5d cse^%pPجe/єGDhh%Biۖ^; iH3H9շuf:LR&q&8a)Υ>]$QcEАNsaE`oWS8)IWv=oZɥ0&~zUgr`rmW۽p?%w ^$4 էl_\@pجOﻷ/.6~}W?V3 X(˥3dX39dVKʓZ i\\4I}{TħcA:樴J%{[!" Ԕ:4v|/]vq~-%^r@L⢰gI쩤IaÕ*K nKyM;;cOͱ癱rIu'Zx/\ wc\ʼ!.0OMM;Eet;VL†Xų?q ͓LKRd7;[Ɉ37;qfc'nZ63m endstream endobj 949 0 obj << /Length 1781 /Filter /FlateDecode >> stream xڽXݓ6_Kx&&_}KI:s9OI8mZ0@.׿Z &7k#vW.fa/o$w/ Elw}F=6w>7i恫0 QWJ[E/ܓ֟V?W`w"I/bU vi.KkL>viq4s4S-$9>s4s%-oߞ?%Yd!=YN-Lfrù֞GfI5%8t0B-C d15 ~XeYz5))qBW3/qOƫwP_"\{D Y5']fi3,׷p{~NqJ߂/D<TE[8*w9s8ޡKZ.K䰝6&Î,9& AE BJm5,qw}sZ<ecV"q;[ |UOkf4\&H6f^ӮSUM3EpJ CZ':3=dک1vBHtG;`X% $IUUё6uؙ3ǡj4g{<8 ݑ^k{GؓEJ4-$\ D!ڗ9o5٨cXvbV:uN3v;Aw$J8 IResWYg,0C@(kpf雅F9%3yXS^pFb*N8Q ({IR

"ќfڦ.Hzc:GΟBQCvR@UL,uuTa!{'̷QL ҡPEn@^ZZ>g+44`r9ad4F=s`8ܰo1D \7ͰHy6 $v ;5BzdY  }Sdp'S*՝ RȖֻ23nڕGx\# BxiF 7OFJE3*}ieA-ǐZ23˕jOxWЁ :ŸXmÖ+7^M($ K$XY0 C&ׅqMh G[W)NQp )踫5w=jlO)V d}FB q"-;-A(8j 2Ԍu *mM3b`-I7~"O̸#wm':$",^mI]/~ăsހkH_kQ_B\MQSr0"#3m' B&96f0I d6e:; "$ =CWh ǼlR\EbZ?4d34cDAU4bIvb%C).lJ]&9wȽMDyR1$G"*EIM MEOXe7` KvҮL=T>l_*ꬃ":_VMB79݀,[oGj =>˿wa )> stream xڍ;O1{XKb;WKD"(ʼnIDAaj43 ALb"Eg<85FR[̲>+>%Er*䘼p?F%(ǫ؅:BX;_ZɸK imZ8?HE$;oq"_> stream x]o6ݿB{2p>4mSyJە/o3(YNڻ(p~0 x^=? DBxB/HO~)(RFc8͡O]R"alj%.lkw:W8Ѱbphq]# CO_ =D/So |CͧH`IXpe`J.8Yo2QD!* H~>_ņp3a[7 c ζWMrHޔe|Yvmu-pW+mˡɡqxC4gwxgj1TDg pd8=j٫ګͦE9j#%a쪚yz_ܹSjϻ-b{ !1V,l55{,EEÆc  M$h|D/RvUIY1|WmA &K,Bؐ`(m>ѩl&SJеĀsuN[sH5UW&:ښpy'0 !ZanSpC(H>QU<\fA`4DUvSz-mtm'E !DVarTy+0L BȬƛUu dx@ثj=uѱ UYԿ4a8J@i`SS:rìW\l Kzp?0rAY ߐsW)E8- E6z}E^acNrH _,\f(&I]`|{X|q!Ɛuj|a Jj:VR=Udv)šHh*hu1E}F"v"Yf-3<0D^G|vޞOi +"1l6/ϕRl`821 F45]ñ('ޓ0 , $@FEÄ+!s@}1"Bzmdv)Dpg'c6nn=:AG KgR"_2SmNg׭Y6Qݷ;eYY^LB]D&Sp e0f"gS[lY.It9LsZnd\Afbt[>w`CF` IA;$ECPnu1yqAcbң%!2am݁cҐzǣ + k"5$c>APD}]p_]3yt7CzWNIݖv/:$V AM_4B5Mƴd앖=]t1hAPoiQӕ{Vfʎi55dC]9y" Zj/l.1V+С!SVP`/cжb#J]ihUjlJn;/^ Dpa:nY 4%p1Ԅo060&cC[5=`IK S.=ӡ_q]."0KB.b,1sB^>o!_b:A$ mڡ1QN1ʭ9אXmՔy@ #N\>z,È*"L#`h*((upZTk=U̖,3|ìb !shSXJkUOFs+~V5  <|^9C>ytaN }+c"/:da$XE8gb~N. ΋lof 5m@T߬<d'QQ*:ȀȂ".X1N'|%Ef3?b e6KWɓ[obҏ@|,: Rq'L3LR{) ÿhIj=yVHIRgVg r5a<ml{.gGVikM\zr88pmuÉ VhfCu?&NE(Rl'zB endstream endobj 963 0 obj << /Length 3666 /Filter /FlateDecode >> stream x[o6b~\dRC.u6ZګYip殝}&g8bv='8y,",(]\ͲhyjvﶧHoOeS(>,^.;MơN͉LrqlVO~CLg̨,Nsf'?>elz|طPa"Y'R Hf,h^ZO`=:S02ZHU4&N-¬$ gI%xܸTCeewZĸ`# mWg p-UOUEqhGâv GF1gd %vX݇XTO8t:vKeg&Rn|o$ aDW76cGˇ/@=2QҔ\%'/QT_7V/‡B<0=T)e@ donju|E;*P8ˠu mӗy۸N<wO.T|סQTKm#e%)5mxU9Aќ2K !|s˒wQou׭ڦCuxD-V9%ޑhP+\*ySWn"u;琻 )zIZ$uG,4j9W?XkJ uKvrhePK@i Zxu_"ќ*f)#|2%˧'L/H &2gc~,k+5r*@" 9Sdx9(>gy+o-^6a=`;1 M 2EL \sҊ[=`aKI Ѵ!^ HF ˚OuG_ zPWicaVf*ݳwჯ-KYtS01QKkZlcӂ=\'ɐyDAƺ@Rð"BE(D#8-[PWu66Tp,9Ɔ Ɔ b)F9+~7xԎTmmŗq:xax'G.Lfsྦu |#ݾcҾ>)8h=Dq KqC"J>ԏGG0=?{ُCYIy7v6wQc5p֎Zu3؃SʎwDmok*);mj/V_E J`ߚbӤq$l_}AO{+ypmLRG@rŢ/^{<c*%03g fݜ\ݭ(\lzDR ='a T1,%25Q]T^*]Gс?J + L)t}J@uGWDş r߅E1v( T,//RbC נ>fP%rMBiûбҏe67۰?xIx*{%9xn );6Cx.\ܢ)4P 6l;l~`Lօ7Z͹~IԼVwMpE 418JzɲΕ`/M|N1dEAa6q\` M=xGnYΤ[X0^j +`肕85. Zv^ܞoӬ8s"mUܠk$]tÇI?4̊&ytN$ef5̔qĴ }٦Fvz uv%[_\aZfC$ڳS&7R6Wrn\նҍ>G6OtC{($z,)4D<,c".aiƣS8Tw1L"1=Ql>&xlЄ5qdԓJ~k,.~˩rtvcYzkDX͵yPME.t:oQ7WCn wT{=mK~Ո#Ǐ[ʜ0X< [杝 +dxTpB䲼thֆҭ{aGk OQhg1$6Qd@uQ_' W&d TU/ gA_:}`/},&y0ƈ-O^40ޠj=1MG?,7zZI/_K_ڷI$ p:\ (}lxb#)ًNs|ݒBOqAEm ^P?YkQ߯6+_7mI endstream endobj 967 0 obj << /Length 3318 /Filter /FlateDecode >> stream xZs6_7}L̈>M&ӏ\$wAޕhJ[7 @rս都"D$h쫫Edqu0Z xJM&LWOBE_e,G@H.F竗gϮ~90ET;#(]g?-@γŝ]$zqyϳLef<-RHJFvv77#L E]kgOM\$ڸ~EJE>a^Hv@Z~"Ց}mzMͪ_nv_mdY8j%xݿkɄ-jneKSM}G:^͹Q]z!r\!>B*NDip]P 80:7hgS,I׀V~lף$B+WHmh4a[6=|ڡ*n9D 1G±a=,$^^XIDS(1.\듶0A޼ !S"cHgrdmHuDI22z8Z)|\wEbŗk!^%WaKEmeBGze1/aOn+YG݊#A6;9>v rwȬ P#aL9»J-_<-ڠϻꀇn1ud&)Sp7Wmjl)lr/}-j`jW=Q C̫xvOܬ7ApʄoO@(8 !c!|&Bn|/yDQ: ^[_ p@D ܁(4( ۰#áam$}KeW[{FD$4 J_+4CP5zWfkoB:i>g֑4ZE%_wآ{\CjiC$UnˮAm$, UާkFve[2:~>e/DZjwy |7ٔbvP=X}7]W%5e75ݾ.}Bwen/"@G,L3rl:\rMhp"Y?x,DdԫM& 4ۓEQnSS yJ%Gߐ<܃쟵\Ylu0=Æ?_*tkKͫKbdm "R<îy-!, fE'үd%&t^ :Ayu33ImE`;efd%犱u;3南 )3NFٺ3ac&-]Ln_J~N̮63yܶ{0J=XOuK:'Or^6 UBȨ} Ӆ:vF"ف&6$r_]6.tqWwRcoǬv"݁7=Uc 4؄>9LFkHr{]tᠺmQ1w3͚GЎld=R0\@ !]ZӅBtC\6 04}CǦ_W۪4R$2# qNΈOX u7? Zdr`lǙ: 4r_\>_S~A'c~gKNwr%$qMui(q iv 䛺F O `)><4)F ٹwwqVĽ7ѺP Eo̐Q6x ؙ标Ù7E,5"XR4oºjO*ȟ6<-355 xͬkσyznj'B-~,xZf4Y5n=nU1M`5WCB=|*eDޏ'4}!W;8cuΦ|'P7u߉q Ac+wKa94\ ŀj^ӈk3X ш{}?z#2YͩH[ .x1>Cp} QfZe{$*VO .0y9jZzEPVm"r,Nˆ \e c^ۀL.Sr=ȕir?ږIX۴+kA!if) etE~=tGK6"h2 ~G\(pj(_?!Ph%DM]Ep٫MʑEPorK3;6&w#ȱ+ׅdaV p'e,',PchI NłD_#4 &sW(!Pƕv݁ bNԸ`I>y2g5|0)<eUj!:zddvt/tRݗ<sD,0di<l7m^dX3x8CQcjk hmG_\DhXv_ ~*IS x&6Ve0Ȇ? m>*,zvCbr][둸42iWP%S ,FrqT$|ŒB endstream endobj 971 0 obj << /Length 230 /Filter /FlateDecode >> stream xڍ=O1 o v.OptEЃ ,ۯW~ W4K+utAzo۠ml 0&qKbR}C\VE^{vV{\/X71~k օ[?/jm'5ZT8(SB-ț4Mx7k2ekIvӱaa?@P iP endstream endobj 975 0 obj << /Length 2529 /Filter /FlateDecode >> stream xڕYI6_[*?U3ST8Jyȳ_GW-7z" kvL +&e>/yE4][M&߷?3RB_7~RAX?з32FBrP~E?o#7ptaDSpH{"zH'SUkqb=L|z!NݓCu̡Rtu ԰[SFvtEomßY`9̏T I,qt΃率~Rڴ'ԾCмԍ|wjg"H³cǣpk< a11V(Ϲ{"6v!-;vXXO*:&UGܨdE D ` -2ӥ*:.<3y7cQtкj"w ^}{O+s%7ra@Plם|)?v΅ ('Ҿ仁R"=IQP阣ڰ3X50  1 L͌>]Tg8dHI& sQ\o`PG 99]~%xj k<M iq`8Li]''QhQ#]; W[T'E*?>3.[8okC?^t0xi`8[ܩ*U4i ێ}^s430p톡:Vu5V Z`ɝÒRᅦݦa xlrh߮"zh^ē9"6(  "I!\5>8 $&1珁͈< 0"Q1z A~h<:*Dm=4a`§hDZhWx=)s QN|U. 1H%G[eI/M̨n1==-sn4< FNTպ: -V4T.T[RN ~ HŴ!p:Ys_:0֢yۜSCW_eH\R<+3_'3a+xW5-3d*0,xnko͑_J2C%r%t.y)G]Q1%3L_q!CxoNsS}1X]wdroyi+p +< Z- և4C5`A--f5;.]?@*o`W"\5ev)0 YL1e[(ػ-ܣsuᣕȗރ{;2`q3}P,;> stream xڍ;oB1 o$Rk&7cA-R!Z2@M H ,GLCՏAg7(l;SY;ÍN&O,V*7,,}Tߊ=;AO^j:#Xd}uhaZ6LԳSsjU:l 6iOrtqm? aS7ԾK endstream endobj 985 0 obj << /Length 3039 /Filter /FlateDecode >> stream xڭ]s6ݿB3iZ1ϻ''qw4grsd(8H w^zX.vW+wJ"o dڟ.>2r$ Wfi1ܷyUj"wN"=H(dO VϳzJKMǍv"-ySu44e;OV5F '3zѢ|J[Z!.#mhԮˋixuuhYᭇ$52 Xwu*[0q jË0*+1gWՊ@Uش&Z?,IfɐJbU@+id@}陀)%o7niJ00]C_8OpPnbSSsfwP)4JM EN %[!\:bTEfASM1V8ѝ[LlO3|^ir0gg c[ᛁ LiHwt *D\9f׭K~s\GK#(f! M( |̄T'P' :LW< xbxp= ׯQs}Dy>Nu5 ,n3iE#wG+'ayqJ 5tr"3kW 衻VۘضF6FbAĜt0Q7 M")q cB^ /Ɵ8\"gU]K3v buz1a` no LÌ*Z7ҋ{ >ONm2=ș/zSd'RLBhu'{^?%^rURPWM96xi^ET-rkd / nRvFLp 4@Ge7=hsP@MQoxQ Y"mgF6܁sҍp"@^\{x_xs v~@Ou&υ =)(3zP{KƭG`9NW{Alme G4HJB^Q]9&`&F# C=*#t [it8a" ]fi%Ho5WuΑfT܏8?v| [o0yIţ)03mLXr] 8_+LUj$\92\D,Ϭd+pֆnfT$xGU11%ƋTm4a"b j0:8+WA3 U+T*,e+M c 5uͨBkɢmԔ@PM@%K,+ӎ; OBb+[J2W#@+ci馬kSJHr8֖]js\CHS*3p҆aְ߆ ine!mT Է<0-$aX_޽z|Ypqx}H Hui[bh 8҃m}H}oF8ɚY H.b#fziRTJ2*wFu W>Qʹwy.w |'K&<@0xdrӱni,XDFҋ'9VŜ*$j_LC4Mat1[R1>Ib^`b @P !%CL|_VI3p"'.[0mPo^`V, ,u}~ɻL6UAi>F[aVms}*HD$d|,dcu)3GJlI:s.VXZrhtVڟn9Z(?(s"ZM˼ +]9I4ܥwwNi0*_Vxx،2_S`D$#'VYN@`8zt:X$U@Y2jKrBXK4UX5i: R!'᤬Ju޶ͮs =ewN({;_`Vkh u4H Wm5f!/gY [fwn 8i[^C&wIAy+e:#Aq. endstream endobj 990 0 obj << /Length 219 /Filter /FlateDecode >> stream xڍPNA +\z%bMH K8Ȓt g] $ k=1n,k1(y!?A$) pâkyQt9a0$d^煺U*`9{Z3l*iqA|R*RK!\>E85/VُKCn#ӵuasoYP endstream endobj 995 0 obj << /Length 973 /Filter /FlateDecode >> stream xڕVKs6WVpƤ I7MbMzprEHd͇JQ(3E.탻bdK]0wp2I,HYdD#9?iDTM("/4H#Ն)I3EV9y<__o>_ Fi /dr '+X# /wa"K\!sFo=_ {]!\DXE8 Bb$=Aj E3O2z@i\NL`xi`/C'?JuVVeE*Oxl9ϵggٗX"A B¯LAkb~]G_7,> stream xڍ?O1 |7&5qI.+*٪'IWm w`~bu0C$5k,}gf^S*V?t2-LB*UVoOvBF6oT/WV,Hw]?/IhL endstream endobj 1005 0 obj << /Length 755 /Filter /FlateDecode >> stream xڕUMS0WhԪ$H@@ā*(̴}V'x' g4Rh;F*X?%JjH`k2~y_ q̉2))$挓T YB_0]8)YmLqQbӡ3 BwA[qUf$馇WCV*OЃ8e(x`0];v{Fj\n [%7(܂V.[0G;e-jWhm 92qqiF*V Nf?0iٗ2eb~=+"`5[g˵=V+tXKvr+{Z[aB.r3ZO89lGJ}zSזn°`@TH! kGj7}Ϩ"? 睛 ;za\ݍ鱮Mkh;V+gU$ݟ|t`tmpp>l뮷߅1޹{)ayf]Xs.r\1> stream xڕReTl)jR in閔F.i~qX9g>g=@)Dr 0gXaNPNxBP g@+O/Cl#uzCl4k{;ou%Z [Iw@4`Pğ r  ױZ;@B\B|B-b .6p5,.srU-p7鿍Fa} _a?  B 8l} o5,Z4!-3QE7"k܆1XV?w|&SQg{7G@d%Ư"&QbM2N6/xv3PuwS1oU6=TOOsdv5%&SPMy~t tR# &d^.B/o]x=t[P錣B\J/«u447+d'sm~i2/T~nRs+r؈F%9K=λԕjE}{(x5 <GPf =06]~g؂|K0L_snXPhe0->z"\']vDШ ހ|PPr:-)nvb߭\WoLn#H~⑀ۑԀvJ^׭0]W1/uᦄ6 ț (Ed^K;!!+Ζex-Q27ti'xǼt):H,t@àGycb%D?RIL0JzZ{%ȨMr[:ʖ'Hg3IsBމxɊZ`எ'+ԿOqH8Qˇ21ާ:>g`^eP煞.?OCtbyec7ANU!"h}a=(*%`_]ٞ=ҚTW%soEK %|l(6yM s5 ),`ԁ.'1'[3؈ʮޢo*g%(6/ UO5OG)D:9e̛. vG\3Q$5hFB},M[_2F5IGXT0nӧ!^ y%$@S0yu֧?<t/c|$0"ld*&ChWj]H9m9`S[{3W$Ȋqv\%~Zrc:>[vpsl̓™fIâw}akاYC_Iv/Ѱdڗ0gW *mߜߦeℇ=FLV@s{ABa+q拄ƨ2nPJ~Ew%8^qjg*G%<tܡnenC7PmS˪Nʧ38sw}zۋl.p") 檸j8&>=f*Z,ش?p~'ݞ.d2MVVzJn;|LS4ǃ|JϺ6 lkdA*;]C>t=ܓ}^EPy!ΐI0%ʪ{KRXmJs#iA^n&0f'~y$ ;F!~v"7ijYUbҮ Kd^L&otx6\8G|G4،E=zPC^jX82pIlm =q Iv4]iNb7 e2cW%$zrtln8̪/O݋ʂt?Ռlfꓰ{(:>QUPN)ί/NVntq|.y.&X|n͙OE>~#mgc;Bc2>qߣ*@UMg##Z apB/QQO-l2DҋSޘ>w? yB &HY;\~Q+!ѢtҖ6:Sv)I+ӬL]s?pq̬Sp2y{Q1ti?mX5A-"mpcN1D9BE d}|SjQe#^&-=^e!60q^KewMjo0K X3>J#˦:4$_!')jؘY'^œjl%xlһldʣ @Vt`˴aXUgQIkZiMH(cue7~댞(v|TIN]d-N]2g/;X5VvM#!FeQ=jl'ƯfqwYMy='7z貪 IQm/5 Y˸Bf;|A轳ْ! e:u b_uޕ(ߊNwĵ%e[˨3L`F]quy @R5UU[pZ^C0a$y}7VC.}8g0*\?ĕ|LT3'"n`G#'3W`U?9玊Jw1suK7C~ Rn,+$cﵹ@ڜ!g[ 񀥃Pos >4&4+"aB^縢ٯ}ioRV2Sx!] ֧r292g]) kNRlWkҡwNfK~aq6Nc~_t$ZDԬ=FMVex5.yI´>A:&3ԅ+~!=ºBG''?ѹ  *ҝO_G'ܑX-NOCṬYqcW7X`ټBlRXQ")K2~}hhM,e;#|O~,kz"Q40}D&-ªQ[3i&r/r)3Qcyl XM,&[47TTBhۗcDaC:Qz9O8h4.~{](^X@ɔ%u>7}5gI{:P.49^1{BY`UH7lKb/w=p 4"s{[H> >sれ-l|..1"6ʱzPBS<>V "=_'cZ5 ˈTO46pTcKr+c@={*9Ѥ ^%4vR`~xYpmp;R,'@B2Yb$l''ߒ|Vhođ,Ԃa (&(7R? ƌ 7P?.{?[vT!~9 #.|ww~BX%#lUK#ͼ+C[D͝.r6V', bgWNC}ּFzA[ $e/fUxsgXURdUL:`=qvv{S\ Έ] r]C_g,2_94vxe/rjn/;R euT$uwC>f<,fԢd2Tϊi CG.6RvXmH~Vt摟÷vx]}ڐf~Zꩾ w,,D{xmV!9#թ4+#*%"`/%q%V9§OpDj 6!*m4z]D;Leh-l \Se: = 03Y]DŸ53=hpA%߫hhvأKbpfW:%RJq?T&5{8HqXl:U"'2ҋ՛ӽYlJMǕ_Ϋw'2_]%wdh\K8lc\ jxxrqsw,( } KE~^FCu)f 򙛴Γ?7g{X?Qb FQ9`r2kp Bvn5ҹ2|w(U5a?Es`:}sAZ%(yF7X|[I`x}kI#| oehxM:BPN .[f/0yQCz%]%?3=`%=?6tƪT뤆}#q}U@l]h IyFa(@WȦ3Rb' }Ϝ&= TYgb:VWu`ĈƯߤcB'* aMlΜE%iV}Vu 3<3>KoA!k@E^!qR*ebzɰ@dW{_>|s_Xi5#'芪C xK-G ,Xk]yO|) 0~Ʃ;Xـ_Hs tHE' ?%yҨw2@Ŝ4ͬ*->LcWYf軜Q^-o.y[^(' ->hhB fI*8yIcc!67¿C0&R@_2BZ*4zlkGSu$B{%fi#=%p.|^x~U}轫~V A7-R\ga|n?+W}x-y[׃޹JU{QFc^ ƣ.̋ۋ/ę0mݛK0%6#|T ^N#+uvI0eJԨF%u&yksC TZ$QjNPRMeLtXuVLދyh#ڴsS.$y:.m磸ӽi4IhJSw;L׈"2ZJQ'{!.4Pe`GtֵfY !?0\ɨb3$":^J6$vE)wyHe*O iv3Fy3 IS_n0G|a~44 :CKL3 TLh$YǻS+ȋ1?K=tsC9)UEEPH~Uo &נ7|&iz()[> ܙnJb2,.}yxC> stream xڍTTk;UH 20 14ҝ4ҒHJt 1߻ֽk{?{{y>V&}#^0 !x% ( C.?nVS'o%)(rD%$@ (/ C :|M8 Iw::!Pa Ppx@A0qEhr?JpH;!n>>>| WO>,'pB+dowu0GSC"x ' G僼AP s@UB gJf8=~YXʂ8.0?@e9 'K? Q>B>)C?\M5}>Ju[@{]Ew䋥 ~缌ێvӷitӤhf =hqd=Fu]i>lT4#PS\Nt!ŮxC5{פxLlf-w>d+} qO4C7G"U锅qM HJةݕT,sf tOOܻ_4Qwk>OHNb5][+0^646~%,ExEǤWy+%ĦP=A$geBEՅgc3#c' ;[<+&\dȤ & >-E~zAqE*pLJ)Po5+`q)GqBZ\t4JW,l vxS \ᕄ!fpFdؘ,#- O+j Y=]-] aS$䋉Ѳ\OCҡSKuz/@5-)y[TXld#l=TFj0NOR E[P>};Px@-tERֻV5&o`t+戸д)4+*푬H;l9,ixbNb$ 'љImak'ss%RgkH?ʫbYq"=o)k\pj,*Оd#~%䇥MJi͎S=|gDecfFQ>΄1O sW0xO+vۭhsk|%;gTȵQ8jѷєR~7+!cs10''1''VMi뼫 W/bh>PqMKG06WPVƴӕ" /ݥZ,}b>#R~-S2c7زvagL!o.vl‰4ЯwmQD^1b4-uK_4pڝO3ݱr)5a DYJvS6EPIt?BsEUbP8uή6yx:o𢻤avd˪d!s[rR5_Qql6{&>A3o|y)rl!lVU>xaY;/Q %Ξ<;, {ȓ4r@ y~Y}r=¾Һ9ƣ3|6-Mxk-u -ŏ.1քQ7 hOZKu5esBF1" kQ6-TϻzWDi85L2؉Q,&1jxhgk@f/p͂&=rRdpBXw F“ ],N)gw3ؑvt ߆<IJov[dc{o\F14z6<ݴm|bT|{.P]< &,ӻEߠn+9{fmx!j2zKnyԨ.'7Oq7,nF4D=4r(%KՃ T7;b@ח3YZoq)v/); E7Ibz u\.jEJbhv 0yLx-p8=}/֙*QNഭrN)0n2wOV6 Sh.\w<}RF,6w6^;C $I z,- ;/3M4OD{'j@߆3J"n= 샮d= o |O-EW2LVC)ձŵbؑkl 'bB/ykk- 1&iQd#,ܓZ&uXjygFs;MT<b^vkNɮ>ݔy N?lӞep3V k{AFJu0MXRn2i}rEGnE$9ƥEHa{dwf$aAsӕgv*jǑ7Heh64з7Fg #IaL~Ow4N?@pU? vv9?\f S`y4,Qz" \Mfh~mZC,(7HϮ| N ʊR(T ?C/-b]̡CT. sV2sMeWݳxSդ)^mo 3CU{,Ij=tѮgtP~H-uBc79/g'L;sol(B>2`xI|:#L30NYiueEyf[}1wX9<49XŨZp49sתsZ>ǿǦH ~ޖtf܎O},vD2lqg!֫s3(RqǔC:^,wKCpf 6Fr_ZW1ff&g(HogxUp;/ L_.̑7ehsRy 2C#܎Xtfǖ)k'.#ñFoeߦpQ&Ei`uXfi!$}M/ўV~{v8_~PfZ꩸(tzU^lڶG<_dflPC6\c5qPv5kF>M ³ۮHoœF}AZL$Cc ͱ6J/v)S"H/ ޻3\h\|ÀtE:FB,.'4f빖 LIR5T ~aswKVREM':?#ach'>sI< ދcplB$EoѪ$ӠJhKOJkppn>LI^}dת-*y[zgw>XUI%|L@!`KX4)"@<)\۰]rrM1_.Ml]Ww1LtGg~̍(]|W-lPᙴ4 <;n_܏~\vTo0Kf@TlU(˼l+ S"|CC~'/`D<*O3ilm[,Qu {2 .rJ_xK3䷖޽s@Zx!|lSznI4;Osܡ5'ו56 Qֿ4zvjxޓ)M;2\/Ob#"M˯Ͳ# 52SXZN\гbkz!N.7:alˬZ~[,]A8cÇ|_̴>O?VBƉ6wT&g`&(5ŀ/TI B747 tila%gfg9kSo;cvdeH˩gdžr\6)DHP,ZM;ք= pd 2G@Q70QǦ5a۳"[<ʮCzutpqWZ^hWBSkKJ`><4tާbpc։|¼Bqf i5 D"*DHbgC#["/Xj~J ('RT}*GWٵB3|Ku]L^3sjTOhJ .ui~*{Hf$n:^~HDTy"ӧE/)m$\mX<$JT<.XF K7Z o ^^Vҳe_f^4FG 0E}2삗 ɍٯy1vDnx#ŘOh\IONy׶) \.;0ico.ܴl׭m[>12'fZ;dԟ-.{9rsTrV => K|a؁I3g=ϛww X>*^6P^9_ň _ό!(alAnqy&MZS0o}Va dPSR, R.1k<+CgbUH tPn` yڊL+2Kfqj `{"xQ[x|ߧ=ق1=@䢆H4$!Ar͟ҁI*޷8 4qB& T-؇PHDnZ92|(14PD)G:fAB BN=٠ph}yiLE]bWlr ڭg endstream endobj 1029 0 obj << /Length1 1383 /Length2 5971 /Length3 0 /Length 6923 /Filter /FlateDecode >> stream xڍxTT6R H Hwt 3 )]ҠҒ*HI" |9=Yk~ykϬil& A@PHH(P70@((Nc Ix,h8 )uo3kp`($@r@ @h8!Qm&QGyx]0:p'vF 1nPOlE3`áWp`D=Ѣ(oW%a0޾PCgODIxnp_3 ` 8DcC|7[`0"Ht%#;(O/gd P(# pFB~h6pv~ R58c'3  Epį~n&"1h_i`9\$ GB`ƀxY w}0XɿmP @(+%% @`7_BP^v h~}4$?\@@]HgǚX_cA!>b1}ms[}M?#˩Dd$33Oݧ[?3! \(DC,%w@ΞpD> PX- jKP󿽺gTXFnoeP1v5-~ GBQh' 6 /Vd`SoDQ_b8{{;`@ &Da!!ʛJļ>hO8C`oo~[o]CP0 ,4AOds`e;>f N;0M0O{1꘩`gw^/gcp4DJtCP̮שQ8eX]DKJl=Xvٍ޲x*N(9Y0IE{m8W1#6w(r|u-&.qÓO:%玼`pa^_&ۜECLtiqx$OԫR=cx񜤗̔>Oiq5TatuOJrNwq#c[zpn5zHΗz Dq>=; Fw5^I34}"Bf#5)c(jB! @Ccg3zSXۣx5GxUHo3txuW^n3]ɓ7TRFyT@JQLiqnmy[مIK sys-CbhհJrlO^?ThS̒ {;ypMS e R]ĉmݜ* ncn[R/l疋~Z:TݻS KmKjS-">g:tk.d֜uZOh\F冸)-;ۈ{_ZNom{9l~QsWM@M-+ W642T 5dKR JP[/ݳߖ@tupUP  V׊!B23{@E^~(V_,*R6X`rPf .q}~jZѾ3f 2Jhx:SFә?RtX3#fÂoLB%6xYG2u,eӘt+ժkMK˓?;Fh#-QMv}JWm,hT}$5^Y}{kVÔu_Sr 7&G!.j$bKU)o1;>ʞ0lX 7^=f&ǡ'3OT2Hf|L]0RdY2gHz~oҼM 4]<%NOgG8s?M<:Adl`R4ʾ}K2OD0}vcTh6grW]o5o.lC6{XD[I_㈱ x&.$.c `/'xq=j@.%딿{w|Z$n[M@k$4/DTԖ,|'2 Fk:|HSCZ j!M;MoWLf'x(<$S =#Q3>Ub2{UPHAE^jY1{f 8Ety'l{h h^̢z-.mҊOd [@% /37-g$hW!#`,VŎ?jnX*{c0kj] ﳍ n׸>xK*Ps߫5Huh5(*BFf. q\<=nPm/ NUty,2R\I}_"l ?Ûk,=G[2=J+KϡVVvUaJ;J#lqˡb{i91+Qld'fu-NhK:D ΄\@ sO#4I Qǝ]| 6]+PO 3bDAMɛ _PA5J?]9':pf'1?V>u(2g>ɫ@@C!:W8޻Hoř'-y̞(WSj'&ଡ^/NG 鸒֑)xcO~d-5/ǩ8K=jk_'-%bAjr܍\me5xiusiF7Hf]2Ho"ҽk5.~6#7ʨ`,uo) u -pǒdy؂c&T]wízqZ.Ve[ F~>4kޙI՗V|ޗ xե]ŁZ]x/We|%-`S wCN/gz%y_+ٓC663I؄\TÄ_*׊KRGH%M]`2TtGLe}X1-XHb13=nyz~jVih\rv4Hb8 ?*f*ߝ )i:YûnLpCc^Z"0Nk]5b[~2*m]*}?R|:2'⚶T>+y0v]!Ї9pk@b .ư?!CU>V"լM"9" 7eJ!m(Cxl8Xae|i7~bP&qXBɽ>Oh\pY/NnJΥo|_V(TpoFIX+. T^S4<$cK bïĵ(#}{x̣*@ pvK~f_FŒJyN7Rw/|i5JruˍSpmk k+9|or8zC¤ax|*:1k-GY3vkM;UJAј!*K W)"<\Ko+xOu5!Fe6PHZܓIhtv^Vzpމg)ӄ@ ȋ^o?m z3jǚd"-]X^9|wuG D9wH^h5WSX'fdk󝮩,pB#Tq<冁AIKSA_SM CV}[tOP=c̸辐HYs=휶J(kN;m}T$ґk~pFѲ\g(/rf*\!V՛lCKfeC€Bܖ( m>]9{kT`0,J~|@lj02Tp'_V'1 ;9~hJIt:m-v8X- L, Ϡ^^ȇW>1!Ga2sϷ\}B=BʤÒqcvcI1֖r/&s!hWs0I1ΐ#vC)ي U+N!"t&bMа"兗Cû -)?m'T_<߭uW:§ai(hc]H M7by SѲK3{]e}Rn(y5.䡻)n%~\zFG-Zm9:/= Vy'|Rˍս|1U?x=J nC<~+@U9W }:C5j'Ju7_D %o|6v~ =<LǩV9LF\gF) Fs┦U8L\':/.s ]Nstfh_9]a@L@DVo$cv-|_`[tlyE xI&4]L]i{LD^-ÖKS3u 9З r9l(^CڒSz]Bu4FV$6xC4ŢT0(nUEUHoSitێ6+&hR>*ISg06:VDh%d(_N]%wF6 n=5hLɦ^*+O3\׹^{]s yowX.̧u% J$h‡ȇ>am-yUZAxv g9)ӟT1#f AP3̌:!Y7F“ ŚMe^wk<4oq[@ xWwB? c^wR'"sIoI1;[9a@ۘCo|;9 hG2aa)V6S0-:ML~Mds}5OMtj ]= a;B %lo:t:u-H[B8xQ|Rx]*3exDT]Qz)LK>7f4 endstream endobj 1031 0 obj << /Length1 1376 /Length2 5980 /Length3 0 /Length 6926 /Filter /FlateDecode >> stream xڍvTT6Hw$CAf!fE%DBZAJ:T@i~Z߷f3sЁ 4 # HPc1C ¤H⯙D@ `mJ0 FN $.-$! Կh7i@ 扄`@Br+]|ܐv6xm!)) p@ᆴM@6H)xe1iAA///0v{@pD_ Z0gğ܀=xAܱ(8 n@.?l!п A;P>H`tB*o ࿀0'w46 C:ߕy]mo{6nH;E_i+(;n# E඿{>@!]=jJ!Xlv ^Wz}o/3? `mE`HaߎH8X#(dǚ!S{BwXz('WPHCzO)(?a!@@JT$fс!VO H){J*yjg.-4?7AloW 'n sF:`9_U꿡?DU:Ga, $ #Ucc1~) Bݑ-(|Xy8bXZv!(4̄̇e'#Ȁ `Cl-ڍXEDAlϰ>ps7 k[7†4vC]xI<0r{Tqog&>Q긫4ǦYxue,(( <{sqfHZFeeoz3p"B[djv (:He\cS͑pLht L6̵|{=Vo)l}`!͓ӡpuWg*Cz]Vڟ*wLz# eqsNH؍<zj)ۦMu&i6$+Kf@gLu- kSwg+︬-$=7lHL*ϗ:.y:#WzY-y.tH*`k/Z)4tijJ~Jffۦ>*'6ڦ>CI@o? UW,+ 4||$e\0="p']u#+~ѐj} ;aLc}0R<Jo{}E@'$ ۙqө^JCj`=߾bJ|a}IUoɡG_#Cp\F*ٮQݞC2_jM]nf&1zF} f0Q<R?*VMr _XnXT%E?&CnԚܫV ݯJ,kz;\+3ҁ&q䄹cG˩cS]3o|G&*vءɢ-! (8zD.R/Po%KsT>? fޱnVڏF^ȅ[ѯ GYI߯'QQp2< A˦OEl|sbe =ҡNLmI`еqIHPT3<'=sթ\1{տ [5|g"Y@š:{l[ؿƥ!"}İp|[RĪN%LI6DxBh-*2bQӍ~i*xepL(fE/PoxH|6e{!{"z*=;!vC1PZUOז޾Mjr\3cym/!%Kq ZxPHP=x.Q 5y$l\56:6t_hY9nϥ"8rjl>Seh||q2f Yr?T?ϊO*P,7j >f4S i!>嶙=hTQZBH J0*s&awfyhy h~OA-Hw djx~v9\v7]?[njIΊj̑, юYLMD.kǦIMp3fU)浏`%2U4(8Et70Po}wJiWr bQ%?DP-*>R&W)]8gBF,e#XL<|` i>ٚ~%ܡ"ȋ,;>,Yld Kh-T(3aZ6̣6CoJw/ZhHhhs+Kmi۰CF&ԾywʅTwSv$hֈ"bQ.Ǔònae!{y>tRl̮Pz}6iHtI1 $.ˇ鉭Sֹ&⹈{Ծ_B4dĹoW;_-ɜYT 'vQE<)48H?&yJފM\GM zt? <]wѰ?#s[i?be6}27]NC\W*JS>偺j|~zNC֪b&2ʌ BsQ tϛn &D=TK'u]ƹv)% 60uL~}s^Ib>y"\ݶ~4fy y,H=+H#I(yj~|J_}8 k=mξȮ}jc'G2KE[-6ĶWvm~VxiX2k{}4ũZՠ]v²6 tkR8a:w'y#UOpƲ9?+H/AΪ Xy)=σ/7F]CI=49PӴǵ^|ǥ* [n-%=tY*c3 ~%FhNOTغMjRzWHs&3&جo4_Ofv!p­ "WB>_E-sYMsRqTAm^1nn :ѩH6,ґs-ƇNJJ{hAEroŶ:(Q&k/J|9m3wY԰)KO rNde6Dl:gGh4RZ+.( +.\'PQ=kOc_Xk(ޙ{`B&;k&}^rCb9`ϲ9@~+Wd7/E![u*&/DWE }Ï T"{3657Z @k+\r^H &44 Mx?P OԴ6Dt{a޴SĉsjԮ5JJdu-eVk殟wϑMw#V$+![;M6H.tϐ@&'d^ajʣڶΟDɌ{ZR. /wB|@bO4~hJgoi&oHۜ0Q}'~6jQv4rxWav+Zs=92/Ѕ8zW~չ 2vqZIż7^wqH~FJ&%g96^[,]Ea|ڦTj`Qxo5p,sn(:Tl9.'üE#eI% #ٲY( `EF`ًU.$~.Xحs ٴZ20TiCqfn~ZV)#=HܸG>\&y`.Koeƕ+$c|5Jo'0M\.gLRK1t1"GcVKZeMi2g,0ZcӺg__{*_npRhi=kFy H.V2 DOWAFȵ+]53Lu Q{f0fGH^{~+z9cK B> stream x{eP\Ѳ. napwwwwwwܝn n@p &9so{?_Qf_Z{@M,nh qt3 @z^. 9+9 Z[;:H ' j8  Dk0(@-/';9M5D1ttr /' ˩ @hfjk :XY*5` Y-~֔jjiҳtA`=0 Whnr@rX 5ݜ],@J\EKajkj1T ߚ_ o_ZZj쬿`CbZb_@bjh; v`e`ts8X8 ee yuف~0$~5dm%wR o3Z̿ ,`OT4ť/zv bk;WH!;gH[ 8ߓcpveRW_y0˨h1+KJhJ& h9vsPA.9?JHJM_*gfH8B1z\6 2֮`xvZˣ  {X\HHYCvtbQXX;*1͉U $/% `!̊W{R ?'G'gm ![`nmxaۻ#b9}tO2z1f`X dVG0dN? /[yJ+uUdf 6G!!Ko u7ux@eH#Jiꩈk1 N2< 2Vv.1y;+#bpr*X% ^Xx2;UAV? A(A.JAAA.AhA.AA.F. ؙA;#n2cab+gᵉxPٻ w(toꎔFNQ coM@'5h1D}8Pfyb3`_fZ&vu4޼gƫt!g},Ƙl=FfuHY{f8=RO_ca+E1n]v* `'2ٹsmiTت\~w"UC h-9W1'z}ZA+%ڧe>j5ɔ/#K.%4:h 䳔./ůNb:Un*šbپqk*G@\xLs5]:!JAQFOofҧ)(; 6 4M ]u 𣗱,]a27GudLő6H=iO^(M´zACD/.znNԨNq _;33v8'm#ڗBk3,CGD)i1߯QXmB\jPW[9|/QVRBiˀ/qRD"R }N,ˍ=/],Cx&7芗=PGM]}|qK"_"j,S-S˸k03`Jh&^IO'eVpFt"ODQt-0kć] ɽ)uim"VafMRc.9qYD|'0[uD:ц.~RM9µn𫈎ZӞ IV2oHߗW*A9Ff D˫GgN&0@$ @LclMKdQ/ey ld:$8|GI@NFSF}ls<ޒ^zB!SW,.ӵem~\vnv?V)px{Al^E.w)X@E4CZc`.dMb[@ orieӎZL)e~WQ#ݛqկw uqϗE7hD7NB֏K%R)O/p q¿;y!bO,@Y/[s _!,C=*?B1*lՅK)3)I}^^]h򐉩F F_\fHtS>~WpIД{+HTP:7&҉¼'-h49. ؝sVG4O XpiemW?qAM] d >^?=>:hBjYחC{n;ӬFUAX/&&LpJ$=1÷SxvHg [/iQ dQ 3|3*!lKJ`nY{psZs꽍* Pp;3&tav3&F2ֲ})0S AZ!Uzlj۸"fe=)#A]f8/s+4>Mnբ~WbPj8dCneGQ\|W+D8W.ԫf&x^nT9˂꡾bАHjEƏF#j'" l gF9!(Ŵގw\^'_J1G[8zx$x4HCGQw ?w40 Τ$(T9|G끇Z"6J>8C<|X}3IP0}O=b!+˫YbTv 9o6QT']0ƙVp ch|nt^Yn7PWAd@R! =ks.MzŒ"5-;v}&KWמ^AR_ܗ/u>} (Lƫ)Zo8Ay.Vф-t%"黢{UܜϜfj29h)2$"r sJ4+gZb :Iй|yYʆCu9,}s >lWMg{0yoIuF9lG VC?:qK&,8bꁤlb<`䫽 h󩃤;C+.Ba]gtsA+M35ޜXcb[9:q:ׄH=1;҆X+622d(˩DV܅$ [6t@ce+ZǞR6߇0paDMx05OvvG~T<!o[|NY>E"k;sdBzך(X *,xm&1)tۙZk4ްOcHM>f_TE pTTĴ;O)ed/_6Thzqd*nH$AU.8/H;c↏I~dHQ[!u&̏+Ou B&8k;]#"obޝ<%nnM@8Hg6 e+lJ|=XhŇpq ؿ1{m1@ AwlGV.L [ffӹ7}_&t).[ k𙈎LEL7_;PN\&f*tX~j=lAYBZUxQ*~7^KO2d-L@#=-֢3FZ =`t[ћɘq]C&6_qq\~.3|a!A~U?B:5AQ?qqA:l'z ̧ [VY! W H" svf;IME/ɑJ5p@o\N <.7A|WLhm܋t#v ֒&];Nj(FCi,#v?]pDu0qBRaMD~f~L ɉ>˃\b{ԏߒ1:qϑKtNX+R0 ,wsdԛ]It(>xzsU")0/'ZCouM z^Goi]d+ £ٖޱ&.| ۮWjnY"IZ; Z䏜1M?263Sc4Ϗ6w*1N-E;K;YiNv?4]cDg`e5%")bVB'`@/ԋw{1B>Md`OC@aC Fw.4l;qlz(dCS~7+pUvC8*~#둕oa* RuVqdX|p,>GuuKҝn_oJHDZKh$ %yʵ ^.ENw, y ]'\ ^n,n{' 9yƋgNaf5zv̾07+lsbUu8MI-( mFc;|۾uzWG4,J-{E|T0lYSȣoAlWhԂGniyr_0v0HMUhօ1EHu6qY@b֧jr=uLaEk d[voWX; Yp DA/1eR[BwP;9- apg; lܸ"#yNRª Ͻzجۇ(Ծy$xDl+7t^r7j5ţdf #K e| P;?(n ;"!\+՜<:&'REtX(%-38U Ʈ)qkosșȡg2usKغ@!f(+vn X1Փ@a˘|M`'᱉Ε XD|N<~ Gk{8 %]18R&BPٯ =# K-R/(s^(͜qʠM՗7 [K./IQ$L`wdI %?mΘ.[Ij0+ʉt"G.(T}_5ŶZ <(_^%MYEnjx״+oCmi]͞Lߢ\eip6$[c/ܚ6+)IYabmzd $\>N ,bemCL6'ǐ8.ɷ,L8P'~BOߚ<7<:Dop(SwDya֘i\D|!{z9+t+Ϲn=&'VYpHqC5Ia|Y/E m%W?Z `Ũ?O|I|+ N v!<[dxX'Tk гm7z_k3"7~TaطͺQ~JE:(ڰ"?BXtsN'0Nv{E٧u]//'SZ8ٟ*gی? z.)^%avD5ff똸t9L_N%ҏsDSSiל@X28Ȕq}(]YچI?j[3,XG(IyL (˵],@>^Gxc}ċm*rډrOYф[!L#&X;O*r&z4O2\75.I *U;z>Ko:c I72Y q3"\gd!yQd7}¤G{dĖhRLIgBqs"î_}T49CRiά|vꧣ4ڟo %ZJHn9PO,CAG+ͨ#=` #WA &S6Bg쵯oDn{m,_ie愼 Kv~ּ wH d͝eq"+FAA'P.t %3?Np̾|jXjp)Qknk`~R{|bQ"%ƶ5j{t. [Sǁwk1φpX$|7qLHC7b*D Аh0r=v l/AKj]Q(dhO &msekIM"!/-_bVAK\I˼(߹-_w􅇆bGc }ְD Ӕ)},{(7ʵX-^D.e.EDó})Ӯ;M#Sk5C߶4|67DA/O IF W7幽yP;Xgz *IŁߑ"J˰rG[y.Ob’€bLҩ+u`F?My&s8[ ^3V|Q 4tCߐ4Ownh#ZMl)[/X.%>8Fr)`?;@CEBG×KV`\5(˨b`9yYtx_GhQvwmj}drv;FL>]D[H.ٚ]9P>doTj9EBN®`YTcBBrwT,[t֒n[~Aiϴ\eu*hn/Y3Q(4\aQ"RR?9svE1r7`#vyW8H l W(~*kFK6Mfz,>D%/^`>Q>!–fd\1S9"~kWʚfkeEAhKչ ,|Hqv ۃeӶchiZp$5{=**79V-ixݜՖ(-6wr!)\۷ˆ;p-=mlg˖ tX<M^ ucADAB?E@.F!u> Jxl) ( hWDe*Kֶ^ygis Q^"&/Q Ǎ`\>E'w<_^:Q )"9vXwqlJXb,+L >9: o9a*.'߆+;*0ƤȎ9: "7U:Kܨ*Fv1l~oZ0 E' <5+Yr(/wk/.TRy>l'25f7#T}gpg[CTv-Ms|5pJtďA u/8ƸE^ڣ I;-TX:Ov#bA`9 n [~Jq鍄5FJj߮߼fy-]LF kpxj4Msf;fz/p`ݙ7T :ҕk FG |k7z64qIE<$or객BS;O$H^Bpv4-77Xqwd}Ryȭm+>3j80ΐѴ_V~]/}%|RNDڂ)vb񄮻mԙvYiNŦinr`( g1%r0¸$gK-ei"2쓸=usVKX>^ u9VJP^]USE!!L` çJ7?LwRH=RJ\-YreqM%y%kOzkq5yMGvWݴ"Ϡ_u7I!eqҴnUJ DdŪ"zHi9呹w[ǐL&$rT(.n''08- l}vV(a?13֙RsᎫWb{(D\ݞwOQ9A(,m>42߱κI=y6Ȩwb]GɧLd9}?Dݰ=:Spw~ kh[c|1П|:}[0l# ?0 bE+~$i''!ʦ&ᛋ7i5c/5ֻ&#Y̹_]IŶ:{~ڸd@!,pR2爻f2y&&0f?kUZb ze)AN4ߴgIL8A`D<`aSB9@'ikm-=-8툯YҐ]{챻h9'v̎"6lj G?,X7<ًq.gȻBv*%_n8¤.- FpV׊ocqE}UUWf㑷4⸅IHn"&QCsГqQW/JignAavP 3leH eo'q|'YS6PJ o\A~]og{VZ:T%'쎚Jnef\ApGv쁠k;$H cq_aվmixU q5)\+]qlM&ڱlVHww1è!{)e N$҉̵$N[J8PgdU}}4Pby',Qn#QcIsX;7I(5޳PK&/$>Jb3x PfNQۦS - 5㑰s 6$In:_ b)g8C x`K<<>k)PfsErc ʾ{oh? "BxU+ )C!rVX3:v5%"6˷e.eblhyq?Fy~0?JuMI pIOoMzyxf4-}QzսwP^w,su| )AQtkWŴ3h@ 7p3 ڨt`O?ɮD3~B<.(tNLӎQc܁_fwܙ{U',go*BFJW~_y$,j9G#٠pl!-fch\6tLsh4V xTf#˹.n@ڦI*8ۙX ;ő&/̢e &FZd (HZwhhekF֝ Z_m oV^AD G1Dtޑr3)C;\sՃ|[wQ3/',0HFbwH;C.4v+vc~x~JC?3AlixM3Q݊\,">tq.6\iKYTnvla~5t&/FU0DὣD۽ u>VŞSt%9rWFת Xo2OkZCD'I-@>&xR&+XG|49p^ 6:Q+bn6kq- ȗ/4PX /ϲ|s,}̇E頛a߿G~yG? Z ͪؑ.gT XҀ&'vؠ% w$Mm:ջ O;NƕL-zS&P&Qи8u3Ҧ'kU[Kݣ D0Wmxr4T2kP2|>pJeZNMI{#_gBgո}HlAHWcG6E|# _> +W<(uzGZЧ/9*b Vy7dH/&F eE?IdҶn.{@dW7j/ b.ׂc-,:f/mUCZGٚ?"RN'=#4V;1_ҿ-S+7n|<C^ye'O}!w\IE;1mE|0m3VE6 qE?Nn RPX]֚ o2 G?/:1t35PqC!k mr{*Obi|=+0¶.JcH-bYCSyqhiBZ&KA56|0FJ*"_\;`VJɓCS|=IC-9سl{K;{O\zt((eH̵oz[3}>&L8!&t-׊1lUtB#n{F6SPɤ~FHe:]CV&MX*:O p.½dji 7?MSw798퉳jGt O^ԞhΛzdvd{ HUg&tq .\=uKi}}oohKO&s[3wP BnntA$Pbc=+at{hm̮}Q-4":9FɶHg.҃VP=$dJD\V<^5 }(ZO.|E߻N:l*BqNQyyas+ޤv>/#aߩR6 (^؈ q ,ʚ$k9h [tY#.#0[Y~ȟ 3 S8"L@9MpWy-+8{dNW*~?B Ă>D)^I2:9/ '!|Q%Aw bv\~!bv>-.,9OFеu. L6ADEn0xB YdbB6(]gAI.N"Դ*͊-_ ]biYAL4/l2$lჼG4x4dhjZ -<=6kQJWR`ΰ6Ai,;q\cG7 (MmJ`zg:=)ޗږ<8כB(1Y>Θ biq*opðm 6ͩ91[w@Ѿ :5=ĦN5j?bL֥A6~f3)(kܱaVѬ;wK:xL-N#Ijxϴr# 7;\k,4{Ƒ+X4 k+2 8ėp#o2`P*=0v2:=-!*N:~2*$pljV[x6었 e BOKoO%X"З#! _,t3xWB[}#4MVc[ЧZq вQG@UDϚT~ol~=ޠ~2êguq֫~[x#R* l$$B|=cjQo#xj+ +r6 (9Q{m6ם+=^"q>LedrkG&e4aZp-Yxfӫu KG%#(ȏnqmCy]16 rK#(߾e{(¬ZOu28Y b/ ycZϳPNجt^p}yTڿ}O{gGb^!o2v9{W(6bF_%j`Onj;t(|*u'5۬Y6X+ dID^Mr(Jp=^m*a CTd~7{QF/Lq,M~gٸ({Է{a?HR9垼8-NirZcZ]1RoɌ ?xsdV1d_9@~24z#Z$&JmJ̓ɵ{+#wVj̗L ׾5J (zHytun탴G=y|_gIPJy>[1\x1z/<t M+< xYsM:7zjXE̾0Zy5#7k`6ACY^4*st`>J26ʱ;eДO#Tq)APɯmn 6Q^MR{OLxsum Hḛ !.D b}V tqSJ=?,:qڎMq`|d$j`nj%̺J zƦM근F=gۿ؅- ^>Y2?lآy*"t'Pٷ;qbwD.M)"i Q:ui,m7Sw><~0srsB=R_{9ׂX@~m%,@ @rPLWDR`Z-Mo_MVӎ&86xGE sy/nn7{dA BD O&ҥ$9SF`O/Y p`٠mD^_˫73ݱeU~l$@@3FvY$z %%@&Ӝۣ#spċ[(=Eo_ݩec _V=VidGey7Y,'kAΆL:0[-%̹Rҟ)K |q,goɢB%(dSJ*[!#{E8jRܓFxsf3rÔqx*YF3bcOX{|B{J/t#I}ݴșuRm-mq.b㡒>[A+*#K04"OP( ZZ޼˴VNl3EE0jd pw^w8; TI.8xs }3[HtiS&\Bix+_j`y#>怽@Dmq*Ag?D.}A޷_뱄w<ک9SΤ&ՀcDdI#K3.1F=LgF?3)dB,VX8h_e-5`% ŒM=o+t,~B(T>Ap68f֜`sûAgN)9b}/~Aoio.y yfA`d\RHIkwD$r:@rCn` دRG` a"-@d"Q dT;Aڨ}T p"F?c QI>YW5'2]zzY V$! =a3\i(( {@b'Sɧ&1GֈzN`[-)l1Vr.{y˙MYUIv`'ZLv>¡r&7ܗI.mLjTءIǙ7HR@1&%FCg#iofxZ2 C.BXeB+$L01iU+$I! S ߥ&Mkd7sSB0 8Xҫ[9oԄp2 s`-qWMl䆥9@%F <[k@u wU( Hv͚.&^(ޟմ-8uuDzQ7H'3B,U6 2B^ wUGP)za R{]1. @x|Kʳћ5V)s37ďrI8Gy5#}p uخ#FcE1 t,;˪8C9&lpNnt`j7"T+@^[9ֻxv<Լصo׶R̢׋PNpTKty;4lŚ?w\B.fTS^i45m-Iک&J"!Zt9.p$9hVz)MN^&߫)w;vzO+iFHuc ^),6.RG>ůH^L_40VgJ ^}<x1g#,q&;|<ȬHzKMx6`FglL&0ʿ/7&( &`CC 90͂Pb p!Ȫ R2 ,tÊZ$/W9%g{%\ropēėT7K3WiHHғ|(&ϩ7F*|Cw|~moqǒ[}5 KFeC|>=i!.I.ЈS׍}k2ƚ>Y"Q!  Z@JLE*:u5_yidyL}#a RAR잌_jt$ ^-5;yOL'JM&CDT c_!p _lzS |يK̆%ck9<a8Ȗ%B KaҮlIR#?{"ZRd{5, eSǠN2*=;7{Gh5θU %/_|߶go#7vUko'94w2yy;wcy+(Qr/n9]$A˟ћ݂CH)`@AsL{OGf/PO*kZVA:p(½t\ ܻMBPa&ﯼBO.[~Zv*5WD<3IvUf,0]-t7R/@w]K߾ %F`UM}^M~;)nY^.']δUt%;5 N :U3fb¯ghK#ԙnLsΔqͷʝvZNɱAc#(h^FAӊM)RZ >}GC2\$:\u,#O6R3弒Az]Ǭ7F :4mqZgJP kqC$NvRlMzil?.b2pNK8_[^-n5t'|JΥ<"ƹʱ;8A^,%:iTU\69O4y>ɍ7a ~T3m.ۛmHү.9A\nKǰK C`: d܊J:fܜRމźEG e:fT. el,J-F/Vݒ_.AeJX@d=C-ϲ90z+Ibej_O=hjҖ8Xf*Q"Vْl#y0/TۍS&y!].v랊w|;6Fk\R)XR"ˊ7.\'ũss:v,Ơx 1 Ӡ]Ϟ-/eRrOӯN.V+C)H> CLq[nd-P${i*ylϩa6s(^%&Tf5hd()LM(|W[At( 8Bq! †ip<p&f E;~5SYO o UCŝ,DV iտJc̢&6+xuqc Ƈ<ܗMQ@1ݙ  Xjއl~gC]iBܴ9t'A ' U}Lp}KvǥrTM9ĪGg/Ր(WѸ&nضS}Ъ '9}vT%s/ȳH5Z> .R".It@LQUKcD<+lAda^C* J8;e/2kT5$ś_FL?o!yj_Ru[}_@|p2 g 8&Z*:ETu/O!RW[2^&~}-6䡱/1BPдfdÖdoEh±™/(Q MNh FƧQ`|k`&>Kxbkc1yDry+Ήs?MP '&V2vƽiQϺNTXYfZ6UvSWW =C<&b{j@׻`I;hǑZ5hM IWK[:R^aCǜz,&_&s@=WeWfKU@m'[5f.H)fyATȩs9.*sVrDa`b;ɀ~);&־=c3;ؙeݔ _5.>̩:IX6x7\d~,N/cP䭉 o| TpJ9̬r"P U U^`M~iacQNn_8qVS×HZEuը'7ĕ۹ڢa)WUgSA0O=W#B. QZ Wh_)2Fƻ{9ĺ",ham;-Q\;ѧ3s>yYgEP>b'Fָlq#lgzPw[3ו@ChIFSzI9$i[<PF vSA䃇`G^0o\Y_(RkՆ*v&,L7agwClS PMuLpIXcE'lZq\Fu'1%ͼZKA":u%u'icѠ.9nqM->M _r&5|R*VVdz>)Yt^j₠Ǵ:gYg%T irƴ47e:Ak+#㋴4k3qF/\ Y'qYF~~#8}H_(hKV|)Mngσu#T2]mGj_ucVqSNyi>Za`k1x RZ/5yGl/HOI)riZ26$P]uTcAԻdTfzަ&LdR.},BYbLD5y5ݭךzRXT\ߟTE1ޱNk=!g\fi?Xmϑ+Ao(],fiQN(7Ljz|BtUq[ }Iz޽pfT- ]sQ2ˀ!Sy.)B{ּԧ2+3R Q#A<5 U^,Uԇo yDY.FW8ָ`x5!g- endstream endobj 1035 0 obj << /Length1 2164 /Length2 12698 /Length3 0 /Length 14026 /Filter /FlateDecode >> stream xͷeT\a6[pwhqwwIp܃wG2sΜuϻzջުzJߵ+2$Ll̬5#Hh$jgc* 43r"QQ9Ζv`q3lP4q~3`geCH 7) ry؃31M [Ato*bvl010s ;ucT 4ssYfyf@k,6f;&U%TTR*Jt K3h rL,@g hj@0@oU]#@\DAM`H1ޘ%@d?j"jJl,`?¡~ hTl:Z8;󳰸189393qfa5db[akOr&o +QPUczӟ3?PT$D%/?,m@Nǒ[-m\aV7g/# KW1Dѳg.N^HvtrvE?3mz%r(".b=o3,6}%- lM5 , 0ugQ[:dB `&Ă/{;{ cizCru  BbZ8MbAk]lf ىJ3xu[}'jI7K84A@H,$-AJ&?p&6Tlކm[VBE{U~ׁc^cIܔ U;۱E &z+]iV{k;&u{4GiѢ|t+) GkR&g>_ezE%!Etܒ?bm+qTcZ~[cL}#nfat(]֬i5 _sѕ^@*q2h3#8q]"9R*(t,'=S K$NG~V",sv,iha&}D] ؔlɕ\{ZgLۭΝnŕ_P +q{$:B_Veȍ^0f̬z[GGrbxhN>}!>( ʡiuܨ3U4S↨5#CzyQhq'}5/MeNlG;G2}EYÀ6v3䈭5[oW@{"-y -B|wl1@IACf0\{'bS ,kFDBk$5q/6]0y 3p gW%2&"z>\H}ubRJl"qam6!bU7D8B{o>zEwM͟.h/tW#P~#KdDwmV5]L);j(AW>v+;ͼ!Q 'AJGq / 85 YU%M23HnѣXˠ;7MopA<gl%E{S z s]5 `+K(Ś 1B"+:u!YyqE7Y0oQ_I+ RCY~Ǣ: b[d޷6S Ӊh!9&wF!hQ,CmnL|Y2H [r N+卭1ya8y'cH5oUm)7p%8E`NmK^.uk(?jwya+h~H ?kGZ2=I|*IF> @E _@9^0\0|P?K-AΩ+}N|mOЗ%?x' q5[0+OpsE$QnE'S?R1xz:g).!g˗*>tH;C]ʢӥ!9O3XnJ Ǜ=i]&<ф Tbyקf7VJ%;l}$K*i!Kk OC/ JO".4D<`AIi^X2:&'kdH @!@Kr\]-ݭ>R[I-5r9kM| !<^ i?Ueh$Nun71#qr.Sh5$2Dn Oo ?B8${_ݧ=8}(bo}w{"c4WM_q@x7bHMѱMޔaA*dS+kJٰގyޯøzgȍJ\[̂螧X6kyW=CVy2Sgt/yZuk[/:ve(wS(mLU-O=}n_*0p ԃC~t@ՙ=%l gOS2b7!_UO\3b7qK뾜qoMfMzuxMNmL6-=9'X'os}KK/ *2Wys! !S  "/ r~-%TKw"X& E Ħ'W~\] eJ0#zvCUʬ(iwZhŖ;͌ˮ.d?R5t9Q)VxAڸQFҵZqםV<@92fs~7iۃL^TӎM ?ݛB{梁bt:IY owMYy.7~5mP}OB"O>Noǵ+T I" N98qv C}< E:Wt~$\QӆJ%{y^,&KXpi_yu6_oF[.K[`(KK HUXLAdžb+kzkƚ7[֍lH*yUBWT+Dl]_21c7Q_125H)B|]K^t6y mi+FE96s{ls-nc?/w@MlSs'"1*]]Fӕmj,1IqNꕩ,`>X7+ֿ{oآt k`S% =GFUң3N1OȦ4B*A%x >=<3 Q/́RJ8O|OH*jM;|ɻ!Hx=S|M.Fhؖe>%` c $ IA#O"ɮ ꜋=16ׅip+~Z}H+<. G~Yd=#:saj3Ev.@G\A"h`*+]?;Sd.ny[8k@s^"V6مn =r%FD/nYľ!Ӟ8-eG0˞`ݒ˯#'-`v֓Оʾ~ ]azXi #~pu_}@ aEEЊʌODRH&:9ihYRGFsҰfSbE_ܩUek.ZCC.aR=ۼfV+Tg}v?\rl,~d&mm? b͒z߲Jclj?@S0?+rqgnD!Sw !$q^iML/ V5__O0%@D=-b3^@N|J ! U +=u'vHsKjutGZ`Io1_dv ]En$`.sW E."͙ؖ><Яaau)e9AqOiaû}i-%_ktJe 9ÑltCBcQ?dVR+Eo+)M4ŮPThL ׸AXJdK+G6F@$I-9 g(7J`tvF&\xAO`py^o# }^PJ EZ ;2غZLWZmrCȠ6i"; B&g =lhkC3uOMcD):,7װpn̍"%"!YjEũw9!c'xɌF!\!Lɾ$X24ɹ0>:ӌ c0:y^Ft8aOW$QpD(ꩉƊpŨ78 |hS'(wi-Ha(=\]γ[pyD0.tb O?qLG3D+gJKg(>Ĉ@5ڦb oP Ns%5±̓'K0" ͮ=BYŬO1XgW&_+yamSKlga`(Z-I"fJLMy:,cƜ|0$^1Aaicׂ 5/H5;:ii@ Gy':Evlr'*6,TTOÜT/"Kj axx~|\X~Ł8J7^Md'ǐ=nE<]LЪy89y8ݖfS@wLns 'w@?žL*-1qpE:f&PE/ 1 @RJ'cRdi ٵ@:EoVǎ:cZWMqV!q82<0~qPRɶԍA;C.~TxJ+,eU -VHg҈!ߙ8+ei*E_G~\2dÐ + /\*|gx_qBԀJjPN-J QZ4jشDE1lJk5X>SPHTY~?gi#8q@5R:X! F봏}iU}=3:x:$#++r>"zEzH6ε7> lڼoYm_չޒi&\˷>r$Wڟ2F,<wIP3 2rKڜs\92}8Q5 njI/Tc+GdFrAǠDroϖ/ R6w VMM[VѴj[Q:4.?Hh&Q;Ŕϙu1b:,//| U;h`tՕ~#\E^7,._tg<+wUA=SgR W5;(:RLwV7䕃bfa*M8(`5NI|>)CWB$9ٸL<}m>'KN"4baNqP5z6WN-raAqT@1+P99FvsFz@Hx 3 b\{MۂY{B$ EƏ7AEo&IMƖH /5ub --Mv?MP&x{FW: C.0mZE=v,cB*{1lu-ٵwq^咇!;m|W\Y^ѐ2u3솔aVB].0v߽zb?7\L?߸2D?笞@'!y$xaB5F!JGĖrLb&)P*`4\3&2q,Luuh?$I3W"IVbp[cm|q9/O{6Z}CԆ(4XViLA:H SF/nXfΐhۖtdḲj֑RJ揤R= ,پnUxor\h%S'&!ڟ .& OVZ>g "ԝҶ3!FV>ۯT1 F9j|5sy=p8kdUtQeӞ+"k8Q([wZnCk|Ib~fHOm 8rk23Ba lT9wa+Ia?Wژ5E35s71^E"_^NƼF_c_eS%%!>eӼ8eG|ǔŠ +KI[O2,J̾ruݨ؛ $N-<@Ux9P3 cfoWnExw!J|>6{T.JI &Q@%ѻNt-4%y62Jg|^.E)I@sKǎxmR9ۯ'삥(Ep pqI`"zE#Nx7)\2Jv8"hԬe<~.VhY I uM)JZbfiC!&{W!Ui$w.l=%_(C%Uou_3Z) w˞#Toj 1}迎<U,Te9'_$Z"8C`8tE?G6%pRMB%} 7%gst 4xz/mN`7eW/g` G/xL1Iq즓YiU<М+ ˅#4L垙݃a%SZnL4wx{iC4黭&:=IThsN "[gB_r/%X't6 =_h^m !Y -7CNcwdlp,HFԺ6XDahGS&hė޺8K' 8{[f\INxZб)ɻmu_ycgu!S5W*8DYeS3C2p-@ m޾ `\k^_!y`"cx}{P2|u`[ R98]n$?6avfe$JlZ4vqÎ]H KL#ԽXwFelv4-t^"dw|49%%<#Շ^+R!l ܰu'm_siY[Ź}U \јXnŹWK3xX G9?nR~4kpr]j Ơy.CHUzpI@^aYƂ+|T^Vr[B 0jbz:8:ZSWȜlnk"ʧܦ׿uw2|.Y&U>3ɰ|?V,WhXY!;x-Os<;hqTO?<#]KؖЖ* pBu};353\*2/\W.]-n E$P@ YC嬛TdtŻ egg`ES=i]š EBI"ŝ"jHE'=e1aO4Frr _!UԐù(m5G# 2 |;o .VAB'=vwu.rF~~2瑀LCW ;$V+L̓Cde[O+̽;b͗H) Xd\E)cB14AS*MQLzdaJI9ʓsj?,(^C qP^\|}RUzɢ >@fND!NʥfT 4?܏-g! 3@Sϊ#J#+2 H?0H ٝC&73߁cY**bH;x8ÛF(G榪;NHsT㲒Knj\ n?KT-Z: &f ^:.cj$02F""e |N=K"xj ++My'Ķa-]46*C,XWכ*gGSq,VvE갿!]PF癹$McfdNø[:Ֆ7.IM( pNVw ggX?ϱ J$2kϩ!А5KS^P4"ȬmhO`D >Ry:Ec t2&|9,#~Cӫج/jܰ  BR?S1 tR7$iW׻Nb;#o&'Q'!rs{ea}(wJ{`#)_Rh_ eJ՟nEibCwV0Is@-#o(>1)p Iiaz"2䒉<i:1=|>~jcRKN v@j43+ k8R08ZByv}dRwCWOAV6_ZD~yb&툲Zv^IDPUQ8JmFzv)I0,h'u%vHTe Q0rq!AȵA >mQ/ A żlrGw?W;M,֮XcɟG3\t`zB߁s ѓ("'VM]5K񙸞{_{;MQwP ℁}u,}5m'f&#[*3n UF*E9YgVl?DDNw7NקvY]rä́EHA '  aeD.^Ȇ0}t%)^|:GiyhyGj}fOs|svӅ ;A6{<~*#F߆F$:y8rS;*Ud݆֡(G{;o f[]i\Z_~nGe_e2tpXή.S{.hh˩fi =n"Хܲ vrb|{n+5y۟+Ќ˓f endstream endobj 1037 0 obj << /Length1 2386 /Length2 18308 /Length3 0 /Length 19705 /Filter /FlateDecode >> stream xeT۲ h!K4,`=\>g=wxGS5)$UVc57Jك]YX@miO'G3* HI)4qك%L\|v+˛^DJ4 tzӚL= @uO +/lhj-A` 훉n?NP=\`緰1dMlݝm@9@I h&hS/jjiU% e5Z&&6:fV&N&f.@'g;-x4ԭo ؊鍢ӿWSאfH*K i 5u/Roo2`ssIuQueIV?b0tޒ͛_4V..|L.LNL[rw:mlDry[-%TUTSg|㟂3|&RQP/?@@翺Ǔ[ALo%{.[[\е3'lٙG((/#.&I{Ze geeyeey 6s&`7~.&.doМ_%]?*!f 4{w<]i7[gAsGQ y>7' ayÒ`sq{;7ΈFB {'Ozm``9e$m&B[f toẘOؿn1[A|&@_mF\T_ 0w=_7& hߖ=mn-]ަ?XK*9o ϳ&v [qJ '{,+\̬իe\L(Dۥx[?FV6нͻ  8?*jQ$|u.'"|qrY.903]L.ڋgH8̢DBfE,f+Yo`qTUFovj7;EoM7| |sdl `yy0;yv|-ߐ-?[ Ͽm]r` 8@o_>qD vYo{)ZLÛ`ed<5׾k ?zSC$LR2Ui,fLIm dR3KkSc۾6'}2W2S#DdPAF[6@c:%1r y6qB_޲^4ڄd鱀NN0ze#H7c\3" ~gVri 4e 7,#f_hOpY\w| hE(f~7kɋAF,l:I^cv\ - 3&^ѹU0jqPVE7!eJLf- f7!fM5ء)WK2Fj*:́ AН( 5lx=/nv |vT8>&XNx&|ldlɘyŭY ǯ[/c$ 1֚jy=yY܄ݷc%Ի+pW 3 Hdy*??F g|/H'*~IRۼN}2%/t.4;8:Erwۄ1?N4f`!o3*8Az^jQFcBĊ^g\yfs) -YOF{rB1cV_V|}^y01Wn ۠JԆg!ax_ n]DM5uq" v80dm A͙څ?cf ,61uljl1FǑ9.^աE Gr3t NHDq5[>277M>9g^U\byͭ‰~H[ ]/LRNC`~nV"1tԷ,zqm_VɂWA:8 ޙL{S) C(`q=:2xQIc'h$&ͺy#fax'WGgs|g:,^\F.)y`Iק8{+'%ŐWBL SMs'f3:HiJi0b 9#0 8j'V>ɏ,FEablľ|4䠍= .6~ζED=য e2|9K'o1x ,`yti}n NiEl>n8"5iHo,[.\sTT1[gҡ|#k3Msxɼ a3_. a{Az*O ̔ JՁK(nSSݎ$;dY;{I\U> bM ,@sfv<ԎSYH3o 3!&/Giy{>B~ )/ =*qsէ4̉+y[.a&z$ۣa/*Xz`PJ Gf?ꟿ1u/U:FJG%$g-劭s.q:"ݷwO/L4?1#j|ڼ*W%<+*9-dJdȮ=|ԓ 1NT 5N՗>3O.OgM!ԿqspQNhtR S{Ny@1+%lR+|%b'Zf +ܒ㻐ގBH,z\b [@nA+Ptk E"Dff+]8rs&[%6A9=2RH_'+փC"IJ+q xQ4*z0e_ӌm)b$v 7,(#{(̆k8v :Rn _rZPe&w ؕpa3K*mT{ӸI:R{d_b.yXLf"*mVB@ӘBEF=s$`Pa PŒ|h;Dy>s!,D.2pD5[H,1Uؑ쀴U$Y#H?< g)֐9.F> 9C\cLMN@tFo*rbLX}8}ď5 TM%>PP.tP(-hG϶! sxdf6-q_+A9Iazǝ|q, osljx:SC?IyvNi04[C% 'HKESuS7P4?DQbGVLڨ^ce7kQT1IfUm{:#8>aQ$ %}j$\*:H AE3QȄkv*H~uw{ N+jE~軏)BM}P rxIں75\0*aq)gnKXC@RUﱃF#1Zt fO|QKD څd`z/F'َە,"\=}H|31 >7ǔ_sՖh v}A_N8!2"^V3MR5UvK9DmK>!|rRT:W:4BfUf$"'x" /EeGW]IJA!m,2 ΔZv0݌9R=]Żj '$䁢W\yMPt"ysqjKC ?8a*b?mo3 MlYrg H#2׍l }8>zU˂ ,s⭛ԋJSjKbA%b^!~0Yw㞸}C$vw{z(qJazF(,TN{}챒VLfV.A2d~.EZ,aY`SJK\xFM1mZqfēч2Lb8?m`\Է9" FB|Ѿ0)uù7+tq\/=+u>:pUĎ4TG[~_-^#VMtjU%: Swu> N*CFٶŏ~:\{-DcY1L hX|Hvy|fR݉4#IRSOoI\NS:{רXTvՒ]V0 ~>jce`lƠp=ְ/Hbq^$3@BIąV1ȋ pAqb\-בjQL:9qi0ްV+N.<~(DJHX X-0tA ПꡠeOZpX\z4(0̧/w]Ɨ=b~8 t-:Dg߶9+8%+ny^tv(kwW,$;R:rtHpo~vgu~;=rN2UD1k!ȃOc36?,: l~-#P\$pC֌jzrV~x8TТ 1FMޜj-H%r"*^,teϾQMxYu/E:/I >p~5 "N.I}} BONG/ȻO_j^xDq^R;GJ?N;NWWV|7:{Nx׫1yHҽ됱 94U s|57`Z`%b|| %O];>wzR735/Wg:TK ^5p0T '2lѤ>~>U9+8mhqKÂزcUNK}lPtgL2!LZF%0:+#!z#F[*6 Z {$d%&q. tn|0=|^0?$!%NDI }1뉗"n܌м M#yT'a߳6upj.Ӫ[wt0+SAaEIθEv6Kԑs %XY"SK!\*a.>Ǔ~G(9:{MN&*b-I2(3FC\ i¬-u!V=ɲ3830JM;k8SRDf^%];d\RU09t 4X@ )~'B9 }<_`FRUzE$zi,xF0&n[Ks^uRr:dQ c~ma"G&,hNAMٶVhc ,=p&!!MFe`1 <ДwI1`zdj'} }gE)ti%[۬&#C(uԚ*LOˮwׅ .33x2hԎWf>*_]F}Lpd8p6 \ 腷2cMT2/sO->\9+t" /Hk }^mhw&;}14=)EkjGɄH\ԫvW#xYO(Pa1'\x(B49فL<֒;?6(7,[h(أ!R?"O:εg0,:Bc,keݙj^U__XcXwex<2놎zA([]W;$ @@:t,~poЧtO,#]@G`ˉ-YW uOˁZeZF$uĈ F:q54VPܬs# SaHIgXъpN`:eQ}y)z\(Cү@3^܇SA:(@.qM7"y t^EvSU7!p!G+&vќΫ"] _2&mMC9a >Dj$Ii#uH-ϑt쳨HVޝhsdձ"?D㕵¯n'H9>qJG7Da2ne3NB8bvSZ,XQ]ƾ|OEB;ǔƜ35QO~}5.'R[ 3YȠ_˰ow穁n]KXZ1,oxʩuv=KdUsQfXW?IT;K7f#ݡ>?8A!39ij.%'qvg*8+"~呇Yr QL в$UG֮uy@YΑ?O=Є~Q$F&ވ0ys*f׻#̑<I݋ϡwzU`3$zVT}0t`7 [SVB*ʎR!/rClCYk3&6 ;zLw\WbvFP?)*%($ihP?e[Z̤kltʹDTCoo;Ӷ$DŽP SKӾ@B_0NןrEk lWdP.Szؔ`RcY69^h#֪:X?,^mPV1}(Ts<Ey6 R;rT+z涗pV[}#}(0BJ`"R_wZ7('. QlqMS5>Y7gՖFxDfB.5]6M^;BTB]ҭhR4ZQ2&0 9wdN0}`ڴ>xzN8e .)`|.FB.(sT\&_AЧ9qP/C$;īDrL잝P]m-zWdݷ eR2?SY=k>oڤpyHlDʗP!c&w뻬q1ooH5ٸy?Ȝ*"I;M) &t]򵵑!2S I2Ԡd&!* + QւS']ƕ&gxU/RN ch-gsW댟d@-=FjFl{a+P^-V n Ҟ9nv0[ϸ7 Zc]վV2U,LLo8 XE+%Vk/6]hJ8KsC:Hu-brkйU`EF|z tm/c71Gv%K D[/mf~HXEk E) f#OQNi9SbJzoZw/Ln?rMCxDFiuXON_FuI4o-cn-mȍoS9 ĈO}])Qշ^` ;o5\M*Hk_Y:+1kD]}ҳX׺ .){zpUc!I]YxZD78$c #'WHoQY+K5xuaIR#ghC[qv>+84oU,u\My0Dy +(rQ2! yNVpY!VՁGE fCOA;x SBLd|o2D"4y]"Uq$}"w;v!yʖ_ $.X6r4?.baZ=hJWVdO NO@=,3!@Q[g.u߮=YT qWL4Z$ 2} ²R\5l(tsӘ0flCK>+0'(Йmns!Dǻ+,w>C[@\ml]\+EqpF_,]2l!b ~F1$v.Pvcf)AAT39?bq#cD 3Ѐ@~l+Y}Fu&]¸\ oa"f/Ƀbl^#> d={w188e\)l"&^Q®70>O ?JGPDž"[%r&ř'#}:_8lvA?Wf|Uŋ69Mue\>Z'iJHR=kG&D<ܗODgd'h [B)ѪVmGǰN%' |l{*}l~,T>2v.˵WA#8ű9L7B{I 6=ގb[bCGcafgxӾܒSI˻RS|֡%ͦQ@bVQLm`vxfנ>]rk*))!oȕVS'jWŽplE SbF ].9M%!\p存Ց">W|v$yʄQcȧ+46cgPä) p<؆yc3$Ϯn|x!F!m0Pڿ`d\'4ՈHrg~(X~~)I-Bd55\bm]Dyux^)W91'w.z2iaĆrC+ ae}KG_}oM@H$h&H (C.:5gM;/w4IV e;3wb`&$QlL>{F՚݆Gn4kurO RMXs}G1ZO;fi^Yk#g y';UJ4siS7k? ԠFx!. V=avv5G)JK@mkߚDa]*{trxՒagZ[U!2S@~Oxj;׼Q& <@ ǿiIGH O&&5ၛiD;Uίj|tP5pEwlIXOۗZIK"ܑwxtDq*ȊPx R1~Yn0z$̊1y6""<)Cby-4 p T_ ݑ;[^|=hɕECZ]25V5+-؁Ӿ=ZMnjEAkkQ&k޽=m_'!ZtI](&ނQUW;266yBgjJPM3Cߗ~CzRкiNDT|IFB8[/4yީKEb=fQm?Z^_M lPӍrĖұQC:={OV*eF"5)S)m%VW8z-|'_6-ҏ$K .f6 w-un"%!`JOdglW9wv>Z\(YPQ/JPkϾFC>Ȁ^z>@#{۳FJz,%L~,V>3 F9&M%xm Km yv/(  2mOP"TYN̶?2&+!e xC0J&^ͫ"]WZiiHUafXlXӐYOM5ƯeƯCB2f"8::ARWK|pȾ@NS1gdq&^%Q[$WIZMQG 7ί A|TQm,߷pH*zvKCk:%(Je׭0M'#wo{ J聽1MWE?#?ct}4[0i;,}~x9tũ=ƴh'/Ѣ6;m!ƆD4ׯaHj6*@:ژhDp5?KPfMJ#J"t-ԘZ ػq>ONʿdj;h`j/{Vb)^^x,xuKU  lu>,>"vtpf15hӼ_V6֢.D[ɘYCk敭;/=k]hhj*y~63mg?-FQWY&[fc연6X!dMoY.sMZjZ=EUܕ؂vR|dmV;^Jz$89fqI?T~;2X_Pf^Jy4oY٦x󙬪"Ei7Vm-&{<:ycOϊS@&1f4]l,Y2%%OPđ@n'c ͱI%sWGG*>1 _5NMG*rH1}l='@5C8m ))t}>{,;\+gTS!_2Mos,qC?X&`ՔGNnMF~r 70H s 2BAtV3p{A ?/f/:/G- z/l NV`j9 x,݁D-5Ӹi_A5R ;RØقQEJ+C7gA^~U+|4b28񱈵*=%K;SuA>>3T%skiqRA޳,J{fQ?EG9d&Qk0X5|f@FNeLD>;&*k :3mXZ߯^S:{AJF?O1.$B>euԋ"ϠmS͖'y#!hX~E bw܂#([`ߛע0eZvh->X!CL@v]zxgEӶ^nj|>M+)6>RىG\I.1:qZDL]*)I?tsX5pPd9~9:im&OT:L"P"j6؝k"z Pz'HIѼ֬][G4z7( ŕ^1f4ċAw\:#EGOndPN?vx0F)fIVVh'# %ygBc]лRH,Q VA3f.MSP#>;Gr@en $lj%/n9-cTEù>#tc? _o=(6P(Pi-нF.v^ UH?\L^' >̊wݕѬ2PEǺAWZ:Yi}w䳁 Z8Yykfrg~f))vz"֧GF%V/0́1VH557dܜcjnU3O9rBc Lċ_v`]ϫPOҕ^[!aCo y$~ٓסE-4 Ӭ7y-TPH\3ce@LQ E@|xߛWGTD8H|^B<㚔ܖkL,/AACv!FeYZEp[kE2GBck40S8%7GgֽZWnJ6!Rz#S]eQdhrUoK:,3U]p݇4VViB*&b}Vk=3e:_B+ɛa`-?82U<?Qyt'/tYbz̸r<]/^SMwV.jRZ0zi] "й#'H@jN Z~:.^tٳvے>Ve99/+ Z%Խfi'V"kywc}ɸVOp_Y~)!fN$)5*^٠djr^o(0Ce3Y%E/wjP(T~u\4+-yht?\(Vs~~dsBM|G.,Q-kIqguOTE6J4S45'-YwbSV,CBղhMB&m^t*\"M*|oY c(~G1 }GH\Tl`g(5vV}ĤI#`MQlinIh=+pO Sxi 'CPĢ=Cqc"b K񙷫M>rlvj6ßXU전9O1"zUTEÎ孃ȿYHL6j@ATk!-!gu0]z慟z3S2Pl1-HۭI~ "9ok.FK$P=>tnH{5}cD4Ҵԃc˫%b'6kB ЗrYV5l=4m~[yB;=].5.Bu.x}Qh6N﬜Ycܽh,].(gu(\k/>&5nz77+i( aB1{ ~(eAe?SL_=(HiqfExl ʺ)ZcF-h y5^C<˳I >u ЎB-@V]jm:;CA87ΉQCZ|ncL>쵶(.O=|Z!pٱEr$;{oZ!/"+#8m6w(PX;On .5M/ץ0%7&aed9ߢJ[(`kr؁d0+S0v##hW&?Acd`d&=ÔviM*/8A95hM]p;%T*a{&5sY&룓 tl3\ʽ69ԆƖG۫F8DǼ92No;XF2f)n[aj~"Ap~Ce2| x᪳OjG4\yf^.yom2tsRpbM$E<RM!ULX}291ئTbKZzLY^ !$[oa+6wBM,VLUPA!!5O`V@Jt= (:;2 eL}~'<qb?ÇPOzkhu 3痵t>ʘJE,]ٷsL-r&ˠqTFjL#j)=*r rY/H.?#*\=5'^ % .SKAC<6̈́B7Mm`^0)v噴VV4 kw=R"4a*1 r+N,ʣg $rKՓ(o!p9Ya qN6x <idok6i>< uCߠ+ewv*̄%-LD7i?|`ݜOMoc2Ubhl2Aym?{N'0$ơP&m3DbHLF W+` HߑM'fy;q}ǠJ7xמYiˣ~+2GlòRL2x/Ű+pW6cIzN`[-)l1Vr.oUj`dW4>0L+tRX$󾸑ׂk>ޞʥtXX1\IZnڧ/ĩ\8c뿲K kЋ.VT5`sYcRBqsp%)!⋻\qpS4{LUlvǢpjr`=(^,8݈63n X_eB3C<= Dg}B U~L}I16êq qw7=HVQ $̎gi~饀pqEH!C Tu9c .@pඝN t-ƮDz#fcωբt!%o3!~!8da1UW,Ebe6:^a#Ur< ![̗F*]kM"O@/G^zW$Lk^B8Q:! ғa%<&sYNg;epѱJ醘0m? EGhmne%_!#~i*m{(/U,BüXF;ݛ1vzt/M[QI=#&]#8G4`rZ=,"%H$gYN i(Bd_QamSן0oZ;ph^Q-VDT 7҄U -e"vR[ ޭxx58c`"u_/Nn j];t!zuKLOr+N ޓs]+}`ZksX~-Xk"W\ֈԊTS,)%F{\4&N:T6# 4ĬwBV0Ȳ46K[RDm/ZWLt]N'ά7r|>Q& {~&> 4m25cTOkWb\Ţ 9M[O]М[I_S]rLcC"#Ӷ&'_D0>Kx6ϺU_EOi>a ~"8s0j~5Q=FoaYK %OlYO]ۋIߛ,mV"l(kPFW ؒӧo δ*K-jڈM"/7Bk л`v6۫G'(XU9r|q/u {$B/*mP|QM&ۊ%d'(oRU0kźK+ [9<܎\ǀO;>8tA1{2%q]3/: Xby6Ncº<>EX\s`Q8,xӒ${[] xϮ endstream endobj 1039 0 obj << /Length1 3045 /Length2 28945 /Length3 0 /Length 30551 /Filter /FlateDecode >> stream x̻eP[. @p5Nи .w$vH̙{~u QVc1%A ,̼u3PltaٙX)(Ĝ& qW / d Vv23 R@g0`P{9Y&e+ tvҀU@^֖Vmp269;ۨ(#@bk 0q02*0A`50ZY@PPUH*i(04&Ā3+g3W cbnMV@#YkHE%@Mz:=@QL;(ou uue >G_Pj ՑÃŕlhGہ58- Ub7spc\ewfZJ  (#)3󌮞*!" ؿկ߶Msa;qpD`# 6cGOQߙ0H*)3ˈI(I%W7ߺWQ:+BWV؛X;  /4'Gс17gߩ)Q8};?\7?[ixkWXv`ۤ&.VSdGaao7An3<;lV^V@Ii c3cޑ%V6ؘ bZ;?Q\A@-ks#DL\= 'p@(Ӈ l' < ~kg.; @' qedj^/Q4]CxZ--9݁+M *j ̢,K9hSbٽ|kM1W1W+!2ɨXEJs$WS>ՖF;:*TmO;@]z(<6CjUoL=} ę%'jsjJ'皺ԷȻoK{[xo.DGMFC(AfN^eL~A) fW@݈|wsA:0i.6#4[od{O|we5ؖݮ8UE%1q]`=~[_Sǻ/1$[=}[a`8=Fc#0ˌǸCh"XQU+C4 cD~/p?1ApÇweKsNR$;KǺtש"~JG!̔j  ; }K,[ڮƿ*Y6JAP|&g]O{3T1w=`2H+FH\O NEk4GX&ׯi9Z9tW&m.M_s=5e߹$v|* @q̭WQzOѹUVDJhآ30!âb‹ 5J< dEnˁ$q4a>(c;m^z[uM2u2ISEbE{Ћ6eдwpu+>| /Y,ۃ?؛EkUm#h/p Q%U`\l%W6>,k+E08Vi~Kva![]kl^ kQM¼ BZ< }u-1t(J ߼P1s%8k}O*=抣[#pVr~Մa&_`T!"(ԓam/o=}> 舧ܩ!gacUt)%@FW~1q /iZqN}~wa+aXKUUqRFAÝ+8,txI`GKrb=vlСSzaj+&<9پP렳u+݉ۥec+3y.d< ّ5n;qyv2FVVahf&1 yzؑ_EF| Kb0BqI m ~ Y@F#扃yCyh3X> fL4>BYDq&ҭa2KfYJ+h~0Z%U{>Ǻl!H1tWgMSsLdA\B-1Uh4UM]f G!x>ŵK ;\$k io)1x&:NV[]Wf=Gwf ̮e"1J&"BW R D b4MK3MJ/jZ`ӂ :eE١x6?y%XңD?"銺I-[4ɂ-8%9giWJ/OlH ]yk)RɁDt& 1΋k%ͬoZe.cڍVUi!e,|DUʻ:5%w;4]dQd+."qGh.ib?>%G(<<̤|yAsDUV}k?䲳N`=p-JO s125(&#gQ GxCV{^(Rm5 "%wpAP7NjqoET xwpn>9"XCw7~(zJ3ŋ@.qI$*/>dm"WgñP\ysV*waiVVѶf2H !rmkeX6tZch? xU sCŰ =zO S#@U9mM;imG_k>ҭyKü0Vʯ({OhmPb0fj^2W&(u8pddPG%'ij~0 %yLRm )RG*$8~0`ާ%)P-e3"/:5<ɱOG.i)Q+(#;=/TAM=Uˆc]Zcu&XW!IJf 1p&b[A_YR\A_3h!ogRqSn8 ''ND_= N J=C.Z)zSg9~vܭ,Z5qQ[qnmFߊ\ȿfPrڑ$2;-׋Kg|D $TΆ/J؋]/NљV54%vٰBj搦⯲˾0g34E>E8n=Har. BBjOY[,.Vlq+z;e$vD)2U$kC7xxZdYH۝#]AbVH_wt?٦QɗC"͹1-l84A 8s_탟istFx1mwd8 VY)ʂ]nYXU6Jyh~oj78 t21PU T*}h 2UnV: *:8:J[nĝ7V>7 3V5wrwqH*-=CBj=x&&i=>{o1>-֟Q8kVcM3{,j'pY?;Sx35U gVXO*h7jgQ͝~Iһ%‼k"g#B3 (?ci@L׾qO/rɳ 3iC*`Nu&o+j|yp\ ЉSݺim?cY-ީO2KZA^JmPf$cSH6-|H! M7LLI$roWw߹QS`d$LQAoH>4M{T=jgX-)Le,@88&_胻']+iI%-`wܠ蜗:֚YW= d!}$[sbY_W̉ھU:ҸiUf#XbI^2A_Idq?kkrJF`xJ=_U]Kw÷-N ŊOYS}^H9PǘOib[bz2!ZC75=yr gKؘ)o  crBPƜ&ɗ{<,3UP CcNGk)OT:}c|*2W6Ñw4?S}"ksIW4{ۓu1,*J1"qi;} Uo69R[!*NS?rDžY6jq8]Bn*um\WtUe<;T]عZh%C:|ǥONޮyަr|eB"B,rlQtL2kԓ!KU+6Sw1{eP{=wA[fך RnF LZA$Fvaz #+Z hX tҵIﰾrE[\]bq3up)]Ybv"eL~١@wo\V#V^ɂ@#z)݂1#!@/z8 <2k ]S.,R+ s: F8߿ u)22Zg*j9emxK2zCN`R] zT(9k 16Ԃ^X ],\u#vg}BX5@o9cHػekZhf/ mLkHwlvnc+ͣk?$FaRw9㝺S!g/ϱ[YD̯҇?ltRҺ}u;5D_b/m!j߫XnBhWM&RQ]W~}8|&4# ef~ ָyϯraPjzaov+k.42%Jɞ8٬BL *c{TTEv8 6J-6'7T!q4$n:]Oy҃S(kCUQ: }e9ޕ ZLQ@(cZMF]e r(+fH(7j4|̇97Q[oϲF:Ǔ<;UbKwJ,Aj`Nm&ZDE.!߇]G-hfRoF2ՐY мXpfVn#-aT}cU1Sj}ez7R hmX%vfOdlE))vWxKD{jN7I4J(8ŷK%5ֲ-/6 ݯ)Q:qM/?)F$"']0l*jRF\M~ĬZuaBZCШyj'2tv%໗^dXr c̃UFKY/ښ7JdB~XrZ-Rסo fAb;EЅ(]Gp3oT0,Rf·ɶbR.S};Ғ=~4aw4F |d8ϥ1|ރ^S ti|*6t)NUF&d ޘA~(~My4y^@0So@WH{}>;)E?kz:٣. XYH:ZHm&{SȯHvxPAm'6S.ȫZH_<>ѯT*hBU0 i}بC/ 6>⭻*;G%S qRj&nfŏ D[^a[YA5nO46]7K&~C|)@a*@JQQ|V\pvG{Ttm;eURθwlQc('sP_^ INÁ L?&G2ZR,1m9B^Aq| ^ʴlZC477]Fh7VcDžKMm%HU"/,l^# .8<%^#&?~Y8'AI6/,I`+vKؽRgzQ,SW<{>%aY卆;FjaH$}+6r/N>,'pᩮ-e*Utmj=tx{:I.Nɟ?2BđxQ`U#~h?B Nebkcj,.r z݁"d6;lͫx)n v}rƠ+BQDdեS9:Bnp/t!֭Ǖ =H5kn.}"V2Û\i&2V!IL# ݗJooRZmYa50ό0אkmoNJ-YnHBfǏެe Bf3uiaiF-|-K/k FNWz dm!T=~h=D,Bĺ"a'@6!4ؿMճ*2.yY;…ܶFS';_*v55M=OKـ?DLӧṢfh?o K6ؠXKx!1eyYyri+{a8O Lf3}zbR_}_[C1u㓬˙hֱ;d8b507u\z$_нsFbؔ?YRʗ&ǃ"sDn<6!I&_N'L=y :XT*ڶ,]:^ #C_lIۼM ֢:ttOXܷzC_r֞V9N=;w^#t-Z QH437+Snyͭ 3z̻W/R VMPHFO*aEjŖ(`)<-VKQfҥ{ yѹ. F,>ķ U^%),a$)rsRiPmG[ =tU˷dQ|P(c}@~ h0%".˸eZ:Olߎź4Sg>\Ƣ6Gŧw#+Q)nXrw*T4Y[2z//. \\>S' ; 8}2`ђ++vAzy4v#Z/ -%Ls3f&Z_jn1fQC$y)'GxX11^&ݳ1a3%6~sǷ 幭g%X4g BopmhBZG'HwA==$cb^|CcQefiㅏ'>Dm%7t"p ڕi=iZ2* K.rM 8 >L\SX6~Vl6N&}GDrU.e#n uw}H_a,⢙WɓܴbcnV։QX fΞӑD]ƼNH%q 7Z iZul]i/QЩk;}N$W4fs[FwCZ!UUaC*9'@䚾C TE#Y"nQИ@$,_$W`9aә$)17٥i4V }2$z)s0ZVzTKIWB)YW2[ g̓"FHS'OAihPlLb@7 PT< g9% YC$Sn!YOhrw6 ]Q7>FY$+W:~w.9aŋ;l>7֯,ĵ5wV+'l ֪!YvD *=(0ַ,.SM~!D;Θm}⹏ȑ0r&j1㞽I `By,˶IXگ3sYmL1x9|ڃD,~7Cɽ;=jɳexl_~6οr܊d?j4E:!ާL"(lSߍa'rLe"SVM?W.`eI!{p 0Wض=xmŵhmҥzG$h#esu3V1 tÀtd5]8``%qBi+2~ɯ F5X|޵bxdL$,\ HVyhf g;o0ت&}lHf $رX 9e6y+DJ?0EshD¹N:ąi:uЅ:KUu@ # 9 A:DRA:kUH&jөRo=DHUdM@Rd幒FƮ+:Vd }xL9䢣>ǹ f"4 (b$':n,HfgtELupR \ѿ̍o:A..PCs Ve/yJ&ŔKnNL%;?˷'[Sa6N7NugșE6qgr` |]3 JIzN7& KWYW]1Y "Pf.cַvépEl'3 X.锧}Mԁ=B,Xq`iY5edqNf, 5D?[=~uN0gdV.*l 6b3b`6qkB7?9Y$`y]ѱE-.&rѲw[ru)Jw+[Akx eZ<HN0SOlL?;9nvWoalW =M˕> Ў!r^jK SӰ]1$蚓B}Y?ḷ;?Ei¢8bMr~an2Ы"C2wG49]zQA~e~$bFFE?vΫ8uRk1DcSu9rOC3bljBNOYbU3!7t60QHW#7W>EAk A/e2wZgKׂYJrxiC۷,=ve?v9n?s#3kui0LA#$/.weST,ѽPDrURryy7Z4F0C?3bȼIؖқB檫 \}@'K{>xJJe=xBjl aRճRH}VքclS1:xX7%\P|K}eqg$SWF_eQbSJs˙uP!e)67/1@&:`\n-s0yܔZ% =ŲQ'ѭݳQee ůP=V|2x#(FYcHx~٨ژPKЎ;*4SEHxFk]ʴoN9KT̴nj$@?j뺌oV Su ˌzLmd3ta'XOg'kزlZzZۗGݗAfCU_z߳G;k~m Kb\]4 !]w׋sr:T?~ᤄ5[b%UP1=J{Lp@q1ƇQ{Z^0'0jM9e>5Rۙo 2It|jMO7ШkZl=Gajv4IĶ/zqMWeK)F*Hk6mަTt>mL?c? E٭hKy W3>V?g/+!BD} ~=bE>[ \)[mSs&Ъ7~E@ƶe|( &K,k=N :mil|p55>Ml~R;5u"'5e%n.EKϿ8Dꗧ6CM"noD%~ys ]w(h. S}J:"Ay&,TE}`fBo%U;o?íb-U.gg< z#b"-K|҉WYIV8E>% ׺ޥx3=l 3.ZU%מTH'ƹVũCIJ6*8:o1'tw~jjvHt 2?rٹٻ,Pz5iQdTbMJ 0nlWfKwt[ 7W&#֑!#k24d]ۗZ"y3 #2m yq@)& Whl׭$iJ<3euL nW(]6/ 㮰mUI7[.f3Rn iiNܘPlV)̧|}wzs|*M@V&Uq$%-ɬЎ@8?+?ba0"U j +7I0`Vc #4ʢGz}b [Nت8L_j]JOcDFI}aGzQ?9+-|[J{Ȣ>T'-)g^ħpn)#NmN kL \\W-;KyF;t RBzpkQ1S!ωlgڵ!OtO3nT;.hɸ1WfjYmV߀HQHU޴N}hTdXsJF^(0zBn!*D(dJ b" I{ZfD5/=( ?wOך? "|fD[,@thw*mc?I湥FdSW{omygI{2,2Z/YG-~c?#E7-m/=oP51u/1WP1E/ RO]J6UKyRkfm?H(E|8k,$Lm%h= GG0fl܇ť;+<;jm_Ō4͏9yE4c"'9#7 />}4:Khl]@Б/V@0|5QBkf4L:B1F 6Ӭd8ۋ>mgRxs #2VsPwO|_~SdodnNLe̖eK٧7A[uz?>B5d#{ ,yyؼuEZ$ߜXS?h }]i|H_"ni(DE^YP7fYBL)OncskP.".A@D\η?f =l=L$'Z]HMoEV^WHO},xrx==:} q+TGJ^@tfLɿ-93e^Gן Xˏ׽$x !+s??$CGEJy1$^)y;g8(&>񖙈E.ey"Aآ_yzzQlO$@OmU3׆/;5 fEs O;,+C>t ŒŁF|/QQ$c$&OVn\P#!}fs13M /7UҴq5n$W6ZI) Y[Qw[ZHVؤ/#lCh1JRe u'K;?5-gIۑ˗Upq]oP bsS|= ਖ 79L9x}pɠ]H&b%J+Ы0_7f|![ZV-JbU| 埫2,d3ʛ^)PpJhz4̏qI-۶m۶mm۶m۶m۶z6SdH؊ Jp$~Xw%c j:;~mħhg@AV]fBՊl vu9#r! ylפԧL?B#:¤V;@xyUǨ뙔H9`:4h"W {I/ L40#Pn-mgBs5o$VK%*i]A\{_2fY]/$p & ٽvb }XR$nH&~Wi[=pgr-۞Ķ@d5nV1?BbP 4'UQ+z3.[䋒\$aEةHyџ!iuƤ'cmiEqd[[$׀%KPca8/WMj@λ^_5$ 2Z4WBR?,M.׺?eUhh:l1Vkiv> e8-/$ǔěۑaIKWbC0r€ >Lܳ4Rf%lWDLXVVԁDBY/cNAù+oA' yz= ׆C;&ջ=fv! 4vnJNlL!m2Y~ꇅ3:\j ؾg!e^Gĥ՛lޒ5ҭ̩ ++vFgὤf6{m+$ S\wF3v.MWQ ]"'9_ x/WAT#6F-=<69[to;\t~y2DGs.םK/0Q2pޕ G&nf X`1N+tZ8RdYb&Fj ,sN $Zb`̣y}_ rjϣeZX\+&D<[IVLہȡ'CqXaEmTѐeF1QsNt\@ޅ!X )A5+\afC~ŃƟL5|s-(fx7Hqy̗r oXng8`қpJPLL<}U,: Mˉμ@^X4"1Ʃ PR&Mxue{Ft&[ʁǞ N8-L8a6b"^1ߝ/3uB_:!˫vyR[ҬۏSt`=*gӘ|ZPr"ٜ%J5{Hx@+t굔np9MO7w=+Ap9i}__?0p'r:g6mC8\m0ȅC/ȼ1Yxyb lUآJ'G'c%:tGؿ\# [<¹)$T"QtoGccv x]@9:VbkXL=TDʒ99,pC% $0ML@/&pi@c͊.ў߹[)Ęu}%^_Jld.9:k|A'l$Jׄt:ݿr9 #9`2LĮ5>4 x4Ќ֕OT% &iBPo9]R'2+:1^]vYvƓ|k;ZVՠu>Bi{KRm^um\޼,hϐ(=BBi熸zi|([>Q< VO/d&T6d2u @#]FvRfI u*ˎcE};cf]4r9i}+~eC,gilOgȱ@afW_?a=vIfXy^"̗(>ѯN]G.r<#&b+-A\'joz.X>@kSL=SQie_Dz{3!TLm Y}enTwVO>Q;,( f]zidd\Wa96Á~L:ZټJk=-Y j-v3Ut$/mCh7<< `ԪW-ʖsDSǀǜ9^wǶ l`a=t@ЀIf";?N2C]E>ZPۉO!5.3fHk;.T.%8 XT#|wFݙW+Iz Ў`D M V+ U0_ҳ Y[M$Ksʂ+jS7+uhdHpRϳo{2!M"p"'#gҡ%샽B`.eaCB Z`ӂ!j+PDu@)Ǘ)^6 }۴ǽ( nge"Qtk{m U9(hѝfVKZ%!Yh٦XX!13WpIVq\+¶`Qo3&vB8'ommlBixe_:=NQn vo/Eh#zQڍtqA(:a"lΒ727 j:.4Gӯh{3L+^L#,xpL SP{+iY@qdr%1icєTmn|fl«,n'u:rqFC^TpTD㻢[&IOq+u`z= fFo(/V`XEq\熡i%$6NK–b+? 簹D %P|?rNt -e*8Xhqr Ȑ jV{O{Ajޮ_y tk: {ݑȮցU@?2;\*.}.R>s2]븿C+7nOdzqV'6nKBuwyB9pd 9"͞M r+&ԂT|w-R)?ʔ2 we9ŅwHC b56J\#| |/U,5e9FӥvȇfҔ8ǦkEFne`n-ċoHā҄vٌ{+y*U Nv|$p>6mIInA@k\~еiE"d; m: y{`fz*t4<$)i,@Ejlw3 j9 Žf">ZP![ym1iQvlcԙ%Ѵd\dvDjsgb"!Y宸D>KB(1[Mhϱ8rzS[[9<,30\҃7rەR]=rRo4[ds/mL [W!¬'$b=qGB&d-{UHST[׌ `?Uq/z@mH40t> (a -N >}qW[!x>\nXF8 #.ur~jf0B*" l$MS4-7#pՂWKB~ -b-H쳔Zp>iaBg+Z5~RD  I>UYC?}Jb쮧7 uqK-e/&ލt@K傮~F;ss{$t)BۼгK|,PgD~I3+hj`#n1cZY.AU%ev f37kgJVV!Kmly+l1bŢgȎ@]; JP|1WVQx-|Gm65Ի_KbŬC2*=80ALdNw)A[NeK$37=vE tDF=yMմ& ne٧,REi$ZoXhFx$θ; W]M!oA`-҈P'{Mrj-߉L%~HԠJl'wZYُ_+ dIc~%pWa\ڕ5$pXVԵ"a۫W"0b€7 gi%R:F -SۦMdƁ*ґ$f:6[0 \ׇLYČ6c2KgY3 o)ҍ)0Mn [J| &{)Mɵ /!qӰU@rێl M﫡w*_bϪ(n8 $?Ӟ_~ou0 wC|!Y*`  ]+{vK˝Mt捲F mm~/`Wje<~Y6Y~lXS;qG1@ -0TqiYYWjY,Fl^P ,]ftyN7rB-]^fOc hQ l8ˠQ!6F!¼%_C`CEurr࿜âJ Kx|N ;?@k*:GM٬lFH*#h=(ADN"!칰T},@lgD*2 ѝ}˼u 7))o[ċ m0?a~~S-j6Icm*;T CWB% Qr5^Z2;u#|pn-{&&+bUI#47H22yӒGGK 34&1qL!`l}$ǥ1G$ݘ#9h^1Agd_.Nޕ(-6=e}cLj7aacޮsz5qwhe|]7-ȶe˩zKV]D*DT7qk4/)-'/V5~N^EM,^dQYE\vhl^Q{/2zU4IJn8cƊyM!-2=h2.N+DmP]LkV\kv0) +C+GlE>DKDRUx+T3Ʀqzji/]Rk][ؤ(NIq@1kJq/r:210/,c·@kVSEɉ)5_RLKhz I[z~'@ڮx?*ː?-E?6ez*E-.w~mxߊi}ekB?+X0|쁓J1jK%%z̤s?rQ8Ap)4R0J;f N!) gsB B =& HsDGi'Tڠ I-`؋pEQq} et+Z^4b>-H`GAHQbkpQl֯H 5Lه 41sN R (}.Q(@a_0R(<"[NT F驾)q? _{ 'sV+@Ah5r̶VL/P/_뀔u"XGUMIx6)^$? +z5^69+&K64$ʿ2^r_/NW@Q |6Jjs4. O* NvL%0\ KH^*">okM_yt>Dcg$ۻFԞ)l MFS<"zdxbZA?SK?gcuEm^2L>7#Kj~3ѯhp CwN@ia>a@`ǑY|܈LDxBjH{4(P۹G + =hariC@L3/0|t5U2E`V_<YA fim[y4화sA3z8?{}XReZҫ uÎnO@ YCV&cGd\76Pशf:RepM=3&ГK`-76RВ>K+tg>!&F_6̏e -2@N$BD΁zK/} X" Rs2i8{n Ɯ{/13a\>$}A= {P?2gcpuXqT޸"s4n9(>&ް0iؔS" '¶yU90LQuyǰd ]#Yrϩԑy&*BMЎ/E)WCos@ɺt*S>qgqT]t%MħBPGV>qjRlmΊM.mme~*rN&4EDv6IT&8.#|'cn|K-ݘ~o+߭C{T)g@ER嫕<%a39̫٠=95HMQBC&/smwpO0N/2 ((t'/xm\ld3v2 PEI %mK-;)]TI89Vn*[kQ[=j>Yt3%PODtˆ$MMMq,7M|BibngNh7;&(|bS m2&ApA8WQԹ"OŚ$]5t3ladO&^H j]Fݏ3XJgiIAw73+kQBC]ўI I?6g5@M>2A-Fa?)a&ͺr=@+,@4^T\EUuVxDTdN7(6EL0#+mo OoQ>>w,r\/X{d51!Xoء"쉞OH6DSo&<+~A564+XN C1Bʇ`%]fGzzW.y~k}c¡VH!9${~1ټ@f#Fwbz,ر7`Mt]}<1[8G[]QԓAgk\Yۋ!:|<|X~.˂0YLf߇x>&l?pJ[_#e#L0PbR@eUrps}>BE-d$<45ASFTM-d{|yId<~4 Eʹ_Qc ļf)%m̡[TD-Vo} 8B偼 DxMG~wMfk5B9TKti`Z$i\'%U{-;hrM\Ɠf,Ves8[4O#P){Crn q^jP/,Tw\Ū{2۟>%ҝ ݣŰЬZEg.W^%}5Fr1%_&م<~|4fmҷpu@_<B1_DA@+Nt?8)pi@Dg81z+Lsz x8{qk3=`:')G9_q".0T\gEE{Q5pz hbzge]W%f O)^e_ieu;NznYU$ MM3 =})1q?ʴP&?}JIkF8=o|pcpib),*]c$U`g&cSeX6(j@9$UՇ mJ2_# h8+ú n.s_Q2Cr,B Y"~PR)~ZQ STEVC ?pWiA _Pҏ*(N/a̗FU%(g1BJxrc*vCDJ'eI^UT|.ElВL f>^50r3UI[ahL*F _|4HFcJҿhpPiLVXNC< CvXQ•e*T38"@:,jj@'HuHă NInP5 # n5$s@ZnaL` ],s偸cJ[En73*yQ!W=3 %yDf :7#aٞA0f0AFWZ;vRpޚm,L19u.D~M8t?~~iݮLB]bQfJ_tËXbɿqba[&EUÿbXѺs~bBv(ƴ@F1|1#*.⵼F1 K|?k"9«kxuv- {vVa-+96m II47wAbm]i^beC|gmrDLS5G f)Q}"^mNʳ79'!6(Kk({GPe/T㢻vsiuFϩAڴXB|L>T͚:%JrbU0bNS3 kV ;H#Qxk'h'ґ+#Io'+Ǟqk֦!>aK•qیyU :QU-%C.RӊE9fJ`u@x c Uz0'\ !B ԒZ!e_vmuPt~};6,6E :^P*:2sG['>zO2уP>.2+g 9Hv2GT}vq 9g.2 VoÐ}i)icѝ-_(d:\gzG (}CpIg-`@D2KG nOʼIb=~"h|Yo`M nw6@ DOZyX2!B)+ֲxpi|x}R}Man~'sil/=IbcM_"Xw gi Jʹ[2/਴t.W'r]6[#_:v,LWvQX9+ T 0T^Cpv$AX#~f.> ~ڪ,CL&,?[yFQOk/9p⏈}QKݱ;ޥU ?&e endstream endobj 1041 0 obj << /Length1 2378 /Length2 19180 /Length3 0 /Length 20571 /Filter /FlateDecode >> stream x̹eT\6AC]qww Npwwwkp }3yG9Y5G)( lANt \P`t6t20010 ; ,lA"N@.9@݅ ޕ&#w,P4 (::: 3 D6?tsY8H[ٺ:ZY A&):Y:@i  MPUUR+ɫ*(S,N csCCc'#chbw 92ӽlgg𯬄UTi"r* @\UY .K'IsYQAMQF?0\9-D鐿''wSS[NNv\tfΎNtftvTT-su;dDr ZJ K)+(')&B^-?tNnN$*("+S W2yo#;GN'`c8ћGH[dB+&/B+#),*,W8pr6ced63d K~M.: '5R9;j{::֞ކ9 gGJptr#_~޻?\ ȼUV~EA&¶66; 9: d  ?8ѫ,읁"z#3:@cmlNCGG^oO;[;#h>@o`ba޷ _%Aο_Hfz_k& k6uz/ZZ֤iX8YM,Af@-#B??,;?@zgW4A|F|ZF:;?]olŸ`zVl&8-Nn g]O߬l,W4_^5Li )͟.";ӐatH1/VFK'TAiњX9uk(k#냇,*8F.WELu$Y23@uX!i :Xm-ʵc35 n't'Fla91)hn􃬶C2c\GL<ڳ->5Ib7bwzQreS!FOlBK?|MH虰AME΄9))n_<{N/$[bg |2퓔)]k, Z7j ޛ{O_Jaq\?߆[|pĠPjc/`7ha(WI8-z_-LnVuָ|i7mR*UCZXwtDךLKSѡa}tN#UL&z53 B"sve"ij_ԉuoX}~wX_\x w^@؛9d峽,!]ޞ>*qSDF}t`*+ϬjqSs5\М0/k25 g ƴcx14 (brֈqxސ49U[ pp4yaZR{^VTX3 dVQ0lTˑ8y^:7Vب #AKM3{TSqCx_+3sqKG!|W3l5V x!^sk ǝ,YkE<"g@&%]~ǚ躚)ௐc:'pEܥIW !IܿtF^|@ x#xjK@&zA&Ӹaۥ#r~zYpUt 1$v82P0x"a&u%%f}iN"41h, fELLO\R8Fg"N J{W04:[W~Ћ3iq jA2{j"c/|/Ew' ׻q4|v|2pCiZ98ႇdS끏o]gpLjc>zDŽGy*,Bg[o~deԒGF \Lka@E[( Xf{d7vn5밶[h`i*3RHK_z@xZMs!&VT.z"3mᐛ:B90^ m-RlW gp Ja|⒡"ȼb?6CLҶe1Jv61սtzy"9DG }"<A{o]̝9T"5dQQ HLMr-D>k^m?&Ac&l}֭@#;"*x϶{sL5ЍJ5@{P6&΋eIx]Fݑowg]ס,ޫ oS˓>e{B:ҭ 3j228gLo"1Wg҇~Dr^=è K>vmPQJ)J&+V`uԩnaxX~09cٞob?,f "9ʾ3[δ^kOc:bUG 5gyj|R;d*Nݖˤ}!౛,zWmdTcuȟѷeu/pͦ+~ e\u;m0q>ðCNFh7R?iN༠;2@|sѴ\+ Z"0-%@m-gz,w?O^wwX6>ϮpǾ;9r\n~-O"=}RߥK]ŒԫJйT܉[$lLY۴\2*dÐQXЉM0Jx2Y\h7*wC&yKLi|/U} Z;jHFd`AגAC0Q* .=?TrH}=靖nrw mUop-nD| zi%FixeuF y%pPQ,5m>KA+{{e)e6Wv7p J#} )3%j, pg1#IgzVz8@Є5}-b[C76Rk2FH5A9Ӓ q-[Pe KrSiIo.΍oB(yNS_[%;߭8:'귛? \kO2#:`9sJIXm %;$3%G k-ƴ8S"',[ dw*eh]}@K@Vh imOy!%eٜu#'帍 mm#ɏ CCr{CfcH 4#yLrCzʶ4/l*oѰo-WH2HJ;g23TL'͹?gE"ǂ(0C,?ϔ7<60*GEF 0]ȵOw]n_:ȴݰ^UBuE cvcAr$&KŎj}x41U9#0 H }ēypm ?KO\b~ŐqNT70EҔ w*G ěm}ǡ:v*}cP>اX~UCx2 .A%骃U5eOX*,d>Ղ?)¢V{EM )w<>vxa$7{VSO5&3ˋinTҙ.)ˊ2ɕae)dJ HtQ4ƺF[(*N}';ԅPRMʓ'Le og@;qga''zq-=b-U>#0O5N}{7}0ʦ(wQ}{!Mt;ZLQ;9"6G2Z4vbi ha]~۞̪hpF'aʽzٵ(궛%[[e7cF`"@@/ QW7)u.7J[EZW<[y6ɂGK,牓8'nHiT2X]3<ύť2 Bi5'JUl&_&>zRF v?Ss\DA6rMVE=TT_C.yZ%[b6( &Ls}w|;6I/[4DiTxI6bS Z5G3M(sGmL2 ~%k>NFJ{ؼZ59sS9MM UFe#GcNmbbwCKYzFhQh $:*JD?\{OʚF=h `tau6$%k(~A~)2y ,& STYwѠ:GG~P*@i-14,B!k4jV qM x.emtP@OBV`K)mp,iloS*_Hzf{$i=BQe[|x)y36- jY?[O`,ַS3q櫣uV\,BTqt- KwC2׬9P_D"YSjTI7yD| ڞZ2sEH9NW"Z}3:カ o;cڗۚbL<ץkn!XcW& &W9sqQlW@&2cjAA h{\體g$V\/bEfyGBdNuɂsQA'_ d25'Z+ C]ļ1IyDEp(H"JE߆0+[X}+=+Ww ʓ^J}7N  fPkXDwPDZp/I-)>K7"I0KWNЧG؋K 8#Y:Xy0WѰl@"oZ^Q"Lq`H姪02d=3zI5F'S%ǯߖ"HRzk~#8E<21\ib,[ hۓC'CLb_h[ω,ZhϏJ7?1^ErrHA +) $ R+|į^:ҳ%PZp1Kr-VD.?ӁYF,‚l0E CQ6azr8&D{Zl7_Ly|03,qB]T{&@M2:Gq%4!HaJ $]sN?ҕ|,3 P=zM>/@݃S nw!d>`r)dO>B}7Hp;)>N_*>mG;VXl=EU/ #r?5|Ef( tSV/?}ZrķA@QvZb H;;vgo\NVz\1(RIϤ˶7V88Jo9y2R ?om7& NabGњ؅`'Kv*#Lxr9! 툔|L/7k/m77l?J a@o<P l#z@( :);7),2dE^dw^13ڨ7WƧH /O('/fX}Cp)\c9oA>&nsI{e}>gAhP yUAe%bJ*CX\HR^OɰKJ\ko+kSeou#-IȏP%qCvBE8<\@݈#o aj(:%gUn8=|޼Uuje)\V@ t^h/µԲ|%7N!RBAַ-a120q1X]i++am({!_l_lonh4+IܴcRsH=.6Kc ^h@ϞG/}yh5e !a{נ7gF-i+o(kޛu \dk]X**ضip"t@TxI綡i@lّA-- J1D 6kf ,j-mPJ8Å\ᅄX`ETTnN+WFib p?_rVP o[u\Xƣ3̋{po tͣrŏڳ' 2$dVH+ XM>Ps[|eG>(Ka퇗v$:(8n<7+rZ` AycNeJŪ&'E%O7X5Fe>uTʸVeJkٔmtȢ(Qm`Jtش49An q*꼋uSIo?3ݕsg=1GіRgS8N951;gɻnxwEP$LT HQ W]-{ה$V:kː]r,eB5kB Om|k~yyj!E>bn"d8K;[r`DŽ/t߾熫DisèYIAhrdD;1?q8d2@W0ds,+;Nmt];F&?Į>J Y9ZR}K~hHݼ19NTV®(N)mhe9Ѐ,G[q+r@\E/}ەz`lie^ d{;RB] ;7QhtHa:4H:V|_3Nq^Sp0=5wi`:H9v{DK>JMb)/C3:jZgY-QhKi;S|3R,. o5oQɟ73B'E6m~Ika7 #llGu 6ez7* ^:X-r//֏a kӃW]2Էj#$ٹm1.UUn }DʥؖDS?`'½{ZT>jhڠ(Gx8)Z-xOZrjX'}V ۵[][d&iah2^tɅyO?r .wiB,v'(*wG~,30Px~/7aܭ]gnTPz79sVD&׭JnKW{/Ro1qO RcT6ќUS^bHK#oǕAW+ACw }K/owuq ׿ ,KPT(EP݇xMԲ|]\$*CSgv־.B=[nRH=`&Ki; Y %6w}DW73BHFnءa6}f*'%^ш>8%ӟC#;+T؏z7fͧw;rm؜q51/L*iw?kEh &M^Sm/]3YƐ&O,jYD{ko9 )1lL^ЇRvW'JٞzT򩳫oUkVG/_?_,;`` ff ?c=bڷ+ pʹ໘Wa5z3|DICB]vU*48rwu?YY&(C_SU~啓+/jauHCht0:mz>Ma(|\| ҄Ysk]Hڌԕ6\OVB#ERQ&S|`E^Y=2WLK\Tc$ MN@8F[DEZUC ի6U:8IQL;P5M^en'$Fm(1^ @/&`<`(v˵$Y 4ZEsZ#šn_{h|.o<@{+<`ͷgDZS\#EZAdwOWҝoiFYÝt5BQɼ&(/x@;%NzqrR`ep-; ,`nJyfe0Q}\NT]6{ d` ,UIكGBp OE:8EY3x>s/|qZGC9ݧQd*S]Tn?ɞ?kI"<ٖYc:\|*Eb=[b64-U QP"rH&~kMއ@dڗ< ަ=xvޜG&fe1,XP$$48O}_""|mNܰr 'D>xFp܊ Gof#YO@sS'odB >^`mh/[1)Cf88/,#)[OR,κʩT=:sf\N;BIp!/ /tqP8DŽ$]H LO؊z 77d&&41S{2<4铣GE?.G5la(_Sk{n4Z-dkc7Kʵy ;#zB|< [ԩ92(*@Vo`,5_Be^{D]Ln`bZJ.v6v 3Z֭ ؾV|r`5d)ourV7J֦kJE*nni޶(3:2U{P9m6̫i`foP03 e(zp\J׾@flkBQ.!-(a QcX "jw#Ky H 8M3#0`?;TMyz%d}YH}R2;`TĈm<=aܠδ +5Q/Dg=vv$wdyoL y| V5; cV]H %|k^ɞ_S>:MubUtFR!iϒt Vbc:%Tos}˜/4Av5R< J9 zDl4s  SYeQiUd2&}ew1kuwG&ɤXh7;gTkxQQB` vC6^푱{:M稧-NfI#s/AcGi|SKSNz5]w9#GZ¦q/]*e^I%C{UˤyTI|Mϔz ) ^[\lu9dE0f C`aW4m,ꯤڝ:^< >IV<NL(Pc6i;T2/4n*LG3qEYI<]ԟ?ql,O-ܯ3B <h݆Ķ]#V|ac5/3_Ž{觓~~R|^ZSXǏfDB: /hhW_ pmw[Ju\o(nAnAM!&S` pcEڢ?PTu>%i-_Yu4[{lZW]MM<Ց%\|{0M>>(Ha4Vc$_æԙHk 7ЧhdQu?Y14JЅW`ll0{2B DՐZKt6I%$ kí}&/Zc;/9tx!ZsqS-]H`Lٵ !w1z/n- E=8y~gy4~u1ow;V@~~R*I mTiRJ*=kB<`lt׸N[_y}jWGOd[L ׉3+$!gh= CZKXyeOM@aA{Q/ W >ogY5YS?Z+e[(UX'Mc<} >Ld٠W /xȡtm~)3{XB01yr DӔ.LL;}g ^N A.p?QJt/98W7m-UK xy=J}# ڧ&Z+JXӜ#4 2{3$S@;~OF 3Ze>ޖjmb EiEB{='Hh5EQ˨x_iu~,b sLKQ$\jq&="B*bKOl~v=o@,cޟGq`ӀN%i FzX%XNi}21&{9 =y1Y%<~/Y(bya Xo2NOG $Vjd}BhYyBk+BA4[%d)M`,Ȯ[W__4a`a3A?0(7d$c ~LG '`/)醋ଷdr}#>n8$& ئ9u^MLnrȒR֣H~TT{ ː3Sv+$M9Yx7?S$b= ;É`ԮS0N r cDA&AR'M*~`D&͙_SKdI}[[V?Z{5lwY1@ALʿӱ5Ohd"¯˧srW`4wl,`ȏÁxgsqf–*̀ƎGm5@4Hsy&541 J8u *EQj̝hRQVKck3?llq-楴7@Y^V )Lq.nkٓfìX..AZ]#I90NQW~lù~h 8}}>"T~ωU@2N}M$HA"[#[d:"xf5-@ZqU-"Hh+QzNBpɠ[h F63RԯZ;#'X>y="Nހct}]O-iDuVQD%mpJ_2k͂8o_$ٞ/fWֳS. {=|S)=)̴>u0<zQ~Mǫ{Ђlš3^kbS4+}Y!:o6`|!ָS&-[6E9y$ʳ[|vW~4/]nX"ۜr?kf 2b>uFCDrSbW^c|drc#5to D+w)u;AbŬZRL2<MI{ÕKDXR{ zιn+h$Di3:Kb<ƪ]Tа7X]62ݙ^n 3pcnv!Z,*[cPLC 6'绱U; mv4zr P> seuv3f21tErX?f:؂!_4vn*[9v7亮C"N6 }O'!E"g0sAǿQ1&# OQAuIw$t&qEOAM;s:01W@&zr%V0TOӔ!|Vv?(TK0-(ۡjWհ#GMN].QL,?,H\]C5R}d~T}~Z*|G"@ڑDkLg§$TDt߻o`A1;*?;-a# &'v*a~(fQWu"ٓQB~n'6nEl JPYUGb/i|%،GVt&ix3k+$ ~˂ ~uTlqGY۳p1-Ѩ?aM3TJTn~qHďjPINo3txz>@AU3*:;2 ~Vy/ PQ8!=`RNogkz qnO8Gs* [ Of#݋g V 0㊮FIY-.GkG4Ir 67チs 4W kZfhC3KU<[eWfY{?#aӹ1 pjBnbۣy'~y|ה%:uҫ5P\rX$u㘜;jk0Z]}!tsDxDxlt<-_ʢM Sy/0:hQ ֽ~qYWdy;ఆ>x=t<{u@X>=-XzlE+;ƴ-;K< N',\@`oYԒz$Lc&`Ćvd (ݴqF_P .?:NM\m DS@Z_Vd0GX!8DrF~aT>3u"79d]}mj$G?Ro[wN H7:9wxX%StaZk!IN.ęreꇕ7(c9+0̸$)$n./pd;n5\UoR =@S}m7G+$d[Ļz'tx昲\l!4OUh0hV@N A>Q׆]' q&6V 31N. H19$YT NVZ1PA S#P0ڊ&, U_ƭAtU;X"6 h'ڊlACqU؋+F]1z7_uxXD}{jrBWlzX;K#3R|)TkfP*zf-k{H;I&",! q}\sOYl߹Bj   -b\qHS`Ԩ,+BNfVQo8voUd endstream endobj 1043 0 obj << /Length1 3554 /Length2 32626 /Length3 0 /Length 34485 /Filter /FlateDecode >> stream x̷uTk6J ݋nsf! R-!]҈twYs37 ׬wKM$jhrtpebcfhu@ ¤r3ؙYY9@SW+j P6wCN!Q@0Di0(]M5l:ӿ+ D t9!&N^`oL,~S=]..1Lm=\lAS "3@"f@kS;K_.4%jʚ*-`nm 65w]@HS y˘:4SkfEu7''GWДfH*iHZiMu FD7)Y osEI Q ]I6!1AW:4d@L-Y:xxx0[2;аArp @;_%vs4_~2WR@_JEQ%Y)Iu &H~3zMdt_}Y@ sa[`8$?YC\.@ % ΄IJYIIAV\RI]/gnVm U:kS(+(MA3u0s5uusP%-(.: NMTv9B1yk߃kGJs\\]O "HoAmۥdWXVK:X;C C`/}m=|? ߵX9h:݀1eV@W+ Yhsk߁ZbbHM89:,M\oA@/$SwȠ݀o}T!,@殐+Hyut-0Ɛ;rY8:yAFE20t_IZN 6y1mw )'Bjnw˺BN_"ߗd3 w?:Л:]\\"mHCIjʽߧ񯳒 +sL`S/$VȈsq| ck,F='\ߢ7EXğ/EX$A<g`~Fg`}Fg" \3pQzF. ^g \Ԟ3pxF.EAh?#gp{F;')~\l@! G 4@W;볜߫N38   1{glm=2,w,V`ȷ3( > KSmfjdL P=G ` d뷹g #<̈5I? ό!~ zHNd9 r  W+L_VDՐN拓?׃矣@σ )A$ )ď#[oflϚl˂?:idX?h"p>t\'. ]]66H\¹Z-bKB!=~S? $agO@ Q!3/ vj, ㈢)g<2 rȿ_GX9z0qs!5dQٚ/~@O9Gs?|e:r psc-D@LG~C@Bs 7k~~D9Z̚Am;r9yEM M]q'T Ҧŏ/<>M}az΢͎B>`Ev1L;ucmf7m aj}zz$BIDzQք¢KW!Vkdm6m 2h卆7ONor4?.߽+\-n?Qlr8-\J1Q4ޫwVZq%[]9CouU#&GqC8Rp|ne;Ep$V|4B{{Y:rPJӇ۷7L{ahEY9f#QS8V&.v*fAp/iHsUq4_I"\91oc0hB-_)Gą8ٚ UZYmb!71uPŴ_N}(>ZI&1/-|ưriKV9Ω!ߵVՏS@DʙM"SH1!/J;jQK e*%ì"R BbQYa2Ʈ|Irwe0S->5L /* BWM3-)F[o1=x2SL]s*ݯ&l~h&)uݓ,s4$:!e~ \DtG N:zPm8z*eRDx V+`+69"nJJG<yƛ`vW%j΀;VϿ]F8 U(ŁF kE+\m^/JAU${LL*R֝o"L L MrWT'0< Ǟ+sWw_RLeުJ&Ve&h&x"4[{̝\u9~nt>g4(ӏjJmu_ښ4\3TɱsJJ Ԃ$|܀uYz_2wzi)oSgS6I^<{IKmrĩq_uDo 6pPCFbuqzsfhb/L=E}] eS 1#vtDColE*.)ZN|>~W8콪 S'9 K9F4<.K7s=0=brY6:?F;aYPg6т!0PAb}([Yҝ?-xKX !odv0ʤ09à'nHSʥ.>锶ͷJ<NNE PK*@o`WQ2ѽ)dH2N.i6+@ll[v~s) >Uݑ4OAs$~9?79NGZGBr/vFg}rǿ $Ǵ.48d4!J[u8*_}(N`~!f5?£RmT= <~uZۯ*5^Wy߹3k7<\o;9ڧ;xՃdWZ/{H5r'bIrL\wύ^Axo'L}C(1}3 woMBیA?>U2Dqf& ls/fCΠn f8 p8/e@EDZ`X~.ReJ|7Q CKS9i7H]IDfFTsq6^~I/5zA9HYCHu,[_M>]˦(w>=hk_x9}CZM;6hTzk{4VZ`$9+u%1̓*l/,Qk^ mgQXͩH#Gk]}UBlz)ΰc72O)/,5p<ɩ tMDlxG`BoT }N<).MhZvd8q(Ϋ/뗀 %'@F|i8>+=:Vtzk!qcQ&s5uq-j'ELJҳ]bRQk3W(Q;9uBU~+o3v+Js58ڿ*)W 7|h W)R?19FVrYD,Hm6Xi*ߝƋ?ܺvf[,DᅘâZ?S0k0~Rf]V;9,''hCA"&3lA#IjM{"&%uzrQ"Ǵuni\w+=o w'8^,ԪJP: OE. -"¾xue>( sӍڨ'C Ml^DKlj TgxG LQ4R&kX$0_f3U%"׹r^e%efno&L{YЪhɮY1(HBgHvw-t%Lj`Efx{gNtl.V\*e0J] Vg])QY4}誰c/j`Of oJB3ٸ˘}_sΪ"zyI_gK?f \?̍SK_l7k)(?U F t9+L4`yg.!`3A!>7S)MO*!ÑV*_9k5xmiz:s1w)9Uyޔ(9{y- M.Y9gߠ>؝.6H"nri^Mڜ鼷3=ޫmBيr}pY!% nm*rM sh[Y y=:*z}Cqថ(]Re3SB?y>_V5r5~h];ʇE۪JUӢ={B R2:%FtJ4Cwj~!cegV֓D6m-[~{a_WQhkrf+/A°Qk=m302ф sTR d<5O"Vu!xJk'|{A#OW]Qun$̸ әX8j6Yd] kerVjZnRJal/_Z|^ΌZ\ћċ~qE8vɒkUP7spqD}fI?n&#\pO+)l|Zc[X TOc?]Oi u%7[D qY@tu%F+iܔ]Ku-H>s*bOI8u)gkCYm۞V4_Ř`&Z4oG-1nnjkY>)mڟPa);iT#b҆o=\5n\8}ѣSswkzE7O13T6uBT7'^|ސ/gݖUT]i*)_MJoi/"ޏwa)pGC4ݹnl;<#HW=W'BNtۡ=F V8aSNe#2޸>يEU՟Ґ*ai(MB5.׬]]y:L<.r*qQW̻H Ƨ`TIpvE &`B{l<ΗCӣ dM!9>"&h OqMv5Jm!K#ۄ҅y"_$*C{L7fhaVpiSbۺ[k[PAJRHhW fB._X#)_Vj$1ãFd$#'EG.oܛKypI턧JI]Oݎ4yٴ).F*f= Ym@wTԾ7)pU$Ctyܔޢ@ u*h i^rGX6J:dT=h+kkiZ[ @f˓F5@烒 ;m8*I ωZףrU4|ϯ4Uf柟x*Am3 ~BW'_>69(˷.եBGRٵ'ݢTaOL7}1 &" em vOFU4LYtk?Zr?™Ca)ɮpCe]}5lEB5gݱV1f4WD挼r{%Xr5Vj=Q ZΔC'܌v>8[u|?⿄ Rh~8[:.H#tF*T+NO;{x+9Q,fCAƒۥAC_]G ,{nVeY<4QVI~FiTNyMXKh|XŴ=^Elp1Tc9!D;!{( {0$XF4;HRu"(F:n^KM^&%PpԡAS)?4LEL=&)彃[舎e^TI~KR7V|g'ힹAexB'wg8(~{<2{h3z^A/0 `EGZOy>"z ;{?".ϊuZ1c׃*nbBp Ȣꪄ| n4`"kR@q.KO(n z6˰m\FtLPlkȼd[ ^Cٸ|Z;BP{0%機ᐔ]KN@;lY"ҜNpǺ0D'#O5Eqwd! {AJ@wV$5udAJ与 e n2,]lğ r4QntzOӹHidXwp^^"8''~RgQ!IY`;*;l:a 2o&5 t:)uW^Q툢 |7V3u?xMpCp+O=K^Dߌ1c܏?_ɡu yOdGͨ.H]*h ϸe ̫]5\(cѹT C S0IB>#ҼbCwpaGKҟ3R[LwPZm̬ezzkGMM#BpI=s $>Fvo4x,==<$J3]n>4;ā>j*'[h0v fp;k*+3YoeaB ƲigO@_Yԛ","HPy,QI=>Hӷ$ak(ό93;*26И^^ɷJ-ºS K <4q?aq^|pϒV KVPO$twktX!,%';B۴H\'<"ag#eX\)|!(씴$ EYLQEy ( ĔE@Hzcyz9gN"}X o9 4Edw$Ľ9 7k(ow _֜L:ryOΆ* jk՞;IaaLPUAY'\(Z]L*7;EXg%!1hF ia%v&M0  >d9y)^/TA)_%؉mVę݀##ZXN?94pyZYdeG^j721댾 -|]6y+xfrHnG5wC,w`D8;H X%AEE1~  QU/{QK &CX5U5Uc]B?^v^|*4J&,X26PxzaшUJ%7Է&;;.AfPI_@aa 03_>1HJ#VOpw.Xйx J67qtUV{]bܥiIanۘ>l<[o=%^vL'"c]K7k;p ?ڣ$D1g,5J/)7](i^Y44q䙼6x nN"Q%S_5m{.@+GIy;VCYg N5?ΆڒXCĎ iԍV̭ͅVǼY >Iͥ :.Snxd} 9-|?몤Ǧr8H](jtZs,-1.\ kz;l@| +E'cǙ_"CּE.A~`Rʹ.>ī]A|_\P^4E\ғhlPs` PI ˩ }Uƥ1pbN~CO] 4TV;&Bړ Z_,MI"fnhi[јN͟_=:bW# rjnuaJKY!#kwlGg~89|`ߗ5ei.] :J ; l9KnnWUБh Eb4ia][ehUam_O Kۗn=OUt˭ aYuGg=c# Ǭ(^Zݐ/щcx~E9s_1϶"DjV1]iL t+`2KpL=}zZ =`ݯ;7:uW-oNJC7&y"# WgP\V~;X(#&3]d8JJxi;FTҔo} kq~Ec!:X6,+>t8cg6*O)7"zG4<^r%]LI3gy}ν)#DG}gƻ<ڡIt4vy71v,QՁDoX ~ID} V1ᆭ1vPqQLhWT@9͡Jvs[W+Wx~<fFAYR"!yR_%4|I=.^ 5r|(ˆU?GXr.KZv6C?_ 䵾 |rάM~rV!#%rxA.Ц- dkNmh*hDmgKU†}@c#-X#Ɠ0O[4;_=f8?/aEa1n+ Ϧ U"ܟӷUFqvMXdU/ HP ߾}YxFiXP'eUƎ%P\K/56Ps*{ v!81^`DnG}(.GYm?Pρ!hx+w#qӞ`͗).y.wO&2EfPH]ccUe[T+ XOB/ JW@7y1fq̉K)q窦8W"9>]-: ,جK vڷ@&:Ik0^ >jv>E(>Tuϯ 'ogx &AK+|$Tť>mݪ!*`N\tc/i<@h'6`991g6u7iRo$vhgkhͬedqdQ~Ce*a5fJPDLx ؖ}& o5LJ^cԖd0Z~Y:%]uƅVѹ#;y'h^nZ"v5@˴⋎{KB D:Zҥ',A_['p!#$Xi*ȢIנfi]7aKk[p><IzHnKMc{o`÷*w:;~`uQF/ Fnc.YiL/U;Ƣ45ÀQaF4l)m(DXt1E+D&馈p@ˊ [kmȍN_䊨:[U`}E,m9t^ΞCj[p @q :U=GzG'wZ\s{;ccwBr4K[i9K΍P$w?@rZCWG"zi{Dĺ[ R%:-4 XNĺ:nX7t!S3Hrz#NJDd"]vyϓF_cdy =)ASYDlimS9DL]|-QG[j6u1X_U*~ܘ@Pj;p[i "M Ȣ \^k h2Iڇ{hV2O9rzz _| Fk@",.E\ pO\ˊT,j\WVmj,a1 {LSB6A؁e o+-LTV[*~\U^RX]HkR]F34e%w&֧/E{'_Cvk\EU O`$h85ߟCVW9PN4aHK,hPt=go*GJE_B^,JEj4ɔw\KսwkIXmP-50ĆrBs,P~Lc7ڹX˨%`^޼qA.%:3x/q{,qf KqTㆮ]+?\,6v8U'WƂ9H>#{90֩I8Ui06"DqsKΡϯa#s^Y 'loo^ l9H=/?|TPa~n' L9# [ D ٥1y8F7[=b:FSb?.Gܬ^ y*qi3Cf$ں M/={{+Z-/:Rf% v چ I:`X4%hDRG>eO^%!f 4\S7x֚芝 )#u5^Lz?Sj;" 1:Kٸ.'[tC rOJ+Ԉff [`<֖cы=09>2weW]4'a|k28S? n]dVUkQ%(#Ҕ&;,IsJ"aѦw!<=eh-Վ1nD=bXsўҷC`>{C:es-9`+{0UI9P>/tVqqG>u(ϡ>, pۗ9.;z6K/sm"^Yxku|ɬzX,d}*DpF׶ ^9:y ITTx<r#5/UuFS;nP*uuP w+׫zZw};<1vQQ+LIK$j7zziډʕ?ͪ`| ݖ,@R6k%.bFQzg]ЇDaDQ%ڶm۶m۶m۶m۶mv~wrf'**ceuy[؇\i/ QW.FT۱ }:E1c@{dd@8wJʡh~g{J=Ev L2S'&xϛg6oϬ>Ou˹%TL%L`^xn m8@k>z'~jb I\ k.<^~ C5Lk$]ߑz_9u%Fh}AXբIfbmnEI=[:h (P&R+>U,22G}+Ê%TM4 f0: +_vz3m]{ H,j]pk"f}(ZsZRV5&1}XE[hσMa1er.+s{ݬsӵ˷9Qqo^VU61 fcEFf .J  ԓ1 ֜ Y&NqY=Li5uߞ2+C;! u΅_JԻl{JggXڂM5.:ݳv>\72ѷT1)be<XЧ1 Q{.sἉ"YWn CPp^AGR<[TGD΢ O' SdżTcd7hgzyxn:''lx".pdm(٘x5V _8F_`mkq'T?&KWd\Aߜ'=D3yY=!8N|[9?$0r}}hPv TѺwnsHzeAOYp~\R&@ljnx##:^i m5]ր/c&S^UƷ+!1 p༴ӅȎbTG`q h!TRpx(Š4-u3 \|dA%뷒~ Y5EsX< +tG Y*fzZmGslm|M^ tAEY2MN/4lD,%֊׷d,4]&It2j<%g*U;?جCjugI)N_τEDjW`dDq=dEjjI%kѣx73+ V!O B> x>66y # z;5xÙ$?"O/ `1BKrk#txBw>ΈMNHeV7ZimcOٌҜ x:ʋ I"|:NU%c=3qhU7aKJV@dCB&*j(׏lGݜxDB(@fһD/ 4VHqDI坳;bCQު_Mz`R ++W2h5igLJA3WC2~C+]JX]bJaDmݙ2!qqH~Mۥbҽ*/_ACD/f30̦YI/Bǫ^sG]wYpEw٠:2(]" o|J#8ھ\pؠC_)zn7:pop#V{nl։l;M@e=RVN{@W]mrȘ7n5A v!3hb~2#tgZeW݈M1`fLIq?`W~{r}CUD>eL셐|C#hGn92e\u6Ee:40^1iՊz}Cf,ΑV`v>x]ٽNEe晉jmg9B:sڦL5_v%z8m$hJ]>E/L}2E?=֟Cy(6'!LhaJ4P yI%}ÝKPC2YE/%$%c2T!䮛.WΊ ,-)a;㠟.MiwKBt ,' /mtz!+7{0,OW&Ycb'Vy|9O%y]4-20*X#*Z`a{3j\Q%x!~՞t w"jwBQg7٫p:)yM5E4RCJah4Q"\&&v6qn5-2QX!S%Ŀ:>ޥ73^UEP5]KZ,V =D]T{$aGJFBOdK7D~\:E%r HCr0G^:kGpm[_ט'cmSG NYw'A&7Hh2BK?\>k|D彺 _']d&i.׮f!z(A;݈DiO]>4#Z-ivhriw{dV/nZ* K4^4-:S?-Ig2r8!i~$!2k̊?ȰyV&>h'fm &qn뢷zI^t%=,AɞI%)~iEɫ$.q%9WB@hz͕¬Ʊ8@O1y3ZQf&_'׺95nO55bW8'fƩ\(%l8TYƗrj!mQ8 d$%@Gnj+8UVE~J:_- VfcAP@ȢFAUNƒ=12 tKC0JFg]偉TD>K\㑱BkzK ]w,eԛA0둟m7Q" uUa)x5NN @b.*xdjok*ӈA\λkwܹ,Y? @28R=- F p pnGZ[<t(j}Yy~䢠y@U,I@%G.. L1%s a M 1iϙ Ű"gRLMkC} ,KmG2g$he]S)#Nۺzjل>z!_\hHI Yr+nG.zd]A~/a! r-iב{\ YF9z[s8%VE.50\5|pPRaiۣ=@.KvlrO2! QDM^r92B_*a`)[hx bM$LP"MRnGT/iI^Ltf -+#'?I HtKꩿfR[mRp=`_tj]%*Q4펱=D0Ij$߄x͋E /llT}W-?HtL NZ&s3e5 !bsZS Ρ-(*݌n JD5)" FN}Sp^j4hPUAQ$عLO|s{x@T /s+ Ii*}z(Gz(5b蔑0-|WSG<I" ~RA.4GcҔk_lLL1Fa_^~jC{,WS8=(Je-+V1雁G?i-79677.B<Z `u'|ZR6&s#eY[qusO.nS=v%E4Rt ǘ+p㢸WC[Yi$ţv7L{^z8*G$H=񎧋G/bal~k|u =Y|ěZbDߓ0={ " 2 DZBnE)Y杈_&M]$̶w KeRP>'4p@H4?/d!Y] 9綞.KUݍW \Mx+v0C y30[5ц;C1m&,,:3bYaw+LKTt? p: KuEm$ [FgEPBF F+l7Ǥ֢0hUBiYkÔmTAsPi=[v]864]!̾l{M1bUHˋj Jx ^ X :br9(Xu$Ar~-[5h=gĐC\Ȣ-hUI3DQy[.A4Ma(&:N"QpCuѕ2ˏUe24{>$ dM 0QLM%Wk3.8>QZǿP8>5Ɛm0C֒dM D#ʄ;H:쌉Fֈ!8%߼kn챣6Tx߆Z]g"I}'4 O=11^b2*q=ο w&si]vLݼ9msP2+^CG9]͵ { :End2ēYYqz04wA0 Wݑ*V'S7Cs # #[8?6ω 1N!^. GT ?43XG<.ӽ}+nxQ,ĄGĄuayum1{G[B; -|P/y} B̀=%"vKq댫uLt'pTN^a>;hi B\__Qw23xH?Uvމ#;Ģy ZsU]j߇ uib{oϾB S(Ƞ'%G03.̥eTwkF_urĪǘOp8f$d/ebEI 'MO^fIEuT@ď܎I'ޣИWIhfj{cP؄4ԤDqrQ;fm)JہBPgnYI';G \aʴ̇Og>FmRT[ߣT™sqط!ɗ Jȭ 8o'i$,H[!B-9aXI+ab}: aT6vYܔV n&rͨ™B|;ҍ )ݏ_ f@ƭ% D°ݗbҏleZ&SVwm4#~Tvԧ^ZvFQC_n\ kŢH:}Z*kaE$ 4 BV.`y{YҔ]%Y;J u7y'mAE6< + ƵVdtL(F8Ӟ簢 hjDDé;- 7_E;JdlY=48o]M0CM_k[7i-9)2G+?8H~u6>svcIyfRfV,єX)Yp|AkUi{AFLӏU'_ݖӒ kc<}v`͹}069X,!NU,Py'à=Ub *QxY@qfϛ aP>ݸ]DRGgÏ[6 A'藡ӻxFr[s|f~?SnO$h֓LtbA66` 8ɒ/JE*n@_Ω2U85jQ٧//5dՠ'&x<)2§ p . B$eG-L飳u .g]?*t7PHh'GV%3;/O |y}DҟckdVsTJXGC漣<[QTom1.c٬)f+7ːcL\/62(k6Q`Uد4C^}X3?ǚG犌) }1Gdg>nANEiFs fR<0-\-Dm-Pa^zC>DG\ `pnbC Q \~&}dcPڈgaՈ(a"+EbܫúGRϷ"/1a M`kuSZp qS]hRƽ 9,u|xFκDΨN8 ~;9jp93w`G>KجRK%0,$Ln5.m([)+Xd:YR5rO6([P*yu[bΜӫ1s-LPR; Qejtj"UywYhUgt:^aMA`1,eIhbDfnsYYKo9(,1y Vg|-PcLh\*fF(#tF[|Գ"y0 PDے?8SEЯ N$>bX޸=QNIf]YGbvˈO'ĴYˉs0.3_9RMt=--HMv}ٸ0ão=a40=̌%#tÍGsE+JRN59\\խz-I Ҳ O\ ܃lmnL)ls۬۲tK0W+9. "7`Sg_{9dP|i)LQf5I7&uUIN$6+6mᴧPGvD$F]ݳ! wkqu{$ ~@VuiuQ QF6.eH}2nPLlܰKI3WM&q3Ay.giJ'0MD,V^qw8.c78_~OK{%fu[<W=dO?Ij9 Y8??-Ws{fFǡͻ5_cX9{SpgA"Ydmt\}ʫ'ޭq爠΢sX&"TctȈ@$Dd*~]tv  ;虮RJ*$n/UE)SrVnA6''H9KꗈA3P]8f :nS ɱEK 5EDXojyo v1'K` z_xрBzjb9B/秎ؾG7\XAJ{R E;蜢9/{/}phb[L jC=[^!E@+[֌X `lވ`C;3鷡dkTzlrB.wD{f_'N]d-%c"Wڛl&Gڊ 縌zStsN R|0Y #섑6Ћ/s@W`Ȣr#I O͞{[oNj`Ҋu1qxxSgf3mL JT4hI_Q(}02iKI@G}sJ1+ϗZ쒱up;8}`>JJۜ˨^-Qz&-#IDMqy:O0Դp#_aF:> v?V7'G@ ^Cd%Y7/OdXrov<$o+u,m'5v]/qn=WK챎yiL9KKCi\\Yj_y[yۺ;1 m|"(8 aL$ՉSݛ񗶓,dM򨧎8vyT O]a$>hTzA5l/5oY= k0est$yѼO_ePJˋ ͵Ͽ9OϜBֶ AKV^tdp}!'`ǮO :[5B㷢UFA xE\9we8,)gwښyBRKu ZCco\cECl/oǵKuFI#8 0󈛥3,wQ1|Aٴ2^kKBDeޡ|ghV"CL_0wDžY *°t yWcDٔHA&2OkY?fb^",ӝĠL,hkGuvۓwx*7D (#eA4J&JM\jm^N( M8z3 \+Vmwa7*C ׮e% #w{+#p4"g@gwXyNSRT,4OpQ#tm両2) EQEjc/ b.dݓ3J${ͼz_Dy{5CoP^:L _P+L Q&3, ntdšG>D4JyZ҃P5Dj2i+ӝ1cdZӓ s(@Jlj rхبI1DO5|C򓇗T W iÈt]%+mFmLVkgZ%:8 S{_$842OWQLKY3o/ (_eMS݅+hĔ?j==zu#E楍!d8jEx‚ݒ$kQ:r󔈍4&y֨Οf=w J=dϹ 2_fTrӖ)Y ;0"4DԔ^#U w!ظ_j4O^X%:$ ߥp 7,1O!ȉ)y+짆ɥcxv>UQmZLa*p'KG{ۿRqhr5C\T}XMIy-F qx`؝g5 N{CCaNUKs͖1(ͽ=vQ0&@՜󵓰0hry:i ?@K gaXsP4]#?(3bna<$3 JHA kCZ $0!_%ciֿVD8WֳI ^%M!B$/eyʣfz#oz K C,^o&hlFUȓ,ۼ*'`Bx_ohs Nhz8$A?-m 7jzX2Dfs zh*^rUdW|K,.`@~­Ϛ(=cA|7ZH[R%(Ѩd>txE<c~`D2׉U^omW{ <Y "jaRtNp&!YCc ]d !H8^@[ѻThw xXHMx,A@f͘(oJD_z a" ci2%`3𿠜1=. hF U |&rSdp&X;#}xʴcHZ/9,xcR Ս D4SPI͛5Q!=U34WE:4v'j Q {Ulffg;?IZ$$yNG\XÜE$Ti)BJ_NSȸ n9fJ^%PL&dz!\abN吗jsuE(L t# <p}<#UEOzxbT7 w4φ]ѿc_{|M2Mwa?FaGꟘM~=8:;xi lNR/#8v:Wԗ iRVZet>|wvmZn,HuX=7Ȯk~8AzЇv+@fT&C"1|Mae@ n~=ׄy. N\FM䣿nR49J{c#|W#,:s(F۞fBrVҳ9CK>{bH,[K*o!T7ʒ*,!H'\"L٠CMA*.kD{1N.@u*Tȴ>-=CFVI%/9Y;QRX3/խL6p9 %J5S^c#T1Pu fj '[ {&F{NڒordqKDG7BՙI4ޓ"=rYVi϶ʁ܂).ALZL&-:j/>.~ϱQڬ%JOɄ2쩡n6,;\?!>$0`v W4sI/܈d_@eD NaTqlz{!0d:.Iq RǁB7%c-1稱 @|_ ̠vHuRؿO랄%9 #L19'cӖm(]s HtS:86htL+$70;vӦJ4jۭrZi!n]ln)X`~l]3(mk1I'nwؘdбZ-Ӭ+Ebt0,v|I"V;q:oo7 pJ Yf]AطgMPVb ȲXTBg3<[Dq98H)'Xe` Z7B4w.QtyQyvSjZ6*e2g/*J2f [SGsI8(qw3 p`hU+,7׊ED nmU8qUIL)AWkr3>k޶tNvpθ:OC KdiϠݟc\-2wU-hKZ^؝`x ]G`b4tw 5s9Χ)"FdDe6C!VV~Xɚ8ˮOjZ(. >WK2:MidKZ-GZĚ`?Yƣۜ4 TJU};TB M,MXZ@}}-3@b*qN,~vW<-lvCw#t[I_ aޥ<]j)@Yz1c&k"d4f8ΎqJӛ=t$hrd;P xfDɍ*Ő$ EQ]$<&nm햓v##P=MPEΰnQZ// t!U ]kHw1Wˍ<::iC7F-OW|iċ9ӝq dm}42K, Y"ˌ@,D)_ו [<;u0P1;0>Fj u4D!AsA3wr$VRF,f"[{&9"ShܩY> j{t@ 9i/ӤME giGf@oO`X;4t"v P( [uqZcKKRۑ MWRz;NPߠ}{9d>ic8:2vh/ LAq~YKeީZg?U=WOG d6IS",7@A-R+bNfx/_ mLOHi$X̙eHWD\,8J*_oOɿs\^u/LgmhR?nD=2b\ 㲾M=n9:dJ">%Y^G|Y#:1㥩,ek!g$MnkMVHf,}d$Es<K<0\^+wĹJm'"Kq0AƠUmF5 -"?2>ИO헁'1[jl̷Ay(}LT˓b f7TG {`Gҭd9P6ǡ;S1eMif͕kuS0^1C]5^韴ݦ.v 5 hB§hamylp lVeH{xnؤஊ(?RͼI"!&oʚ#Q؏@ꃮPY\Ŷ@ß ϟ$s XKt sE3@ l,7*.kv_~pOQ50q *a&> l" Ig=0eJ+-{U$QdzVIJruWcXI0!C= 0`uKR/ 5D!, 2ie/DSa#}ǁS9ٓJzHTjb!O@}tyA(|x0XdǮx'>IzeQAu@NRpXn/SXHd endstream endobj 1045 0 obj << /Length1 3037 /Length2 25735 /Length3 0 /Length 27392 /Filter /FlateDecode >> stream xuP 㮁2hpwwww ,wNpwdsS?oQӽiYkj(HTL L<53P ltv52001!PP:]Ō]<NWK+č@AJ3@jdP\\M]@j=d"leaoGsD@{PTNE2Ʀ6.6Vc{3 <@$P9Lƶ\$UՕTV@W{cPj@+163=@z[2(9::8++QU5uI:8ATWU(i~}HۛY6WVVgf] 37J O6 Ssg,]]y=<<,\\-mPl;m WP"9b)R +HKуE\Tą7A+[_ d+[Pv;kPc\ 91X0k L%ETbǁoWQ:Kc())쌭ASglo j KzH.: ;5S9;k(=[?c\c{7?[i x+W=Ui[[+mۥh3X@/&.7uwA=bV:8{1ocauVf+ 0ssdTrrJ$B#@'v6d[[ #ge! O"fN+hNKۛ;_CH׉F :m@k HZV5YzeS)88EhdjjwOgf[ oKyS{ /T joF 9Y)9-7u0M; 4a,fо1z5F{W w~ ;Qo `b7Q߈ b0JA,F?(q P~$U ^yzG90qnC]۹8y=%&gZgDݶ=D0YDs¢؉x/Ȋ&v>w5m]%tunc썇TkD"ve )W(=.l&sN~<q^X;A겡j9},4Zv—+dOM{"^U37G"=S(1^%O*M6B.d=6"FY[8'ŅgL?C^SH]8ap|k_iZy?'t՝)RǷ$ W?qAtў%n!+;zd 9앨Ej*E~Zxc,4,`!4S#6%/O§u(u֛# Y-&n&aag$C)h#j]B~ί_ e"}Y v!Ƅ`}<#LPBTꛝP7R`bJN c /Cg'۴T q.e^:B_a?#_ncZ*eaMF/P上7@`C4[t3yblOn2 {Y#"5_t lO)]WyjO N)h CV|r1K羻S8.]0$rжM7om̝5wِr81C^|CN3on+aQ|DOh1d-{7][cߞ˴_fـPLeX #}j3 َ xS LN&/9|,"&vsoxCmp":,X6N2[xjl|L%KF݆'"(p{cfbo*RGkOk^2E?s+X~1R,*bۗ &YڐwC@0\Ɠ#F]u2}Ȟh0U=O~J~X&Ϙ?ɴ%"/JNp}ΠgX74k u2aQA}0MM G}UׇRbgkdYyVb_m&_ٲd,|巐$=z=}/.n-ғH^i/MvhHRf2:[?+n4d1mvM b.XpK] ֨`h;q'QF6*Y ootousjV9tM!*Ziސk ?!(X6zqn=g6C3o\1Og*a>SZ m$_ۿL-!WⰎ@6GP䎊!&q9 }~>M ` ~boQ+ר qDL$gȗXs/@Jugr9=TƣN=v~5DDN| y,KצwrfiӉ56 ď4=#A(,䲘߆D-G :uS9ݴwsW/%uNLn*c)=!="Ő=4 w#KEcŢY SbLL{.f~Q4BsVع)ȭDX(}+= ;~Ҍiڻ%I{6p[Rx)t5̀68J%8ŧ>:6M"[.e3x`gnخwɈų/ņnǮ?e=1DDz?{d&Y哝')btI%AKH̸8}`uD8 ;%owi^_DzIrG~ rXo=uF|QM?mLMӮ` 1ApqQeJ?x_n}[B6Vό&0W.2+H=‹GS[ԻԵSndkySA?B&ѩT^N=2Ktl{5!58T8<Ў&j֦t93I@NHL=J 3?:7=ED{v):utyD-Od:XjP^:=դfVe( ,jꚓq8[> fT Y+WijʋncX2Y&h}L%@. bcv_u&6{Y u*hՏi=_)p-BBBi{$c3ݏ fO۱c؅: '%+N-w.LxszCF/kQWELyl՝ N {qKj0$q5 e&uPˑ1S0s;A 9n@nJѫMX-+b+ʦvDLL RS\˧[|Rig8v9͙*J] ܳ&@Mc>bu˽aL53ehج )BB;FFIT ٧PNa[XH_4H5ˡ㪍J(854RZR2h%d\2:fL RQ_{Jvxۙ\HYԃ,(W"g0'"V$6' "Aꛡݷw2b'Co7PtJd՝ Ϩk-!b!:FtKTUҹYX tDltؔ AQk] 8x|y簗)TW$pi2wf 惧UC)+YK'|T2*|O RtcU}OO#(yrs)[ s| U+LZ +O˺|Z?4IY"&|~sPҲ)h|]G"\{H /5:kI+-uk0yG_׫ }6`j-<9hTdY}^y[ pZ!*LCwrFpz|W)oasSxP'=%Wyj:UbI5]/Y?T* A- AkG~gqLO u0SZxu_/|2z\"7.9=fu.%>G%/љF._pս9us >JZ9`xUԢ($1h~O OC2ܱĨh{Q64S2КHo <%)/-L{'>~t lג{_FUY1Mل(Ӻ maR*>]pD\KWs> !&|sI0{y @uɄJ 'XyW/I>t7nJg"kr9%d&#) 亇0"L, _s7Yc阜H6.y=y?,-|a\'ʌ^pY~fMRE1I;lE9@$bhƟ ;f΄d~. :I':j te#vELTM=,OS5Wf{}*Ӎ$R`#01L6^>8_40fU5vfi$9M|gQ7NW4O=RE"8ٱPy|"TV'~}D %Xͣ_& ]ae!xWq~;@Vtn$.~8O ^uO%ekWپ:Nn&֐"}&K}5¯=w,^j>q6H0lB;ss˖mHY`_Oo&&܊V)gfZֳfܰIywMpaȸYǺQs v]#"CSZs*K=1UTDU}Lhn'nI (F nqF(fqvvOC~_ ڂEiP{N8k7#֑mï읤n1<י/yƬ4@t9!Ϝgl-z:ۖB`pxHD8~k_ja 7m~s*E,|GKlQɓo}h;@8hxr=RdGoz]M@R)\f7PĠ:IFn$'K]nOMղB/<G2LĜ̖cv.>?[)϶(hξW@Em|qi1HD ;ؠ%G.yH{K$,4MĴo1Gs'CM]Zlvb ~QZ#ȡn)G !j)aOcRYyd% P` _`!0ZT=u]0(3%:{ [.~&UE l,|qo٠b(w /i ||v-%["ţ 1a+ɉȲnĆyOL^#6״e\Iɽ&?%7zB=:%EĻ0HKI1Hu|K@JM5Im!<}wh&:QMXҁ*S^WrhYͳcHOln$A F两f '=t=6o>mf]Q;˳) {FHc]E;tWl}q\FF*EMVɛfR9}퉝 ?H'Mt!#w˕߈ ~"߯崇_/3z?DwxE4f֠* I>;h6ScvEhf$B2ogQMPĴc&{Z(M4"ȾibLi.Z+|L|= =ٴ@D=1(Rva. 8Iqu=x|g+s(M-_kg ElEkbϳΦ=kV}3W nj.Z?YRO$KNk5<:T=WSX֧/Vk[01++r@W)cv2@r4-\}:WydVe>CVPFs_BdnޯԅJc7wrn_9fPE-M:,#泟  7CE'$c* ~RUi3ŢM"ׄ'#n.d_>);2Ș`a jkބ?l`,e\)g. jsU (bM @e+q쐻\:Pa @c0C'`Zyf( v]TKl׆HC&xWL>cH>wt1TUDBrUKK5K9n+kQTAec@77M5oqeu*(=p0/=wEG:H|݅ж|ڭ9Krڗ~w2Ȥؔ ZfVё Ʋl6>5jFv3w\3͋w}`(V8*rt)G !rs T$ũj728 4{\"{L0&bG昍a¼0 uw%{=.HYs2S.n}ޑ˹-ZA<|83&G'O'_):{g[H$_Y?/Xg$~3vZQvo-Rcq ( R4^C,tx46VhBd]13 6}9O&f]o0EDJLqL~%n/'b3n{k-a~Ge; 0ׁA"#:d,QA I;8|XnYIT.vk烾 5fg=ܡ` B~1\,$ (Mϓ ,İ)C3-6m j&g=-} L*@93| I}bϮ \K~QIj 6s+V?Ń͏Wʇ g Zh{c,/SY}"tG,B}QCOŖܮ`U#*ƈKa=Q~XK>¡?pFG^"+́Cۼ&f 9q"mc]Fd5AgUQExJDhַO0 _*sqmET'mt$Um7ơk:̺N˩#SRfkHЧؼk\;5IƦLqVcz&[5{q(21A4N?p˥?X{-^7ȿQ>Qv$Kn,#F&Kl5\mvA~r,Ω'rZGcL7vY뵛i /c~{&EAO&wXJ_w`Ü͂n{"G֙1zr!\ W *A$-W;VK; ^#hߥ{8ЩY9}D?#xlD"2g.D,uw3Jy>˰]1$Pg ipTStBHue:3Tj@N,L#Rħ=pSG}p^ gGDBTZ[86ژw/^ouXxj8}2QUo*!' Ҩy9N@ôtKq:mR*9d˔]f^qrXJFlG=pxU0@.\H0P·ĖGLWSB98"6e覥 S1j2ACd 'y\5Jѽs?[0M*R\d-9UEvJLUH Mwu,G)U@M ׫ gf ݶ{d8!#ēݷ`duT{LjطVоz.闊;h'_T)6Ք̃`Rx &vu0 u!a"; l65!j\-by-sT7]YU;c8S?a0K>9f&؍|eɕ;Ñ=j} 68񪶥kR| &C7VErvؤ 7YJ"+@2j2j }-ry|S8ooszgi_ $ lfcL?N,;4O=+h]*A';@rrPH4z֢6͑G+3+u۽9PldHX|ex`KC TK87!zf\_G SO(9Qk}lb]JMPfX,UTm$B]e|o-_+5cOiȲ`ӢOlaHG$'P9oY x]:Q7Sd\򜂛Ϳ1Kω F|Bo(Ng3f^ljhJ eaבvNJk혟|y5*We7m,P=i~˹HKӡ$zVE)BLz)g)t vaL1^PTƸ/4so# FGӶ @W\ $0:<8Ե u1J'Dq05ݹesOԗf05v :N-nW6 7EbdT),r9ñE+66 i#z t+gk5J؛| &mȈBSÙ.?SuH*QQ^R[4CW+a.wJ_`滙"6M $~Nԍ'aWQrnaU:#n%ox0EdLxCw^[%pIk-rXq*1&?@=}79Фkq3=qV[c0z#E~RA,O_WyDЗu?f"Y"e$ã<nKwXWA_TdbQ~ vT&_L)ytmڟcSYcl* [< 6_o/W3!cw,`B<+Wܸ/n:N MK&I"n8sze[SϠr?kh$ǸP8 ΨV1'4˾Lt,XV@>y;[~(+xQ`E~%bC)Stς sXUZ' nC]lM>14  y*HY OYGm_u6[2,н^fOnPn-Dd< ;zys&gcǛ ^ )b)Yk~hKGxpF\Ul.2}LRTS '}>vߕnŝ}/l!90XMٳ7<+]ړoqD2G/֗DqshuYA&.AAFKi)$ Ew b$:ꍣ =0!㑊uCF> t%-ĖjG!,|KwێB= lً2$zf+ 9'Ǡ,*k_(ruM䅳nKV*r iFzi.ϻ̭ =]x[y(S6 ,cQq_0|>jTg;_6>.lx沮vs8UOƒx8P t~,q)m2FSb9鬓Tl_B<Ӳ==E;3ό7A(~ N7Ӫ3vs)2N'L 8ȓ`߻oVRS XA :^$c'qRjC\whZl?}n"U3F2~ix?wdDkkK6rpGfvCAAJCLy˸sAj5U>o_}sǻwYoByu~vi q/5D HvWZ|ʖtʻؽWj"2x7.ێi(y3KstWZbOȵ=`B*|(^Hx]ծy]i_bt&\DC+fZnaNbLA\*=C\>t(1Su̠J }&V4v;6BP>}̐VVʀm2[c2s[bݨYl!ꢖLw%^x'O |Һ$ؗ/MķYu&bfǍDFUʥd)z D)8ҧtVk[Lbak:RuR͉3y+&xw.g6míس)'ui{CqL~[8Xٯh y4}<\juFf Yz qV}̟ -+Ǟ2ۏ +n; bI)Z7R/־;df<1 s]ĹƏY1idK/ʄEj p qXfۍOh"ns'eJ@!uk} ֛wxIOXLίHmR'L{tr%ԢJزzm[oMBlԛ>1~>#cemhk NɘG_Fka Z^:mob68K7O"D/BTɊߺlÜeכ"K{1\7kQ:Ѥ]ɨlٜˍH|AX$q8?j-2?ۋZ=KeGuk$> ey?K*ʥU;~i'fI"*8q g,#n5,2pݚEͯ)Us/G|oݳ i^(+'>>z6'$~ط)}$SJ|EX꫆T&Dd_MfY, 胭 'qNċV Y*+5W8CɬiqWuY. t`ohǕIQ30X>ȿB,CkUv?11*A|TNkUMfZE.Th*F&aR2Y0F\.$WT],f|< IR~[%nؼ#K7h S>ܑJJd-^P8VB|i; p,F}6ovcoi*tG=}&c˽^mtTy MyHE & )r'@S+~2efΓF/<;^,N*Вu-NG $&ꑶTDaZ}(ļОt+Uϫގ]%V,:qZ# #f^ 2JjcxeV*lZZg*?["!==*fH} %WB:7B/r=}ȋ ^M׊c-IPBzKhu"*loσT*"@|8 ZէPi La!cA;H!~[m  Ga[/8*Z/r%۸( h/>fFvz3k/)-Xl\^5䑶~6/A5i*gizӸXSgqkLQuGm&ׄISOW_2D ^YEMaXy\m*Чy.o~H I- b̿W8{]G<<V!IΊ RAe~kG?r-Ĺ綒vylx+tQwf,0J6P\YK*Y2{Nҩk >_8Mn'i`Ń"-l?~U_nahg ¼k"~_i!ml-T1B[s1(|5xj|?c_`*#fN,Q{bN>r;$Qc$äp4 d5HzJ?;>BҊhCX+Bz@`_?|o\e.C0?uiDsfHdM,[ތk)k"NXMl_NxޗZkqz4ִb)O7AJ0pyT]zRO~2%b3)c[PϲQ9Ɗ\Liu9v9V-=k멦rݚBׅVzj@pG^؜ap|'betGqryܳ(18ڃS^jpOԕ (l6&۶m_mO6lvmSMu=o_^ B_ w7e2wN2Ҩad1?81m$˲}X)%u6`6?VGGKR ß ∬۴*֣ >m^wX_0xŞH?glhn"շxs 4 m3kvnx|`cv 7T6_rgXUP_3FwMWNҧo)M쿒?N˽Ve_8',/8sG/a;M"ZShGvnbe˄WU+Ik+J =옯|<'* (8=;l&C@9rKS |rbGc⩦wk%y|tEH.!4 :B ;If#@>O'6%0)es43+لّ4l:=8TIgTpW;%VYi>ڈ-u8JR֨OBڋlH?4)谹:&br'ғ$+N!.[c7I_ǕƂ>wR[-Ct4d6ɱ۲$g 112$n bU'0;.D¯iG)a=gONJonM.o–6倵+D''<{Y~&K (ŭ_s;QgRxta^GxM#H7Z $~r̒Ln%Vng撌D/3\:vL߹kDqEf[lAzMSt@":zS.MNC荅?5;?Z'LJƁ#ynz.S댵L u q!8RHcud6Ov*B:*EL xǫ+:C nBo Tp6ЁHĬl0%BL_w=W¿Qz[lA<֞OWs}EoB/6.c`ݱ| nkPT ?E:g\.}oAJn*8R/G:=VM2c8GGc'(=su^oa\ش7[FU8[̷ٌm҉ ԗr3lz7erD0'0}":<_'hgilKy֔R"&(JfD/BO֘ɃǓѨA Ɵ+[ʜFgÍy ƿG ~S0%L69$ꪁH(Zj*C;=x}fL{0HȽ/H~})~:eArK.JGCyt@:Ø_^2@pŢOD|x댭m*kVɦr*h/+<[@ I/"&ۚ;izr [qb\{a@ldPq'Lw5?9#^s23;O*}u-Qn䋕SH̹u=à) uLfϧZQr?)v5ਰ; F k,o~VafLlY7)|M2VȻ> S{EY %(zD1W_webChͽm+@I͝- J}[ JEل(4ExV29l|e3<5LŞT)fBP!3q^/4|m 2W2\zH3Yʷ\l8֖s?\8d-pW:-S|[$MBTs"Z7&Suz;d/ MQ#aHy&6 v,mv1QM?NW& #Tl"SfoJT/U:|_Bz$zKUd4@S49 G;X~ڿJMrm'9Un2DO)B]>! j|9c --*bu/%5n}_9IŽHs{@ D)Yl,:InCHV~%#-!2,SNMudi2|_ b:ZBs2/'%ԇK49 K$ {IN.Z,6bV]ӼA$?Laҵq͠cRųx~up"SkJtK |ԌXee;+Peч}*ىZcNlFr3Im  3'ݯ!>s.Jمzn8؁Pz7)Z*;_v{kpFޔ_>ʟX6H+m<E+Yeׄ[oۮmD%VS{%/uKJEm";?©cHE6fs'k9fv\L?fKI J%_&[:&(VP*vkrj;ġIlZ-\xBÕ {hR"lc͏x5/q aRu 0g o 0Ýz^jvOEEFWw0 9wY%3 rgg4ɯm"`D3ĩ6N|bEOzWU ӚP‹G"|Z؉f nĶY09Yq5'i;?*dFȹ=y rζ 3Nc_#heB\֩!v|wUgm<Y23, G.y0d^XdDUvS8P Z}vT7iAeFQ{\-2IA#ˤ2>L&Α@0d\ϲf{ 9 tWv톣=Rҗb%gAƹlt HQ۔'fvM=tC-ĜtlV%,)ϫ|f% 0ǖu1ʱ\`w嶒 rւ rH@8u-pH9A|tv5ܨQ(q, -(,M8I"T-:{4*p??!/y^lUCݹMo3,U/xIC]>+-6̦8mƄW|H/l\8}`S]CZ[аAe:DCW,ed-tikOL+aq r1Dsji7yT7񻊐:;>mRYjNEj3lIN&5#0ŪkiZm,2 :&zD|V8N |$&*& 뤭2 ݹA%o\jN?g@-UpLs}^ɵF/O ͜yP@!$!vLnW8YfjHjeީTUF5tO 6q @RqIM{K OU ?lAAKSd\oykP?ktه݈QrۃtYL%'IS"8YhSr1*nVr""P#. ?l6c[7ϟiGo)W'Bl3>'VWxy ):>E|HO⟮W. /x)֜'m$Ŀ֗:Cd3nwj;$A'lF^3'(Wgc1>8\utOA!%L|\xQ܍S!nϺiU4Vxץ1xcV$ %ZIOXQd/ )`Ho<B1aJyF0v!vH'q4ɾ~Tv Qɝ~mR\ӂ .ZޮL2!Gi>X촓LܱTbuV[QZFltUPlMߢ~Kzo>1GQWV#ELg jVHc!0qY Jssd%M_0FW^:~s9VFɒ tm _A[HT> XJ:} mN~`V2O%\#im-.a(̯"眥֚.Zm@p*l+Dp9=l l #F/lD:1RF@hP]Ln&2p )z0(, @c>GÝDit}5cA z2UZD7<(,*{K zgjjp_3U17gfcս|C,DY4<2vTcW$GYĢ%DOd$[+?`*bdBp#g&%cyIdrƎ  z1Ű66%B&j׵F߭B^l&-` HJq/!̆eqS&xMeYtgk(%lv쎀ct8jʫhp j6~{4 ZD}O9Y?Q x"i`ȹKOԝ&Zϩ"65`^`(}K 9eh]H5БAqM )4b` bx]`ɦeQh)5^_.'LΥ47cزO~0=7#P>Y5rTXҐ ңYӞ#k/ =fRz"p2U9($#/$=$u|ó--C4#vcPЯ|Px K!|{)4m<JЩEh Ncz:; ^f 7zM s/S_mf~ou@+A d$xxG* b5`lNljN̒!gΎNZFҒ;Tl2HSF@m-=GQ޴Ԙ?w5RC7E-L?3.v5$n'7L¤NU$ͱEأϲmUk h/2Rl4t-Fz'o·gma Ix|K,X4RՉ;4LawZDÀokfRJUT=sBa uP`(]5Ksx^6q]P’)_|-#|@YYj1'1onJ[Hژ=))į5츿bO5Ud(dgX^̖-NBm-dFlsbB'+ŲاoCºj~t5k!k}\䷵g ΆP0l^3CkyY{FxW e#fk_97snA|o^ ^+)#?R , a2Ŷ'Dsjd?_=G$i|fC\5{؅M P&LЗ]FI_8;k1GT6ߝtz>o!k6n4t"s-Wvd3#5ڝX*dN]Al˯ڠuk)NpW; ~FghJN ,xhS $ Rbamf 8_KT(eaQ+Cy:OJ؊XVDY6ĎH !o$KWl(Pg (,?!z0,~y=|(B"ߞß endstream endobj 1047 0 obj << /Length1 1676 /Length2 6711 /Length3 0 /Length 7670 /Filter /FlateDecode >> stream x}uXk .iBna``aNTA:DPT3;ug~kY]em\O\|<85~HC\`q?O #HG[QTw/ _DLL``;36wg[qr0wD); "B5U!vpYu O ^`md< m0(=7/! Gg;@?)M8?&J-섘?Yp?l;瀘_S*?=Tt@B+ !/{!y]Gp 5 C(O=tO=!NѸ')8E_Խ'ęz$B= O _Ch`=!J@P+w(®5 á`[}\8W'/B=^ h"g< tv ށ bdޮ`?*1ӽa|o>pt|VByE?^,B+\'$0 !""X!@]baL! n߫D|@2>kfuN:Z4o}v}mEB.ǐMq_$,dg \_:k7~T3n!#fsy4L—h(Vv:($S,Gmd sŇ7w>ɭмРt]F!P5_-6ͼ^u, C-{&]8YhrÂ;E|l"L:]uG)w˾2 zjj%V;{6®'_qb0Nc(Rb."h vg.C'5S(\GbHE~KR6p^N=A?yrM>'EVj>l7lxٷR2[rcM//M!! o` #[#\1vxGXw)_VLnə`@^̙M +mNۺx_鬉GqǎԳ 1]%؜傒@W?=U36xޱ!٘mYMC XϗÄ Jte] tkPTSP=9orH7';( $/PpUsHx6BtJP΍^J|Gۚ&Ȫԧ_{og֒>OmsjHP˸K[nyNWo~~ 3T + gC7p򵇡?D>**j.T,ٕe)t"&>{4c` cZayFH7mP -R>,,<ͳ͝$'kUi$Ї? 2{If~6Ɯ]6 pq5Ϸשj(t* e$ aV}u+S"%֏T/Χ\zTf 5垶,~iWˈŤJ(CǩSs}79ȉvs$yT)NFHR_?{Of37kCOX| xWXnb[U?kԲ]ї>?O'Z~UT۱?+8oG}rdMRN-f%F_ÛW+mT7m0DB_S?5ηo((+ |ǿwnJܨ_eG8CpzFR sZ"((t~#Gt7w)F G79T:̉SJhoDRE芮пI^*ۚϻ˹sBN Z·Ong[P1y}T],Ij v9x5Ao۷YqQ xʒ,G1B䁔9N>e#%|^/d3ՌPcT8BnuFM3u(!{'~ ef[y|7pu$-Y'$OƖ~{$[ :b?>̡)C#juYX> 8V 7+sea$HT'8f3d:^cZ p#Pl(j #(k./JXïB^`'y@ؿ"6 <4w*.Q_M #ٟ9QMsmI q{33dkQͷ-tIi3Ι"zVTWEzIRJQ-RrH8c:BD)UJ 31˿mPRa.ūz2cYGhwdesvz?c*$ed܃>"[(a_Fx%3m'! Ta{B}<%b;cIH Cz)gU`U3NbƋ&E7ɖQ/YLe`.+l]8rܾqwS7ğdˮ0 ěА\Pя wE<ɴ>744Vc0LsA;«s"( 7k2^iae2Ϟ&l7í{OCYT*WF vK-2< u| 7A4kM 8{ȦN,Hro?sy}>6iفxzQu趍׋wFPR ɹ$N?ZU#F)R~_D$Kx)[]#jhѭKPXNijd-c:R1똟3Tmw[Vx[)6M\%Q@Ƭ]"Ǫ+IH&1RHu=)d`lB![!l%bߟ:'F졏3'ﴥX]Ƶq%|Iԥ{*2'ə]Tٛsl3HptWUyjLɥP]IL-l;bS M룗<7yojaW#7bG q'H217 '$HS,I;a\z7;O]SpI8Tk57-j@5+KҪޟeY":U㇬jtTNYI{lVww\Y%gjk=XtuT(*͡,׬ƚaTD[q^AϜ՚$>Aŏ S;&.\μPih\Ԧ8g~!9Q5zޫ\Ф EѱI$eMT!Cԍo޴}ަj y1˔yL[Z#4iR * lnHpy(;~Z 7j|ɋF;Zg.s#xuQ0ii? &akr#)o差6QE~COPNK(yb#kqNň'~Zd=mK|f>KxlIӷ$=c̽ƷJVϼf )lDǛNntGl)/޷]=:Z쨓.«ŌqKƿȽ+VTzv k7؎oiN1嫐|5i!hMLCTP ieϋD~=he$7}swy6甋@+Z8vdJ2p endstream endobj 1049 0 obj << /Length1 2203 /Length2 9552 /Length3 0 /Length 10755 /Filter /FlateDecode >> stream x}wuX6]"KZE4HIH  ݍtw ->g>u}{fyke5FQ3 Hlpfuwv3z:[ā >+3+3 A| 0M'677 63daew~;s0o} G'H-`2sQڂ?n'@ dea UYWhce*jgamrr)[9Z]@5@6Vv eYYXǧniejmrrpǥv2pDBBz|@'S3 ?ݿVFGA!哰3YY8@GG +qXV;D,3` 0;=#.No߈ ,oY%A,fg `zFlfg`yFfg" \3pQ|F.J g \T3pQF.EAh=#gp}Fug VVV.Yٸp1c`mv9Z9Y?w.&hjdt#?osE&8 d:e8 MA`)og) qA!6?ganGn !E ~7 ^q@v%!Ҝg\.?V\r<7Rmc%VHϤ!9bevCjAv65;=PlVr@ko0VYorf'7o#dfbByB$?HsZ{q1$NH'+g~s &N|gKG&g7 9\g!w}鼫 d@? J8j@? $H OP(=y~aֿ#eelgrXX 'ߗHL y!!(+'$_q. @ 3`SwUA$n?V[btzB9g3,S&ČJ >ϼ';q쿒(JgS1yb;)l )M}0w'v܇Vm]}- DHь}ה:Q؎z.20A2{ >D8+P~6B;;rr[8nWv_:"}>t0f-knH,W=*v<*z| t6T'/;.m_;t^1'M8ő/ q(#}'_S堵ec͗NJĂzk }9.flrS3/DY=6ItZ5/8@| s6cWHIGOK9Ӄ 1o.o 7^NQ/#>aS hE㙕D1ڝ_; ݩ6.v+߫p@h#Sھ<ƦOBP]V5s4Bl8ZVSf6>g}XTƽ$7_52bĥ1^*.*sMQ&ޛJEݺq1``ɘǧ51۠+NiuޒNקkjk>0|?o9qETXne}$`uPCe|e,'_і-AaoU}46ïYhsye☊ Gn䟻GÚ6k<ߩDԢns "5eӌO:ٜ594N`~Xꄯ:#j1~-]'>stoqt()_5k .I'"2TV}M/E}qYw*]u\4'fdB] ǩr#W5kOI2=OAS+ȥҗpco-/9 NFMG7!l5Qu4AvՔz0#͢GHmH&c 0| %zo6Y`%s{ ϔa  O@o3k_(!3TŽG Œd~1Wqa4=ݒH&E<ʫr;$_3ua?|X*8FCCpYFzY+ÅTO8Fl夷dPgRbP1Yn&8›쁯Oʚ+&V+}`N0h׋MvjZG7uߐ"cޱM. ,am̸qyġIp 4P6iݒ*ʾI ĒJY4ǦVn;Zv# u ,;:<ʳq*Ia`S NcewZsAYGТw@xM ˽rL#6jm:oRTv;?о/tH*5v7nmt9v.W2YX {X#0*}K)JqZp8Sf8^t?Cpu~ȫ9?&.$mVm:5‰up_x3*i5J9w{|*is78mO;'c;btoWjьW9PS<32G lk챎h2_9]Wq>!qwWp;>/K,B`|;.]_t fX&V<Ѭ4$}+!),AuǡcF(c͙p*ž@蟾9t+ Vx<3.dt/7 ]0o dNhiicPEK;&8+C;e{c s@ub4?k5x), R{$5!9w5vb$SiC?)( EB~S\C(e(܄@M6fdqWVUMfۚ-Ҋe/'dvJKXLa=پB3Q8YŪq0 ~~1';o\:! }?ǁ7MP<'v45=[u sMi$tA=A8~,1>?ݮh `x֬@*"ώE2ӐU=VI;5c79S Xe7zP_-{=,%1%$]׳@6N*u+hy JpC MKԩ}5#B"l=ŁS |{Y?о~k~7gM2>ds^GIrdk5ӗJKV)x,a=dwH3C*  =KkOrL OFctyD8KؾRO5;i WcR0h܋X[y$aY-t\-xP}sے{#5z #Qڅ^ܗqNFB,Ug#㾺7GFTKŪZrլ%ܹ2AGP\ݻBAKُ>e$F {Ut<{V%\׭qҊ-Kf9uB窄 7KV7kjE HOgTK*yKr:,IoKtzSu3ej~ZEݳ bDUZ0%Or:EcQ>Qo"U"DnrukCm-x$Kj;kaK.^3(kGm 0!Gݥ8P:jb"2O8kS<k)*!93dе<ȜN" 0[eoۡ42:Dt9*׷nNTΊ0h xI u48`N\`}==C:)~Sz}artJ\&Fk_4nDb( JhT&رяT(L{7W>_9EMKJ7&sHGh07un-z?$y'"ޯxVe]UOd 'X}HLH~BEdh.E٘Hz:cM{Á+8 _LDhC=db6ȷ?N0 tHGP5] $e3:puS E/C"<뵘[3{6h'F*>>%OY{ Va7sگǾGVћ/dt:BSI?VfŠ,XEaE`o $v=tIr/1X?U2,׻T%a8{kɂŗpT.4R=8'x`W/fۙ~d}_Ceg,bjFu(?F<{G'oŅ.3ID&dzϤ{?E1B콻O$$į>D]R;es| u~hvt*D2E>10\R Y' kB2 @,2hkt8<{.eLCsχ6 Mc^d!^?<[6.ZVc;FHTŒda-88 o$\ ]уkTWa[|Q|ppz5ۀ0#~i4mYgThkj1ѷYJMkL*ŔBP)De [Ծ/cw'FgD1ZRIėTMv i^18<9OKk0`lx}i5pޣ53MDx~횈XS;_5;ៅ8X[6b93}?|szb&V5p- )H#Nh5BWe{ 7Vz2c ~qV83}"AXBW7?6wM0:a5PFI~j-Qdrch̅Ro&Ĭ}QXGgoC塉g9ISS]MT[9mՆ&^X/y܄j!m3tns^~qs`VA3N^މ$~ HfjDWЦWb9JU:Oz'zEg !_e?#5rQiY#:nkrAhN1F-^uI v _H/9"7̪ӑ}~qgUn$0~nKKE dv "z3V:~i`:Iã*bQ6"|tIc<KQKBjmbN0}W`v].}[@f1&8,)9[iv1CjYWFVSvr/M->$UgY K!9@4`JB#/*H4IM \Lyo@^{m#D.ĭk5\mLZ]R6ϼk%uHf6JJaG̼;fjf夆nMzTVTl$›vY}jD#4(9$I%Е,>V2t;\rdddb΁ 6XU39[SukY]Dֺf̄U/-@ɉBТ% _k">ݨ 6|R1?hL[Mxt&*N^N*텲f a%EPgJ0m< BAt#Uc]܄n?2H1;dFèkm{b›o|CKmZjuRn 2ou" r+X,3.sFݲ[nWy (= !~dpSNH wK˻rӳ~ȿ}Es/TP4@:.߫n[fX8 :3RL p_f]3Qehf]-w7pzOW 1L'7CR[ʻ=k_ ,~su;= 룐 aNy;iaټcLr"3۞.ѣнvBocN_tjJhپijRE2o"}s-.Q?NPb3#& )Ԯ$(e 6-j\\x"֤imLDD0K"G[I4luኋɮ]e+cL d9~ַBcNa({7*%e5]oYߵ1oPiv 1|~:Ц7\6T^n7-5<?|p5Z12nݣQZSWB`}0O2K?*t)Mrǽzrijp5H_bAWJbP\* SEI#"Cįoy=.e(NR5t~QģK>S8v(vZ"_nia\2׋˜y- gnIk9#K?LpOb^/SÇvA+mEo+^KJnmeS>4*c?UK hgFyA-I׎s94mK/V  ԵǷ ]8u `l ћ w- J^\* q`8V8eӚBr֕rW!`g?6ȀM81=q#p*w%/F-}ZlT, /4c'&.܅UC93~kv^P*jD5JlDžY]{gX9-K!p _QAgMk=Rlk0/|t4T^ a&&j&Fz֧|b10c|\ԋ*9)*LԌ N2WGZf,3ţD;_Li71#bi[Kyˀ)XJX9Q\:yB3oq*O"8wAGr&a[_u;3{@O>ZH#X5[jqV7:)hO;]4)mRQf΋Xʠ h7qOϥ^[ևBg3zH/I/V &pbgY^K75]wW畂sI/v(|EwzW9[f5W&)vdFm`n%QbEP*.qC%Nֆ wpwY7(K*Ri*R_HԠbr987N(̖ҎbvYkyjWy\6^n/bk?u}|jMr2 vCOUW[Yb#+nqVM) )"kIjqb)fU#nx `΄p圃o"g"PQt@/]ułm'tStlV3W =Drb-O e6c-6Yu/9ag@uZ;"XY7Y /8p+m1hj[1`0oЃ @nF|<+4Ne}^`Kf&/K{_s޹ˉ Q5kPf^\[ &=ӵyR-aiG]>@eu1mQBڞ 8YewLו;x=D6Xm/wg5ʕ~,P3֧b_(ӧ|2)8dZ}[%g`;%M!GgGʠSgV' 6)G/fU!龢.oa ErAؑh8ꦢ I&KKh]XY,-*sg`Np2 ŸOHgKt{0o(|1 Y]RQّ~T{v(ⱷۥyG1.[j4v/4b1Ӣ[,;.#)樜LOrr<64ToR#r"N==|PqE4w!HocGkj278ubG\2L3%!rj N;3hOZEMЂ*Vס#[9dRrfSXQ&qUַ-8V>2ZQLnQ[l,D|R ceGnJ> stream x}RiPSW#aL`Q1,HT0H%EBrI& 0,.W PQi)ZEQX U Xhҩ8y9;K[$`I o HaDp07U#$V <>cFA*"%\5Z}߇qc@+H*p/&IJC)=M=RIT=F&B>=Y5Sqw TdU\!"Tq FH2q:PBJPJH7&ij\z={+W"ߎHOKC'Z:z$J8NPNNw,nHPHdj%ik  x4r9+ ـA"I9'ځpT|@"Ǣ5$ OM7Qc77" p%RD"Gn8ƣy8}āOߗ_@g&LPa(:_m'mP`M*Nl~t}Zڜ~ha :mxe;%7nx["5.P *ɏU-ƒ9>ٻ~ةnl^u%@ dݢSvưGWcdTl!\zY~-ٷE)h(L33M3AaZ!4m{4}ԱUFY`c+~6kyj-plXt9޴4؝zyQy@|IYnuV1eu.M"{E+ Em4{ 2/2!g)0|]0[u,IF]gxΈu˷_nKlR[MN!Yz:vw7ܯ`I);g6eٲb!zFcWL\X޴VYؿڛ=NUY̒YwokɉX٧ilt|36/vꗋ6]C_ıWBXu}zSln=Invaqd*#᝸fbkKYe^Q0WO~a"L)}s9KO,v5rfRD~QՖBa[ѭZH"uk+#YldAN:;4TRr=EUypɣ> stream x}Rn0 +J2@BU a0v-"ѤJ?'NFv!xdai`Wl0Xі-DU|Z#pYmjFhqi%vǠw<+qs`xȧEjsQ)IDc9]\٫Yxa'PZڻN89,A*3׺r Ò=^ wVU  rhNp f6/§{Z!>n:XW@3,Kjo ]E8y6OY2YS^9ųœ8x9)ř:z7m(Zkɽ_7l(+Tr]G.eV_ endstream endobj 1054 0 obj << /Length 690 /Filter /FlateDecode >> stream xmTMk0WhF.! rض4ekb+]Cbہ_{NKb1oϻڃR?]psѹUׯÃxrFqnmSw>x۔KQYV7!#n_XRƺIľ|YxN|rP̓PRJOMg0I_'1iҢqzgyf y>mm^8;) O}y_/KםTl6rG_?;1n MUmn_~߼`-Fb[>TE 7:Dnxq h͊"<a"E abn9cO rDDJʯϾ2Ba8c ]R05Y `e1 8blWx6yȕRLʼITqZ%ЬưNcp^NY4{G֊p> stream x[YoH~ׯ /3E0ĉsx28 ˴͍T[<$%Y`wHl}}-IZII؈ 9E#ܛk* -*#,\Y$^M>Wֶ甋,7:s9 5peĘ`PaP1X8*bAЈ)N{@wrPɜq  tT8J|%bad9O,hC 6u*Z`.A=s m^QafE`+""n `q.hpd.(W`;&Ag"!(HH0( ʷq`hQ"a| M iA t 48QdEO}) -яPPkjFW؃ )Ě)Z4| MqdUΏ "j 2BEZz 8Ps."c4 /,@ !9xIOp9hoD0Wq*˃J,L;6`(1Pp؃2y5X^璨WNw3!tOL*D;| PΤXpS(BDCcxB_@uU`H`hxiMy}rهL_.htGFP2/qVD  NS !t:i#Obx1{f'y1aygy:3FWE2x4}@Ҏi)خ+i%Yd[*5UI%:JBLQIwTrgmWz') ~5#EgB|ه a} lR۾eŠ>,BsL&_Ç~?̓鄜ov쟄 4J<ٟW;lN;ĺ[ҫ M F۸XwV.,\]ZVq1NJcX߸Ӏ®8Ցވ1! 1;b7ڮn"8oHErQQ1zQNdzA?xpLg{%f78خt L0C/L+WȂ;[)UҢ/>WGEƃd4 q<ڝSe6$+طoq@p~/":܆Lswz t\;Sbj0 <-n)aW,fO!5ӷ]ghd L ` Xsm_Uq.53-{Zu3l:t't"DUE2tQY.F@j yo3m꣔nck9ԍ٪qhأgл+ʺreM٧pi+`P tғރbHɃ5sUkMJ5Q|PbD|ŒmuP^vB2~8Rr^8Gu uU>пƬƯ@ށS]"tnȰ;$S#&8~FRDwMt|i G7hUZ+oSΨY{tU|W]cK?Rsnܕu|1";:kfŧ\3g%|{+X{r%zW26 9\^dLjKS}mc k: "n* 6aNUig?aU1VC[A* 7PL*+.Z^OpoKx(դm_Bxۅ:AkX-M'dJk}vz(xEA٬e͕ZkS|2njX[FpMV6f.2/ef; o dMF]*$k!̲>=X#4:Z@n/8[y~^>6'2xf8Άi2˧iqq<Û'O8ViLG4 H=á=,{,i!z`0{'W9S=={(jGGNx.b}40 ÓH2 t8/8L/\i7iٳ7^:RKadB]褝 uV:1|*d ;;V4~N˼FOO?|z|`t.BDޢi&Wk6ͳq2g-6Zퟝx}Z-${6GƱ;IJMS)Q4~ltc0)w<7֑3f,T'yLC>'/K?kyCN)yKޑ| ɀ!NG O.%O\N)":|!#2&2I&1)3#!78i2 _q|Χy\JIF %?H6d$'5D/9F' n9Ol?~yWPV.ԻP.TMu.hpX7ڣ¦J3*~>;>j>+ǰ[B P^@yਿ +B͹l [@)xh+6=,-klu?Ǖ5Ntܪ %c-|Z8,\4[mcq<@R [-*^uւ븇1~Ƭam:ay,tt˝uE.4\i6In:}|un`F{TX+T*8SXD4c@ %`%=&zh- r_[#r)i2} HȘyΌ,k"8KC4c1"_ >]|-'Z&ʭÏ/_ѭ҃g/ߟ>ُ<_ 8JT6+bF-&˂g+< 6ʕ[p{"ln|ëUEPY8Gpfg:dx>L<z.yӕbtԃgC_oߥ<̐ʻoIl0^2߽} EOWl@썔%حZ< T8v_}%O>oԉ57"nMH[PR"a*w SQ-Y)>{l+?ߪ;L,GÖG^E~?@mOo'ो8t)I>5l$h[$HCLW @<-@xމDkN:ɶtx WK8e }ŏ&[#.t2Dy!+uD0EY 2S#򺳟#q2|GGT( 7GtDph2 ZݏZ(C؝|ӧŪ#4P C7^i֑*gǺUS6YmT'@!BEv@EՅ@td%ӿB endstream endobj 1055 0 obj << /Length 708 /Filter /FlateDecode >> stream xmTMo0+J!m0U !mTtHo4U󳙫YZw/nJWnN׎ծ>w節u7m3xN;'Yڴ g{6j>;A s3yҷנ_VJE[g$EM[uҢnqwu~ y1i]Z_4v}Ӿt<92XE=~r?NhVj7ww VRŪ,ׁkbxO0/)=VfYT{ @ r 0,jؘ@@tD˳ϮKTM"` xB 9p8976'>;-S''J3 ('Z%ЯDNhFCf=tu4h1&NIC aι%.sƨ,X.GED(BW14yӨF_Hq('bĄvm; &xg&5|6)` "sJ,4%!Ź&AQ߄R3ə$S>gcYvDz~ !G9WûqO 1y>Du{?Ah<`HhZ9Y;Z|=_4 endstream endobj 1056 0 obj << /Type /ObjStm /N 100 /First 893 /Length 2048 /Filter /FlateDecode >> stream xڥX]o$|_lI08$ gɐtASr^`WwWSλDBaSrT5X"ET.g'ջBJR gBeWct*^gBUBRq%UuA0?Pv))v:G>\DGZqD ub.[Ĝpɩ$/ &g'Ln]rB\ʨ*J`4`G|2 '<& eLF( *DV]i<.@Ou)Q .0h}G'# &1crKs6}(DzBAv)vHZG#BZqCZh A cdI@\7 c2HmMD` F/%4PF/XhX G97=`nBjZjs[M|LM|4(m!0 ʖ  ʖ JӊР4z -&K[hP$#6\5_JMO~yOgw?~ݶtۧs{n?~߼=oϏ9?}-w~z~xĆᶩǧ~ųO7w{fcnûQ>|{3/~st#3ݓw [AXBy{ Q}}UI2D@ϩ2KcW$)^=}xE xr4NE<8Ƒ,d^d##YHR%)I vX)R#wT^d,ն;*IR Р|Y_dR~iFY_ڿ.IPøZԮ$QuhQy$,2I2>'uhQuhQ?)|z9u|^jw|HrڿZcK_hl ZOf ,5'?%Aw鲄. }ؼuۜӵv7jK3^S%OC]ayr V"L &3\ W0ݧYIuຊfC%aZVX3UXU"#6GT=z5**T=wK/-%X\bZnSRzOJ|XnYb2!ي3@ tI2vL uc>!L.fލ,2Xv#kX~~šn_ XlhX k.XαJ6X?cVYO 2gB$"1Kb#K* l4lh66AThQK>θ=-'}qO=-'}qO=-7kb>,{q>Ì%pf{/7ƻWyR{2ƻWiHj^bgKjTiu=͌x'c43^RK,2X~kɽ1^/,7K3%5^%xifKyɽa0 S^r 2^ݕJpgܫkx-ͼkidf^K굴Z2^K3%ZzkGmuW:MOL¶~8OLwY3%]:2^I3%]:Hzmlק~> endobj 1062 0 obj << /Type /ObjStm /N 92 /First 841 /Length 2756 /Filter /FlateDecode >> stream xڕZK$ ϯѽ= ^d0Y#*ŪNHGJTUIYieW(c21*,VY Y+` V*BJQXFefEkyʘ.?|1+;b.;YL=0fh`<\Tɬ6i@@&jC8 "G"Ѳ^`ŔDfCQf,h,Cegʒa&R"O^՜ϊYYezHTg+~,E =qʨRʦ`ɜzgjLĴ@7Ϝ!!"`bZCzHJi1F^k6Ҷ0j}-c܎vuCr\UC[ ԓ8Fx'Z`;odg#SLESZN<ЬO֟Lrq ܺԌ^]aNwwkS=q(?ci-ESw}֧6=.KحaO:n }W_ɲuQS @[_ڲ:u ehޞ٭OM/|;XWjNmw\?u$4Ow E)طm϶;=[zXBMt{a׹?W!zNjpω7-9QZ{m|@z GupYO}Eeo<|~>ưp97!dnhYۥwBb/˄WeZxPً ]e1d/udew0o>ƅ3Z~~xwS/`6u1 GCL0_%$0YX$DHR/aq9Q{hMXy@P yK@P"Nƕ/MKE'}>sz!>De`iPiAO LOZUBX^'> "-tI'H4CǰB N 19 q g(8r|݁Cw g/ ^7``g/vr`'PNa00 rc %'AOsAOs䙞{ߢTMX ӓ>o })t\`piɸ'#0=yz\=j. $M Âg9r4#0"e\[+G(!'0@Otzx,ngQ+¹<8xK#KPZZ#;74,23PgN;1z&(׍߄7 ʇ Хyy,i+,,׎#Ǡ|FꍯIA YRmM u=ٚԃi]o6#nڇx蝘 v6Yj!a_ '!@g)ow;xlc2j QmLs4K=,-[xA3h0%f)‰z"X+˯ݹM2cK(F  8Sr!̔>hv3vٌI38۝f#X`u߉S N/ 'XvgzǛ4`JprA{0qXpXpXp晃X28z\KKrT&^DX+ k0oAܙqH7E:AA0șAM 7 Vp rdrp 27G9ƌ[;]r9?r`;?E \LRwnʁfϡg> qE+1*I~F&sh$`MtA\ 7h|2`lt< GIk='M&[dy+Pm&YN'}o^Oɡ-Lݍ_[!"n,-m>6巚_~|:uξwٽe|~(_t#k VȱBz}.Lt^ :UЩNT[܇7] !R !Wsa-:5\#5\XNc9/S*WׁwV^Yߚ/H{xyx} ?]Ǐ~WZv~}zkU/~~/<7TOoބ*ۂZC endstream endobj 1109 0 obj << /Type /XRef /Index [0 1110] /Size 1110 /W [1 3 1] /Root 1107 0 R /Info 1108 0 R /ID [<48D25F710A6A4DD6B8365DC7979C7AB3> <48D25F710A6A4DD6B8365DC7979C7AB3>] /Length 2640 /Filter /FlateDecode >> stream x%[lWg%v|8vlgljqۉ[b;N8ǎ$UPYRE[9}t$c3okImqЂnH^qȢLiaE/=!GV-͏574Nkݰ]\bvߺ)*f9-4ܮQC΢r Yi>YcV4,65r<:/45+A&V+r'h!Z8eg H@zQ_4iCjp}f_*N[04ih;kjЀ6l74i5rh0a\=;,".G1`a? kfxQA)#`}ZAŽ٫/b#5$ ィqFsIl+́ rSB:@EV^M!74jhoq rH4-=@k +[, r]Mplօ~OMDg?FgZ`♯90 4OY9-\,^fe omi.,9=2j$=vG mӭ8mWKXSLilBJrPjr$9%)_sZГn$/8-j2%iů,f}i9򛶀,o& VPL̄)Mv:U$JvYΦt%I_ YOC[>~M[?83$9vޢ"1@qmP"RJ _*hr]hrѼ?˽\E=PEdU-YɯhJ?+}:leQV:be誕6կe}.Ç_ DlzBcϲ׫&[(Q' Survex 3d Format Specification

Survex 3d Format Specification

If you're writing in C or C++ it's strongly recommended that you use the img routine provided with Survex to read and write 3d files. Doing so means that you can take advantage of any revisions to the 3d format by simply rebuilding your software with the updated img routines, rather than having to update your own code. It also allows you to read other processed survey data formats (those from Larry Fish's Compass and from Bob Thrun's CMAP), and allows reading a sub-set of the data in a file, restricted by survey prefix.

If you try to use this specification and find details which aren't spelled out clearly enough (or at all!) or any errors, please let us know. At least two people have successfully written code to read 3d files using this document, but that doesn't mean it can't be improved.

File Header

This consists of:

  • File ID: the string "Survex 3D Image File" followed by a linefeed (decimal 10, hex 0a). [Note: v0.01 files can have a carriage return before this and other linefeeds - this is a file format error in any other format version].
  • File format version: "v8" followed by a linefeed. Any future versions will be "v9", "v10", "v11", etc.
  • Assorted string metadata - the sublist below lists these, and they must appear in the order given, separated by zero bytes, with the end of the metadata marked by a linefeed. More items may be added, so ignore any additional ones which are present. Any trailing items with empty values can be omitted along with the separating zero byte before them.
    • Survey title: Human readable description of the data in the file. There's no length limit on this string.
    • Coordinate system: string describing the coordinate system in use which can be passed to PROJ. For a coordinate system with an EPSG code EPSG: followed by the code number can be used (we recommend using this if an EPSG code exists). Similarly, an ESRI code can be specified with ESRI: followed by the code number.
    • Survey hierarchy separator character. Survey station names form a hierarchy, and this character separates levels in the hierarchy. E.g. 161.entrance.6. Defaults to . if this item is not specified, which is also the recommended character to use unless . is used in survey or station names (especially as older software will not see this metadata and will use . unconditionally).
  • Timestamp: A string consisting of an '@' followed by a count of seconds since the start of 1970 in UTC ("Unix time_t") as a string (for example: "@1371300355"), followed by a linefeed. This is intended to be the time the file was generated, rather than the time the survey data was collected.
  • File-wide flags: a single byte. If bit 7 is set, this is an extended elevation. All other bits are reserved - set them to 0 when writing, and ignore them when reading.

Items

Following the header are a number of items. The last item must be a 0x00 byte when the current label is empty, which marks the end of the data. The first byte of an item is a code identifying what the item is:

Code Type Data Meaning Version
0x00 STYLE_NORMAL / STOP   Set style for following legs to tape, compass and clino.

If the style is already set to STYLE_NORMAL, this code signifies the end of the data in the 3d file.

≥8
0x01 STYLE_DIVING   Set style for following legs to diving data ≥8
0x02 STYLE_CARTESIAN   Set style for following legs to cartesian data ≥8
0x03 STYLE_CYLPOLAR   Set style for following legs to cylindrical polar data ≥8
0x04 STYLE_NOSURVEY   Set style for following legs to unsurveyed ≥8
0x05 - 0x0e     Reserved
0x0f MOVE <x> <y> <z> Set current position to the coordinates given. Coordinates are 4 byte little-endian signed integers representing values in centimetres (0.01 metres). ≥8
0x10 DATE   No survey date information was specified. ≥8
0x11 DATE <date> Set survey date of legs: date is a 2 byte little-endian unsigned integer counting days from the start of 1900. ≥8
0x12 DATE <date1><datespan> Set survey date of legs to a range: date1 is a 2 byte little-endian unsigned integer counting days since the start of 1900, and datespan is an unsigned byte counting days from date1. ≥8
0x13 DATE <date1><date2> Set survey date of legs to a range: date1, date2 are 2 byte little-endian unsigned integers counting days since the start of 1900. ≥8
0x14 - 0x1e     Reserved
0x1f ERROR <legs><length><E><H><V> Error information for the current traverse. <legs> is the number of legs. <length> is the total length of the traverse in cm (0.01m). E, H and V are the error and the horizontal and vertical components in cm. (All values are 4 byte little-endian signed integers) ≥8
0x20 - 0x2f     Reserved
0x30 - 0x31 XSECT <label> <L> <R> <U> <D> Modify the current label buffer according to <label> (see below for details). The updated contents of the label buffer give the full name of the survey station which these dimensions were measured at. Dimensions are 2 byte little-endian signed integers representing values in centimetres (0.01 metres). Omitted dimensions are encoded as 0xffff. Station flags are (N & 0x01): ≥8
Flag (N & 0x01) Meaning
0x01 Station is last one in this passage
0x32 - 0x33 XSECT <label> <L> <R> <U> <D> Modify the current label buffer according to <label> (see below for details). The updated contents of the label buffer give the full name of the survey station which these dimensions were measured at. Dimensions are 4 byte little-endian signed integers representing values in centimetres (0.01 metres). Omitted dimensions are encoded as 0xffffffff. ≥8
Flag (N & 0x01) Meaning
0x01 Station is last one in this passage
0x34 - 0x3f     Reserved
0x40 - 0x7f LINE <label> <x> <y> <z> Modify the current label buffer according to <label> (see below for details) - if <label> is omitted due to flag bit 0x20 being set then the current label buffer is used unmodified. The updated contents of the label buffer give the survey that the leg is in. Return leg from current position to coordinates given, and update current position to coordinates given. ≥8
Flag (N & 0x3f) Meaning
0x01 Leg is above ground
0x02 Leg duplicates data in another leg (e.g. resurvey along a passage to tie into a known station)
0x04 Leg is a splay shot in a chamber (radial shots from a central point)
0x08 Reserved
0x10 Reserved
0x20 No change to label (<label> omitted entirely) ≥8
0x80 - 0xff LABEL <label> <x> <y> <z> Modify the current label buffer according to <label> (see below for details). The updated contents of the label buffer give the survey station's full name. ≥8
The station flags are encoded in the bottom 7 bits of the item code:
Flag (N & 0x7f) Meaning
0x01 Station is on leg above ground
0x02 Station is on an underground leg (both may be true at an entrance)
0x04 Station is marked as an entrance (with *entrance)
0x08 Station is exported (i.e. may be used as a connection point to other surveys)
0x10 Station is a fixed point (control point)
0x20 Station is anonymous
0x40 Station is on the passage wall

A <label> value in the table above encodes modifications to the current label buffer, which consist of removing the last D bytes from the buffer, and then appending the next A bytes from the file to the buffer. D and A are encoded as follows:

  • Read a byte - if it is non-zero then: D = byte >> 4, A = byte & 0x0f
  • Otherwise (i.e. the first byte is zero):
    • Read a byte and:
      • If it is not 255 then D = byte
      • Otherwise, D = 4 byte unsigned integer read from the file
    • Read a byte and:
      • If it is not 255 then A = byte
      • Otherwise, A = 4 byte unsigned integer read from the file

Item order

  • A continuous section of centreline is defined by a <MOVE> item, followed by one or more <LINE> items.
  • <LABEL> items may appear anywhere in the file after the header, including within a <MOVE><LINE>... sequence.
  • Duplicate <LABEL> items are permitted provided they also have identical coordinate values. (The same coordinate values may also be shared by any number of different <LABEL> items).
  • Stations must be defined in a <LABEL> item before being referenced (e.g. in <XSECT> items)

Authors: Olly Betts and Mike McCombe, last updated: 2025-01-13

survex-1.4.17/doc/diffpos.10000664000175000017500000000333714766657177011144 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "DIFFPOS" "1" "Mar 20, 2025" "" "Survex" .SH NAME diffpos \- compare two processed data files .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 \fBdiffpos\fP \fIFILE1\fP \fIFILE2\fP [\fITHRESHOLD\fP] .UNINDENT .UNINDENT .SH DESCRIPTION .sp Diffpos reports stations which are in one file but not the other, and also stations which have moved by more than a specified threshold distance in X, Y, or Z. \fITHRESHOLD\fP is a distance in metres and defaults to 0.01m if not specified. .sp Note that the input files can be any format the \(dqimg\(dq library can read (and can be different formats), so it works with Survex \fB\&.3d\fP and \fB\&.pos\fP files, Compass \fB\&.plt\fP and \fB\&.plf\fP files, CMAP \fB\&.sht\fP, \fB\&.adj\fP and \fB\&.una\fP files. .SH OPTIONS .INDENT 0.0 .TP .B \fB\-\-help\fP display short help and exit .TP .B \fB\-\-version\fP output version information and exit .UNINDENT .SH SEE ALSO .sp \fBaven\fP(1), \fBcavern\fP(1), \fBdump3d\fP(1), \fBextend\fP(1), \fBsorterr\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/genhowto.rst0000664000175000017500000001656114765126030011771 ================== General: How do I? ================== ------------------- Create a new survey ------------------- You create a text file containing the relevant survey data, using a text editor, and save it with a suitable name with a ``.svx`` extension. The easiest way is to look at some of the example data and use that as a template. Nearly all surveys will need a bit of basic info as well as the survey data itself: e.g. the date (``*date``), comments about where, what cave, a name for the survey (using ``*begin`` and ``*end``), instrument error corrections, etc. Here is a typical survey file: All the lines starting with ``;`` are comments, which are ignored by Survex. You can also see the use of ``DOWN`` for plumbs, and ``*calibrate tape`` for dealing with a tape length error (in this case the end of the tape had fallen off so measurements were made from the 20cm point). :: *equate chaos.1 triassic.pt3.8 *equate chaos.2 triassic.pt3.9 *begin chaos *title "Bottomless Pit of Eternal Chaos to Redemption pitch" *date 1996.07.11 *team "Nick Proctor" compass clino tape *team "Anthony Day" notes pictures tape *instrument compass "CUCC 2" *instrument clino "CUCC 2" ;Calibration: Cairn-Rock 071 072 071, -22 -22 -22 ; Rock-Cairn 252 251 252, +21 +21 +21 ;Calibration at 161d entrance from cairn near entrance to ;prominent rock edge lower down. This is different from ;calibration used for thighs survey of 5 July 1996 *export 1 2 ;Tape is 20cm too short *calibrate tape +0.2 1 2 9.48 208 +08 2 3 9.30 179 -23 3 4 2.17 057 +09 5 4 10.13 263 +78 5 6 2.10 171 -73 7 6 7.93 291 +75 *begin *calibrate tape 0 8 7 35.64 262 +86 ;true length measured for this leg *end 8 9 24.90 - DOWN 10 9 8.61 031 -43 10 11 2.53 008 -34 11 12 2.70 286 -20 13 12 5.36 135 +23 14 13 1.52 119 -12 15 14 2.00 036 +13 16 15 2.10 103 +12 17 16 1.40 068 -07 17 18 1.53 285 -42 19 18 5.20 057 -36 19 20 2.41 161 -67 20 21 27.47 - DOWN 21 22 9.30 192 -29 *end chaos ------------------- Organise my surveys ------------------- This is actually a large subject. There are many ways you can organise your data using Survex. Take a look at the example dataset for some ideas of ways to go about it. Fixed Points (Control Points) ============================= The ``*fix`` command is used to specify fixed points (also know as control points). See the description of this command in the "Cavern Commands" section of this manual. More than one survey per trip ============================= Suppose you have two separate bits of surveying which were done on the same trip. So the calibration details, etc. are the same for both, but you want to give a different survey name to the two sections. This is easily achieved like so: :: *begin *calibrate compass 1.0 *calibrate clino 0.5 *begin altroute ; first survey *end altroute *begin faraway ; second survey *end faraway *end ---------------------- Add surface topography ---------------------- Survex 1.2.18 added support for loading terrain data and rendering it as a transparent surface. Currently the main documentation for this is maintained as a `wiki page `__ as this allows us to update it between releases. This supports loading data in the HGT format that NASA offers SRTM data in. The SRTM data provides terrain data on a 1 arc-second grid (approximately 30m) for most of the world. -------------- Overlay a grid -------------- Aven is able to display a grid, but this functionality isn't currently available in printouts. You can achieve a similar effect for now by creating a ``.svx`` file where the survey legs form a grid. If you want to do this, we suggest fixing points at the end of each grid line and using the ``NOSURVEY`` data style to add effectively elastic legs between these fixed points. This is simpler to generate than generating fake tape/compass/clino legs and is very fast for cavern to process. Some tips for doing this Here's a small example of a 500mx500m grid with lines 100m apart: :: *fix 0W 000 000 0 *fix 1W 000 100 0 *fix 2W 000 200 0 *fix 3W 000 300 0 *fix 4W 000 400 0 *fix 5W 000 500 0 *fix 0E 500 000 0 *fix 1E 500 100 0 *fix 2E 500 200 0 *fix 3E 500 300 0 *fix 4E 500 400 0 *fix 5E 500 500 0 *fix 0S 000 000 0 *fix 1S 100 000 0 *fix 2S 200 000 0 *fix 3S 300 000 0 *fix 4S 400 000 0 *fix 5S 500 000 0 *fix 0N 000 500 0 *fix 1N 100 500 0 *fix 2N 200 500 0 *fix 3N 300 500 0 *fix 4N 400 500 0 *fix 5N 500 500 0 *data nosurvey from to 0W 0E 1W 1E 2W 2E 3W 3E 4W 4E 5W 5E 0S 0N 1S 1N 2S 2N 3S 3N 4S 4N 5S 5N ------------------------------- Import data from other programs ------------------------------- Survex supports a number of features to help with importing existing data. Unprocessed survey data in Compass or Walls format can be processed directly, and mixed datasets are support to aid combining data from different projects using different software. This also can help if you want to migrate data into Survex from another format as you can leave the existing data in its original format and just use Survex native format for new data, or if you prefer to convert everything to Survex native format it can be done in phases. Processed survey data in Compass or CMAP formats can be viewed in ``aven`` and used with any Survex command line tool which takes processed survey data. For data in formats without explicit support, you may be able to read the data by renaming the file to have a ``.svx`` extension and adding a few Survex commands at the start of the file to set things up so Survex can read the data which follows. For example, you can specify the ordering of items on a line using ``*data`` (see Survex Keywords above), and you can specify the characters used to mean different things using ``*set`` (see Survex Keywords above). The ``ignore`` and ``ignoreall`` items in the ``*data`` command are often particularly useful, e.g. if you have a dataset with LRUD info or comments on the ends of lines. ----------------------------------------------------- See errors and warnings that have gone off the screen ----------------------------------------------------- When you run Survex it will process the specified survey data files in order, reporting any warnings and errors. If there are no errors, the output files are written and various statistics about the survey are displayed. If there are a lot of warnings or errors, they can scroll off the screen and it's not always possible to scroll back to read them. The easiest way to see all the text is to use ``cavern --log`` to redirect output to a ``.log`` file, which you can then inspect with a text editor. ---------------------------- Create an Extended Elevation ---------------------------- You can create a simple extended elevation from ``aven``, using the ``File->Extended Elevation...`` menu option. This takes the currently loaded survey file and "flattens" it. Behind the scenes this runs the ``extend`` command-line program. This program offers more powerful features, such as being able to control which way legs are folded and where loops are broken, but currently these features are only accessible from the command line (the intention is to allow them to be used from ``aven`` in the future). survex-1.4.17/doc/survexport.rst0000664000175000017500000000734414765125402012401 survexport ---------- ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``survexport`` [`OPTIONS`] `INPUT_FILE` [`OUTPUT_FILE`] ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ The input formats supports are all those supported by Survex's "img" library - Survex .3d, Survex .pos, Compass PLT and CMAP XYZ files. Currently the output formats supported are CSV, DXF, EPS (Encapsulated PostScript), GPX, HPGL for plotters, JSON, KML, Survex POS files, and SVG. Also survexport can produce Compass .plt files, which were primarily intended for importing into Carto; the principal author of Carto has sadly died and it seems Carto is no longer actively developed, but we've left this support in place in case it is useful - the generated files can be used with Compass itself for example, though they are rather crudely structured. POS Format ~~~~~~~~~~ The POS format is a Survex-specific format containing a list of stations with coordinates (ordered x,y,z [East, North, Up]) and complete names. In old versions of Survex it was produced by the (now removed) ``3dtopos`` tool. Since Survex 1.2.19 it can be generated by ``survexport`` or by ``aven``'s export feature. The header line is translated to the user's language, but always starts with ``(`` and ends with ``)``. While not a requirement of the format, in ``.pos`` files created by Survex the stations are sorted by name such that numbers occur in the correct order (so ``2`` before ``10``). Numbers with a prefix and/or suffix are sorted by the prefix as a string, then the number part as above, then by the suffix as a string, so you'd get: :: 040.sv8 040.sv8a 040.sv8b 040.sv8c 040.sv9 040.sv10 040.sv11 40_entrance_tag 40b_entrance_tag DXF Format ~~~~~~~~~~ DXF export separates Splays, Surface legs, Surface points, survey legs, and survey stations onto separate layers. Splays will export dotted, and surface legs dashed. This is not currently configurable. ~~~~~~~ OPTIONS ~~~~~~~ ``-s``, ``--survey=``\ `SURVEY` only load the sub-survey with this prefix ``--scale=``\ `SCALE` scale (``50``, ``0.02``, ``1:50`` and ``2:100`` all mean 1:50) ``--bearing=``\ `BEARING` bearing (``90``, ``90d``, ``100g`` all mean 90°) ``--tilt=``\ `TILT` tilt (``45``, ``45d``, ``50g``, ``100%`` all mean 45°) ``--plan`` plan view (equivalent to ``--tilt=-90``) ``--elevation`` elevation view (equivalent to ``--tilt=0``) ``--legs`` underground survey legs ``--surface-legs`` surface survey legs ``--splays`` splay legs ``--crosses`` station markers ``--station-names`` station labels ``--entrances`` entrances ``--fixes`` fixed points ``--exports`` exported stations ``--cross-sections`` cross-sections ``--walls`` walls ``--passages`` passages ``--origin-in-centre`` origin in centre ``--full-coordinates`` full coordinates ``--clamp-to-ground`` clamp to ground ``--defaults`` include items exported by default ``-g``, ``--grid``, ``--grid=``\ `GRID` generate grid with spacing ``GRID`` metres (default ``100``) ``-t``, ``--text-height=``\ `TEXT_HEIGHT` station labels text height (default ``0.6``) ``-m``, ``--marker-size=``\ `MARKER_SIZE` station marker size (default ``0.8``) ``--csv`` produce CSV output ``--dxf`` produce DXF output ``--eps`` produce EPS output ``--gpx`` produce GPX output ``--hpgl`` produce HPGL output ``--json`` produce JSON output ``--kml`` produce KML output ``--plt`` produce Compass PLT output for Carto ``--pos`` produce Survex POS output ``--svg`` produce SVG output ``--help`` display short help and exit ``--version`` output version information and exit .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``cavern``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``sorterr``\ (1) survex-1.4.17/doc/OLDNEWS.htm0000664000175000017500000024041314765167322011236 Summary of User-Visible Changes
Changes in 1.0.32:

* aven: Fixed font sizes in "Print Preview" and printouts.

* aven: In the print setup dialog, replaced "Orientation" radio buttons with
  "Plan" and "Elevation" buttons.

* aven: Fixed info box on printouts of elevations, tilted views, and
  extend elevations.

* aven: Added "fit on one page" option, and make it the default.

* aven: Reorder "Cancel", "Preview", "Print" buttons and make "Print" the
  default button.

* aven: Read settings back from the print dialog when the "Print" button is
  pressed (was only done for "Preview" previously).

* aven: Sorted out the initial size of the "Print Preview" window.

* aven: Fixed the window manager's close button on the "Print Preview" window
  - previously this was being ignored.

* aven: Sorted out initial survey scaling when loading a survey at startup.

* aven: Fixed the measuring line to work better when the survey tree is
  manipulated with keys.  Tweaked redrawing of the measuring line to be a
  smidgen more efficient.  Fixed the blob and ring size which were one
  pixel too small on Windows.

* aven: Added "System Information:" section to the "About" dialog to hold
  information useful when reporting bugs.  Currently it contains the wxWindows
  version, OS version, and colour depth information.

* aven: Changed the "About" dialog's "Close" button to be "OK" for consistency
  with pretty much every other application.

* aven: Added "File->Export as..." which integrates cad3d's functionality
  within aven.

* aven: Updated a few icons.

* cad3d: Added SVG export support from John Pybus

* (Unix version): Fixed to allow compilation with GCC 3.4

* (MS Windows version): Upgrade to using innosetup 4 for the installer
  (we were using innosetup 2).  This results in a much smaller download
  and the installer now translates itself into the currently set language.
  The installer will no longer work on Windows NT 3.51, but I seriously
  doubt anyone is still using that...

* Updates to German translation.

Changes in 1.0.31:

* (MS Windows version): Fixed problems with the new printing code by building
  with a newer version of wxWindows (2.5.2 instead of 2.4.1).

* aven: Fixed grid menu item so that it always correctly reflects whether the
  grid is enabled or not.

* aven: Minor improvements to appearance of a few toolbar icons.

* Updates to Catalan, French, Italian, Romanian, Slovak, and Spanish
  translations.

* cavern: Fixed Romanian message which was appearing in English .err files.

Changes in 1.0.30:

* aven: Added printing directly from Aven!

* aven: Fixed memory leak when showing the "About" dialog.

* (MacOS X version): Now installable from a disk image package.

* cavern: Equates are no longer considered when deciding which stations are
  flagged as surface and underground.

* Romanian translation mostly completed.

* (Unix version): Debian: Minor packaging tweaks.

Changes in 1.0.29:

* cad3d: Fixed problem with DXF files which stopped them loading with some
  drawing packages (introduced in 1.0.27).

* aven: Changed File->Exit to File->Quit.

* Removed some unused messages from the message files.

* (Unix version): Fixed SRPMs to build on RedHat 9 and Fedora Core 1 (patch
  from John Pybus).

* Romanian translation started.

* (Unix version): Debian: Fixed new lintian warnings about missing quotes in
  menu files.

Changes in 1.0.28:

* Fixed 3d file reading code to fix incorrect unpacking of compressed station
  names in a rare case.  Also checked other rare cases work correctly.

Changes in 1.0.27:

* cad3d: DXF output now puts surface legs, stations, and labels in separate
  layers.

* (Unix version): distribute desc-svxedit.txt.

Changes in 1.0.26:

* cavern: Fixed interleaved topofil data style - the length was always being
  calculated as zero.

* (Unix version): aven: "All Files" now shows files without extensions too.

* aven: added Ctrl+Q as shortcut for File->Exit.

* aven: depth colouring now uses a proper colour gradient.

* (MacOS X version): aven: the keyboard and mouse now work!  It turns out that
  we must apply resources *after* installing.

* (MacOS X version): aven: now works when run from the MacOS X Finder.

* (MacOS X version): look for message files and other resources relative to the
  binaries so that the user can install Survex from a disk image in the location
  of their choice.

* (MacOS X version): fixed not to try to build aven if wxWindows isn't
  installed.

* cad3d: fixed -e and -r options to not crash (the long versions have always
  worked).

* extend: fixed to initialise an internal structure - failing to do so was
  probably causing crashes on some platforms.

* Fixed standard graphics for "Note", "Warning", etc in the PostScript manual.

* Documentation updated.

* (Unix version): fixed svxedit man page which previously contained xcaverot
  documentation!

* test suite: check that cavern doesn't report "nan" or "NaN" for any values.

* (Unix version): fixed configure --enable-defaultlang=XX to work.

* (Unix version): fixed configure code to turn on lots of GCC warnings and fixed
  most of them.

* (MS Windows version): assorted tweaks to allow building with MS Visual C/C++.

Changes in 1.0.25:

* (MacOS X version): hopefully fixed building of aven.

* (Unix version): updated config.guess and config.sub so should build out of
  the box on more Unix platforms.

* (Unix version): Debian: added missing Build-Depends on xlibs-dev.

* (Unix version): RPMs: give up supplying binary RPMs due to apparently
  insurmountable technical problems.

Changes in 1.0.24:

* cavern: fixed LEVEL (broken since around 1.0.8) and added test case.

* cavern: corrected handling of declination in Compass DAT files and added test
  case; also added tests for other aspects of Compass DAT file reading.

* printps/printpcl: fixed blank page detection in some obscure cases.

* Documentation: started manual section on working with Compass data files.

* (Unix version): fixed compilation problems with aven and getopt.h on MacOS X
  (and probably some other Unix versions).

* (Unix version): Debian package now Build-Depends on gcc-3.2 and g++-3.2.

Changes in 1.0.23:

* Documentation: include 3d v3 file format description on MS Windows, MS DOS,
  and RISC OS too; include PNG graphics for manual on MS Windows; minor updates
  to manual.

* Prefer wxWindows 2.4 if it's available.

* (MacOS X version): detect MacOS X and look for MacOS X build of wxWindows;
  automatically add resource fork to aven binary.

* Disabled experimental support for Chinese (LANG=zh) - it isn't currently
  working and makes the printer drivers unusable on Chinese versions of MS
  Windows.

* (Unix version): tweaked debian packaging.

* cavern: Handling of "*:" at start of file wasn't fully fixed in 1.0.19.

Changes in 1.0.22:

* aven: Fixed handling of extended elevations (and other flat surveys) -
  they are meant to be "locked flat" but this wasn't fully working before.

* Documentation: 3d v3 file format description: fixed error in description of
  codes 0x01-0x0e; include it in binary packages (not only with the source
  code).

Changes in 1.0.21:

* cavern: when reading Compass DAT files, we now processes compass and clino
  backsights, and recognise the "X" flag which indicates a leg should be
  entirely ignored.  And we now report correct line number with errors in
  Compass .MAK files.

* cavern: if "*infer plumbs on", don't infer a plumb if the clino is
  +/- 90 degrees, but the backclino isn't (and vice versa).

* cavern: fixed 3dx output so it actually works with Chasm once more.

* cavern: don't allocate extra space needed for producing 3dx output for
  Chasm unless we're actually producing that output - saves about 8 bytes
  per station.

* cavern: removed slightly too keen sanity check which could misfire in very
  unusual circumstances.

* (MS Windows version): all .ico files except 3d.ico have been missing since
  1.0.17 (or maybe 1.0.16) - fixed.  You wouldn't notice this if you installed
  over an previous version.

Changes in 1.0.20:

* aven: update display when "Metric" or "Degrees" is toggled.

* cavern: fixed handling of compass and clino corrections in Compass survey
  data - these were interpreted as radians rather than degrees so the
  correction was about 57 times too large!)

* Improved handling of Compass PLT files - if the survey name is empty, don't
  insert a survey separator character.

* Documentation: fixed incorrect markup which resulted in a bogus footnote.

Changes in 1.0.19:

* cavern: you can now process Compass format survey data (.DAT and .MAK files) -
  these can even be linked into a Survex dataset with "*include fulford.dat" or
  "*include lech.mak" to allow processing of mixed datasets.

* cavern: major speedup (up to 60%) when reading in survey data containing
  a lot of stations in the same survey hierarchy level (which is how Compass
  files are handled).

* cavern: don't warn about a compass reading on a plumbed leg if the
  plumb was inferred and the compass reading is zero.

* cavern: reduced memory usage in code which reads a survey station name.

* cavern: reported CPU time would go negative if cavern ran for more than
  about 36 minutes (highly unlikely but not impossible on a slow machine
  with a large, highly interconnect survey) - fixed.

* cavern: avoid unnecessary work when --percentage isn't specified.

* cavern: Writing "*:" at the start of a .svx file would crash cavern - fixed
  and added test case.  This is an error anyway, but it shouldn't cause a
  crash.

* Don't distribute unused toolbar icons.

* Documentation: minor updates.

Changes in 1.0.18:

* (Unix version): Fixed "Process" action on .svx files.

* (Unix version): File associations: if svxedit isn't installed, run gnome-edit
  instead.

* (Unix version): In Debian packages, now include file associations and file
  icons in the survex package rather than survex-aven.

* (Unix version): File associations were missing from RPM packages; moved
  aven and svxedit man pages to their respective subpackages; moved aven icons
  to the aven subpackage.

* Documentation: added details of the 3d file format (version 3).

* Updated TODO list.

Changes in 1.0.17:

* (MS Windows version): Fixed "Open in SvxEdit" to work (and if tcl isn't
  install this action now falls back to using notepad).  SvxEdit now has
  its own icon.

* (Unix version): Install mime types, icons, and file associations for Gnome.
  Note: at present GMC doesn't seem to notice new files being created (e.g.
  Process on a .svx file creates .3d and .err files) - you have to manually
  refresh the view.

* Minor update to manual.

Changes in 1.0.16:

* (MS Windows version): Really fixed bug introduced in 1.0.14 which often stops
  programs from finding the message files.

* (MS Windows version): Remove any existing "Open" file association for .svx
  files.

Changes in 1.0.15:

* (MS Windows version): Fixed bug introduced in 1.0.14 which often stops
  programs from finding the message files.

* (MS Windows version): "Open in Notepad" is now the double-click action
  for .svx files once again, "Open in SvxEdit" is an action in the menu
  obtained with the right mouse button.

Changes in 1.0.14:

* svxedit: This is a Survex data entry editor from the therion team.  It needs
  tcl and wish installed - for MS Windows an installer is available for free
  from Activeware.

* Improved handling of Compass PLT files and CMAP xyz files - no longer change
  dots to spaces in survey and station names - instead use a space as the
  separator between survey name and station name.

* aven: when picking non-overlapping labels, show a slight preference to shorter
  labels with the aim of displaying more labels.

* aven: fixed hard to notice problem which could cause the cave to appear
  tilted sideways after a lot of manipulation.

* cavern: Modest speed improvement (0.5% for sample dataset).

* cavern: fixed a rarely sighted bug which caused erroneous error about some
  stations not being attached to a fixed point.

* cavern: fixed clino readings and DIRECTION to work in interleaved data.

* cavern: improved error reporting when an invalid value is given for a
  DIRECTION reading.

* cavern: fixed "singular matrix" error when very low SDs were specified.

* print*: if the --raw is used, the survey can now use the space this would
  have taken up.

* Reading of ASCII 3d files now copes with MSDOS/MS Windows line endings
  once again.  Added regression test for this.

* (MS Windows version): Programs run from the command line now find message
  files without SURVEXHOME needing to be set.

* Updated documentation.

Changes in 1.0.13:

* aven: Fixed bug which caused the occasional spurious leg to be shown
  connecting arbitrary stations.

* extend: try to extend along a survey, and make breaks where other surveys
  join.

* cavern: Number reading code reworked to allow repeat readings to be
  supported, but the actual repeat reading code is currently disabled,
  and everything should work exactly as before.

* Experimental support for Chinese (LANG=zh) - only a few messages are
  currently translated.

Changes in 1.0.12:

* diffpos: fixed to work on 64bit architectures.

* sorterr: fixed to work with more than 1024 traverses.

* Fixed handling of iso-8859-2 character set and MS Windows code page 1250
  (both cover Eastern European languages).

* (MS Windows version): install file associations for Compass .plt and .plf
  files and for CMAP .xyz files.  Also install the file icon for .plt and
  .plf files in case Compass isn't installed (thanks to Larry Fish for
  permission to include the icon).

* (Unix version): running an installed program with an explicit path works
  again.

* (Unix version): xcaverot: automatically switch on PDA mode if the screen is
  less than 640 pixels wide or less than 480 pixels high.

* (Unix version): minor portability improvements.

* Updates to Portuguese translation - all translations are now up-to-date.

Changes in 1.0.11:

* aven: improvements in 1.0.10 to the file type selector only work properly
  on MS Windows, and with wxGtk >= 2.3 on Unix (the latest stable release is
  2.2.9 where this doesn't work).  Fixed to work as well as possible on 2.2.9,
  and as intended on 2.3.

* aven: fixed so that loading PLT files works regardless of the current locale
  (previously it would fail for locales where the decimal character wasn't
  '.').

* aven: key actions during autorotation no longer temporarily pause
  autorotation.

* aven: switching to plan or elevation while rotating is now smooth.

* aven: removed undocumented and confusing "free rotation mode".

* (MS Windows version): aven: focus now set correctly after loading a file by
  double-clicking or from the command line.

* cad3d: write dummy passage dimensions to .plt files to avoid Compass bug.

* printwin/printps: now support coloured printouts.

* print*: fixed to work correctly with PLT files.

* extend: fixed to work correctly with PLT files.

* Updates to Italian translation.

* Minor documentation updates.

Changes in 1.0.10:

* (MS Windows version): aven: fixed assert failure upon turning on station
  names.

* aven: only add a file to the list of recently used files if it was opened
  successfully.

* aven: recognise ".plf" as a Compass PLT file too; and on Unix list "*.PLT",
  "*.PLF", "*.XYZ", and "*.3D" as well as the lowercase versions to help people
  who transfer files from MSDOS/MS Windows.

* cavern: fixed bogus warning triggered by "*begin abc.def" (I'm not sure
  that this should be valid, but the warning given wasn't appropriate).

* Fixed scaling problem when reading PLT file (feet->metres conversion
  factor was being applied backwards!)

* Fixed potential problem when reading or writing a 3d file which couldn't
  be opened.

* Translate dots to spaces in survey names in Compass PLT files.

* Better handling of PLT files which have a D command before any M command.

* Updates to German and Italian translations.

Changes in 1.0.9:

* aven: Fixed jerky start when auto-rotation begins.

* cavern: Fixed Direction reading - bug previously made it unusable.

* (MS Windows version): cad3d: fixed broken PLT output (had a double CR at the
  end of each line).

* (Unix version): RPMs now have the docs in /usr/share/doc and the man pages
  in /usr/share/man to conform with the FHS (and where RedHat packages put
  them).

* Updates to French, Spanish, Catalan, and Slovak translations.

Changes in 1.0.8:

* Slovak translation added; updated German, Catalan, and Spanish translations.

* aven: reduced memory usage by around 25% and increased speed and
  responsiveness.

* aven: rate of rotation and switching between plan and elevation now adjusted
  to the speed of redraw, so aven behaves in a similar way independent of the
  speed of the computer or size of the survey.

* aven: provide list of most recently loaded files (preserved between runs of
  the program).

* aven: settings for "Metric" and "Degrees" are preserved between runs.

* aven: moved some menu items from "View" to "Controls" as they probably
  belong there and the "View" menu was getting out of hand.

* aven: cursor keys now translate cave in the same way the mouse does (i.e. now
  work as in caverot and xcaverot).

* aven: eliminated the "twinkling label" effect when dragging the cave with the
  right mouse button.

* aven: the measuring line moves much more smoothly now: the mouse cursor now
  snaps to the nearest station, rather than just a near station; and when the
  line moves, we now only redraw the affected area of the window.

* aven: resolved annoying limit on zooming in on large surveys.  This was a
  crude way of preventing random lines due to overflow in the windowing system.
  Aven now clips lines itself at high zoom levels, and limits zoom in to
  approximately 1mm/pixel.

* aven: zoom in/out with keyboard wasn't subject to any limits - now restricted
  to sane values as with zoom in/out with the mouse.

* print*: added --raw switch to turn of info box, scale bar, and page footer.
  This can be useful if you want to import the output into another application.

* print*: improved output when --no-border is used.

* printpcl/printdm: Added new .ini setting "font_bitmap" which allows the user
  to choose between alternative fonts.  Current we supply "default" and "bold".

* printps/printhpgl: Fixed --skip-blanks which would incorrectly skip non-blank
  pages on rare occasions.

* cavern: added support for BackCompass and BackClino.

* cavern: implemented "*units clino percent".

* cavern: added "*infer exports on".  Any stations seen while this is on will
  have the necessary *export-s inferred when accessed from outside their
  own survey.  This allows linking a survey which uses *export to one which
  doesn't.  It's also useful for a maze cave where so many stations can
  be linked to that listing them explicitly isn't desirable.

* cavern: N-S, E-W, and vertical ranges now only count stations which are in
  underground surveys.

* cavern: *infer plumbs wasn't inferring -90 to be DOWN - fixed.

* cavern: *infer was giving an internal error if the argument was unknown -
  now it gives the correct error message.

* cavern: fixed handling of omitted clino readings when OMIT is *set to be
  different from MINUS and PLUS (new test omitclino).

* cavern: fixed a bogus warning for any station which was only used in a line
  of data which was rejected because of an error.

* cavern: added error if the *units factor is zero (e.g. "*units tape 0 feet").

* cavern: removed the ill-thought-out and never implemented LENGTHOUTPUT
  and ANGLEOUTPUT quantities.

* cavern: resolved mismatch between bcra5.svx and the default SDs, and the
  odd values in bcra3.svx.  We are now interpreting the BCRA limits as 2
  standard deviations (previously bcra5.svx used 3 sds, bcra3 used 3.33 sds for
  tape and position, and .75 sds for compass and clino, and cavern used 1 sd
  by default).

* ChangeLog now only includes entries since the previous release (the full file
  is 220K or so, and of interest to very few people).  MSDOS and MS Windows
  versions now comfortably fit on a 1.44M floppy once again.

* Test suite now checks that all programs will run successfully with "--help"
  and with "--version".  This should avoid problems such as that which broke
  the printer drivers in 1.0.4-1.0.6.

* (Unix version): uninstalled binaries now use the path they are run with to
  find support files, which means SURVEXHOME is no longer required, and has
  been removed.

Changes in 1.0.7:

* print*: halted with a failed assertion in 1.0.4-1.0.6.

Changes in 1.0.6:

* aven: "Reverse Controls" now works as in xcaverot and caverot.

* aven: free rotation mode (engage by pressing control while left dragging,
  exit with Delete) improved.

* aven: using File->Open when a file was already loaded caused a crash
  if a station was "grey highlighted" in the survey tree - fixed.

* aven: added hourglass for "find" operation.

* aven: reenabled loading of files by drag-and-drop (accidentally disabled
  in 1.0.4 and 1.0.5).

* aven: improved handling of flat surveys (e.g. output of extend, surveys
  with no clino information).

* aven: surveys with stations but no legs no longer cause the labels and
  crosses buttons to behave oddly.

* aven: removed quite a bit of unused and superfluous code.

* Spell-checked documentation.

Changes in 1.0.5:

* Fixed bug in img_open_survey() which could cause a crash if you tried to
  open an unrecognised file (i.e. not .3d, .pos, .plt, or .xyz format).

* North and East were the wrong way round when reading in .plt files.

* cad3d: Improved .plt file output a little - there's probably enough file
  structure for Compass to read them now.

* Documentation updates.

Changes in 1.0.4:

* extend: previously only kept one name for an equated group of stations in the
  extended .3d file; now keeps all the names.

* cad3d: if an output filename is given, use its extension to pick the default
  output format.

* aven: movement with keyboard is now accelerated by Shift as in caverot.

* print*: --no-borders fixed to work as documented; --no-cutlines added to
  turn off the dashed lines where pages join on multi-page printouts.

* aven: tracked down two uninitialised variables which seems to fix the
  failure to load a survey on startup which some people have been experiencing
  on Microsoft Windows.

* aven: code cleaned up - should improve performance a little.

* img routines: img_rewind() now returns a value indicating success/failure.

* Improvements to .plt file reading, notably that distances in the file are
  now interpreted as being in feet rather than metres.  Also .plt files should
  now be recognised even with a different extension, and we cope with an odd
  special case better.

* Added support for reading CMAP XYZ files.  There are two variants of these
  - the "shot" format is fully implemented, the "station" format currently
  just reads the station names and positions - the legs are ignored (sadly
  the sample files I have do not match the format specification).

* (MacOS X version): aven: aven now builds on MacOS X - we just need to sort
  out packaging now...

* (MSDOS version): upgraded graphics library used to Allegro 4.0.1.

* Documentation updates.

Changes in 1.0.3:

* aven: you can now select distances to be displayed in feet (or miles when
  you zoom right out) instead of metres, and angles to be in grads instead
  of degrees.

* aven: show altitude of mouse pointer when in elevation view.

* cad3d: fixed bug which caused --plt to crash on some platforms.

* print*: added "Printing to `XXX'..." message to say where output is being
  written.

* Updated French translation; minor updates to other translations (mostly
  sorting out clashing menu shortcuts in aven).

* (Unix version): assorted portability tweaks.

Changes in 1.0.2:

* printdm/printpcl/printwin: take notice of font_size_labels setting in
  print.ini etc.

* cavern: Topofil can now be used with DIVING and CYLPOLAR styles; TOPOFIL
  style is now synonymous with NORMAL.

* cavern: *INFER EQUATES and *DATA TOPOFIL now work together correctly.

* cavern: *FIX with 3 standard deviations but no covariances now works.

* (MacOS X version): command line programs now build.  We're working on Aven.

* Updates to the Catalan and Spanish translations.

* xcaverot: documented environmental variables XCAVEROT_INDICATOR_RADIUS and
  XCAVEROT_FONTNAME.

* cad3d: added --plt option to produce crude approximation to Compass .plt
  files - should be good enough for reading into Carto.

* img library enhanced to allow Compass .plt files to be read as if they were
  .3d files.

Changes in 1.0.1:

* (MS Windows version): printwin: fixed sizes of cross and page alignment
  ticks.

* Updates to the Portuguese and Italian translations.

Changes in 1.0.0:

* Fixed --survey option supported by many programs which was broken in 0.99.

* aven: altered colours of "fixed points" and "entrances" buttons to match
  the coloured blobs used to indicate them.

* (MS Windows version): aven: changed current point highlighting in the
  survey tree to use a light grey background rather than bold (bold causes
  the text to "wriggle" as the highlight runs up or down).

* (MS Windows version): file icons now have transparent backgrounds.

* survex: removed conversion wrapper - you should use "cavern file.svx"
  instead of "survex file.svx".

* (Unix version): GCC 2.95 sometimes fails with an internal error when trying
  to compile gfxcore.cc - if it does, the Makefile will now try recompiling
  with a lower optimisation level.

* (Unix version): when doing an "in directory" build from source, the HTML
  manual is now installed in its own subdirectory as when doing a non
  "in directory" build.

* German translation now completely up-to-date.

Changes in 0.99:

* Fixed bug in .3d file reading code which would incorrectly reconstruct
  the survey hierarchy in rare cases.

* (MS Windows version): aven: fixed redraw problem for "N found".

* (MS Windows version): minor tweaks to .err, .pos, and .svx file icons.

* (Unix version): aven: Highlight of current station restores old background
  colour correctly rather than assuming it's white.

* aven: Resolved a number of menu shortcut clashes.

* (RISC OS version): fixed automatic detection of language.

* cavern: improved error reporting from *data; better handling of some
  incorrect usages of *sd and *units.

* Italian translation updated.

Changes in 0.99-prerelease9:

* aven: Side Panel can now be dragged or toggled shut and then reopened
  again; double-clicking on the divider now maximises the survey window rather
  than the side panel.

* aven: .3d files can now be loaded using "drag and drop" from MS Windows
  Explorer, and X filemanagers which support XDND (e.g. Konqueror).

* aven: fixed problems with selection handling in survey tree.

* aven: Escape cancels distance measuring line; suppress distance measuring
  line during auto-rotation and animated tilting.

* aven: entrance blobs now green to distinguish them from stations matching
  search.

* aven: problems with dragging scalebar fixed.

* (MS Windows version): aven: Loading file on start-up now works!

* (MS Windows version): aven: Delete now works in the search box.

* (Unix version): aven: Highlight current station in tree with grey background
  (don't seem to be able to use bold like we do on MS Windows).

* cavern: Fixed handling of interleaved nosurvey data.

* cavern: Diving and cylpolar styles now take DEPTHCHANGE where they used to
  take DZ.

* (MS Windows version): Installer now uses a different compression
  method (bzip2) which reduces the download size by about 5% (and 
  should help keep the installer small enough to fit on a 1.44M floppy).
  Bzip2 is a little slower to uncompress, but not appreciably so on the
  machines I've checked it on.

* (MS Windows version): Should now install without errors for a
  non-admin user on MS Windows NT/2000/XP.

* (MS Windows version): Installer should now allow installation on NT 3.51.

* Updated manual (notably added documentation for interleaved data styles).

* German and Brazillian Portuguese translations updated.

Changes in 0.99-prerelease8:

* aven: Ctrl + Arrow keys is now the preferred way to rotate and tilt
  (easier to remember than "C"/"V" and "'"/"/").

* aven: survey pane now gets initial focus so you no longer have to
  click on it before key presses are recognised.

* (MS Windows version): aven: fixed problems with some keys being
  impossible to enter in search box, or not being recognised in survey
  pane.

* (MS Windows version): aven: wxWindows messages files were missing.  We
  now include them for languages which Survex also supports.

* (MSDOS version): caverot: Shift and/or Ctrl + Arrow keys now works.

* aven: Close button in About box is now always right in the bottom right
  corner.

* Display copyright symbol rather than (C) where the current character set
  allows it.

* (MSDOS version): caverot: default to 320x200 when running under
  Microsoft Windows 2000 and XP as we already do on NT.

* (MSDOS version): fixed problem when running on DOS outside MS Windows.

* (MSDOS version): detect current codepage rather than assuming it's 850.
  We now support codepages 437 and 850 (the common ones) - for other
  codepages we fall back to using 7-bit ASCII.

* (Unix version): aven: now compiles cleanly with GCC3.0.

Changes in 0.99-prerelease7:

* (MS Windows version): aven was missing from 0.99-prerelease6
  (if you installed over an old version you'd have kept the old aven).

* caverot/xcaverot: Ctrl + Arrow keys is now the preferred way to
  rotate and tilt (easier to remember than "C"/"V" and "'"/"/").

* xcaverot: Shift-ed movement keys now work faster as in caverot.

* cavern: fixed *calibrate depth/todepth/fromdepth/dz and *units dz to
  work in data styles diving and cylpolar.

* cavern: fixed handling of malformed *data commands.

* Various documentation clarifications.

Changes in 0.99-prerelease6:

* aven: fixed bogus lines caused by coordinate wrap-around; fixed
  problem in repeated zoom with [ or ]; tweaked layout and auto-sizing
  of left panel; station search now case insensitive; regexp search
  enabled; suppressed message box when wxWindows doesn't support the
  language Survex is set to use; fixed obscure crash in search
  highlighting; added "rubber band" between measured stations;
  Improved choice of menu short-cuts in translations.

* (MS Windows version): don't include plain text versions of docs; fixed
  default action for 3d files to be "Open".

* (MSDOS version): include text docs.

* cavern: more intelligent and less verbose reporting of errors in nested
  included files (inspired by GCC 3.0).

* cavern: improved reporting of syntax errors in survey data.

* print*: improved reporting of invalid scales; interpret a single
  number less than one as the scale in the obvious way (so "0.001"
  means "1:1000").

* print*: "--crosses" no longer prevents "--station-names" from working.

* print*: if running interactively, prompt for what elements to plot
  when run so MS Windows users don't have to resort to the command line.

* Improved documentation for print.ini; Other minor documentation updates.

* (Unix version) configure auto-probe for wxWindows updated to cope
  with wxWindows version 2.2.8 (still works with older versions too).

* Diving and cylpolar styles now accept dz (change in depth) rather than
  requiring absolute depths and taking the difference.

Changes in 0.99-prerelease5:

* aven: improved initial sizing of window; "Toggle rotation" toolbar
  icon now works; handle files with only stations better; presentation
  code disabled for 1.0; releasing mouse over menubar now ends drag;
  don't highlight hidden stations; accelerator problems fixed; find now
  works.

* (MS Windows version) aven: fixed crash on File/Open when a file was
  already loaded.

* cavern: After *solve, reused points are no longer written to the .3d
  file a second time.

* cavern: Warn that the undocumented extra "omit" allowed by *data is
  deprecated.

* cavern: Give error if standard deviation argument to *sd isn't
  positive.

* Consistent capitalisation of --help option descriptions.

Changes in 0.99-prerelease4:

* Minor improvements to manual and Unix man pages.

* printps/printhpgl/printwin: --skip-blanks fixed.

* printhpgl: fixed paper size for A1 landscape (was actually A2
  portrait!)

* (MSDOS version): graphics in HTML manual were corrupted (by being
  packed as text).

* (RISC OS version): graphics were missing from HTML manual.

* (RISC OS version and 286 DOS version): fixed programs to report
  themselves as part of "Survex" rather than "@PRETTYPACKAGE@".

* (MSDOS version): pick a default language for messages by looking at the
  currently set country.

* (Unix version): Improved test for whether build needs librx - before
  it was used if it was present, even if it wasn't needed.

* (Unix version): Assorted minor debian tweaks.

Changes in 0.99-prerelease3:

* Documentation rearranged.  Some sections which covered the same
  ground have been merged, and the documentation for each program is
  now available as a man page under Unix.

* (Unix version): Fixed problem with incomplete versions being
  specified in debian package dependencies.

* (Unix version): Fixed problems with not having librx on Linux (it's
  now built into libc).

Changes in 0.99-prerelease2:

* aven: fixed bug which caused occasional crash during mouse movement;
  station identifying didn't work after a resize until the survey was
  moved.

* Asking for messages in language en_GB now tries language en as it
  was meant to.

* printps/printhpgl/printwin: fixed typo which made --skip-blanks get
  it wrong in some rare cases.

* (Unix version): Added man pages for 3dtopos and sorterr.

* (Unix version): More minor tweaks to debian packages.

* Include images with HTML documentation; other minor documentation
  changes.

Changes in 0.99-prerelease1:

* Major clean-up of Survex Manual; renamed from "svxdocs" to "manual".

* Text documentation converted to HTML; BUGS and TODO merged, ZOMBIES
  removed.

* Include HTML documentation overview page and manual in all versions
  (was only included in MS Windows before).

* aven: added new functionality: toolbar, side panel with survey tree,
  find station, measure distance between two stations, click on
  station to centre.

* aven: can now create presentations consisting of a set of views with
  movements between them.  Useful for using aven as a "slide show" in
  a conference talk.

* aven: handles loading file from command line better.

* cavern: added error checks for "*flags" (with no arguments) and
  "*flags not".

* cavern: you can now specify optional covariances to *FIX.

* cavern: parser fixed to recover from errors as intended in a few
  situations where it was failing to.

* cavern: implemented covariances for diving data.

* cavern: added "cylpolar" data style - similar to diving, except the
  tape is measured horizontally rather than along the slope of the leg.

* cavern: complain about *export-ing or *entrance-ing a station which
  is never used.

* cavern: complain about *export after a *begin without an argument.

* cavern: use *title only if at top of survey tree, else generate
  title from filename(s).

* cavern: removed dummy *lrud command which was added for tunnel but
  isn't used by tunnel.

* cavern: round coordinates to nearest cm when writing .3d file.

* cavern: fixed reporting of node stats for stations fixed with error
  estimates.

* cavern: no longer generate a .inf file - the .log file generated by
  the --log option makes the .inf file obsolete.

* cavern: only apply special pathname handling to filenames in
  *include, not those on the command line.

* cavern: *date now checks its argument.  It expects an ISO format date
  (e.g. 2001.09.13) or range (e.g. 2001.09.12-2001.09.13).  For cases
  where the exact date isn't know, the day and month can be omitted -
  e.g. 2001.09 and 2001 are also valid.

* cavern: --new-format renamed to --chasm-format.

* print*: If restricting to a subsurvey, use that survey name for the
  title of the printout.

* print*: Detect .3d files produced by extend and handle them more
  appropriately (don't ask for view or bearing, and modify info box
  on printout).

* print*: --skip-blanks now works on printwin/printpcl/printps;
  --skip-blanks now forces --no-border.

* printps: thinner lines by default (0.1 points rather than 0.5).

* printdm: added --calibrate option to print calibration page; if
  there's no calibration in the .ini file, refuse to print (apart
  from calibration pages) rather than printing to the wrong scale.

* printwin: removed --output option - there is no output file.

* extend: wasn't picking start station as documented - fixed and
  also enhanced to try to find an entrance with legs first.

* survex: conversion wrapper doesn't use --output unless it is actually
  needed, and displays corresponding cavern command line, and (if
  appropriate) file.

* cad3d: added --reduction option (from Leandro) which allows sketch
  output to be scaled down (default scale is 1:500); grid in sketch
  file is now visible by default; default output now goes in the
  current directory. 

* cad3d/3dtopos/sorterr: delete output file if there's an error
  writing to it.

* 3dtopos: minor improvements to sort order.

* hto2svx, svx2hto: Removed HTO support - Survex appears to be the
  only released software to ever have provided support, and an
  exchange format that nobody else supports is useless.

* xcaverot: report more detailed error when .3d file can't be loaded.

* `program --version' now works even if message file can't be found.

* (Unix version): Fixed attempt to load messages from
  "DEFAULTLANG.msg" if both SURVEXLANG and LANG were unset.

* Much more rigorous checking for operating system errors when reading
  and writing files.

* (RISC OS version): query Territory module to find currently selected
  language, and use that for messages.

* (UNIX version): man pages now have "Survex <version number>" on them;
  fixed minor flaws in man pages.

* Distinguish between a "bad" .3d file and one which has a newer
  revision of the format than we understand.

* img library can now read .pos files as if they were .3d files with
  just stations in, so all programs which can read .3d files can also
  now read .pos files.

* Expanded testsuite further.

* French, Brazillian Portuguese, and German translations brought
  almost completely up-to-date.

* (Unix version): Lots of little improvements to debian packages
  (mostly from Wookey).

Changes in 0.98:

* (MS Windows version): New icons for .svx, .pos, and .err files.
  Tweaked .3d icon to work better in 256 colour modes.

* Added tests for `*infer plumbs' and `*infer equates'.

Changes in 0.98-prerelease6:

* printwin: fixed new bug introduced in 0.98-prerelease4 which caused
  an internal error.

* printwin: exit cleanly if no printer drivers are installed.

* aven: surface surveys weren't being drawn when viewing from above
  (bug introduced in recent version).

* aven/caverot/xcaverot/print*/cadgen/extend/diffpos/3dtopos: --survey
  command line option once more trims specified prefix from station
  names like it did in xcaverot/caverot in 0.98-prerelease4.

* sorterr: Added --replace option to sort the .err file and replace
  the original with the sorted version (for use by MS Windows file
  associations); cope with empty .err file.

* cavern: Added --log option to send output to a .log file.

* cavern: --quiet no longer suppresses node statistics.

* extend: give up if the .3d file is truncated or corrupted part way
  through.

* (MS Windows version): sorterr.exe and 3dtopos.exe were missing;
  improvements to documentation; assorted fixes and improvements to
  file associations.

* print*: reduced memory usage.

* Fixed dropping of first character of survey station names when
  reading old .3d files.

* (MS Windows version): aven.exe wasn't rebuilt for 0.98-prerelease -
  fixed the dodgy script.

Changes in 0.98-prerelease5:

* aven/print*/cadgen/extend/diffpos/3dtopos: Added --survey command
  line option to restrict the operation of the command to a sub-survey
  in the .3d file.

* aven: initial scaling now ignores unused fixed points (unless there
  are no legs at all), and scales survey so it fits inside window.

* aven: can now load a survey with no legs, only stations.

* aven: --version now works, and --help produces more helpful output.

* cavern: fixed bug with eating first character of line after
  interleaved data; corrected line numbers in some situations
  involving interleaved data.

* cavern: fixed problem with points fixed with errors.

* cavern: *title without quotes now stops at a comment; *title with no
  argument no longer allowed - use `*title ""' if you really mean to
  set an empty title.

* Minor documentation updates.

* 3dtopos: Fixed bug which resulted in station names and coordinates
  getting mismatched; output now defaults to current directory.

Changes in 0.98-prerelease4:

* diffpos: list added and deleted stations in sorted order; better
  error reporting.

* 3dtopos: removed hardcoded limit on number of stations (was 100000);
  better error reporting.

* Further tweaks to charset handling - look at LC_* as well as LANG;
  Check GUI codepage under MS Windows.

* cavern: Allow *copyright/*date/*instrument/*team/*title between
  *begin and *export.

* cavern: Fixed typo which prevented *instrument from being recognised
  as a valid command.

* cavern: removed option to produce ascii .3d files.

* cavern: on error, remove any existing .inf file for consistency with
  .3d and .err files.

* cavern: interleaved nosurvey data style now works; nosurvey legs now
  count as a "use" of a fixed point.

* cavern: give at most 5 warnings about use of any particular
  deprecated feature.  Otherwise processing an old dataset just gives
  an avalanche of warnings which buries any other warnings or errors.

* cavern: implemented `*infer equates'.

* aven: if a .3d file is truncated or corrupted part way through, aven
  would previously load part of it without complaint.  Fixed to
  complain and not load anything.

* printwin: fixed problem where it hung when waiting for input.

* print*: Added --output command line option to override the output
  setting in the .ini file (ignored by printwin).

* .3d files now store prefixes for legs (the prefix is taken from the
  "from" station of the leg);  Station names and leg prefixes in .3d
  files are now stored compressed.  Despite now storing prefixes for
  legs, .3d files are now typically 25%-33% smaller than before.

* xcaverot/caverot: Added --survey command line option which restricts
  the view to a sub-survey in the .3d file.  e.g.:
  "caverot --survey 161.dream all.3d"

* (MS Windows version): added explorer bindings for sorterr.

* cavern/xcaverot/sorterr: fixed --help output to include long options.

* Minor documentation updates.

Changes in 0.98-prerelease3:

* cavern/3dtopos: cavern no longer produces .pos files - they're
  mostly useful for hand plotting and are larger than the
  corresponding .3d files so most of the time they slow processing and
  then clutter up the disk.  A new utility 3dtopos produces a .pos
  file from a .3d file, and has the added benefit that it sorts names
  with numbers in numerically (i.e. 2 before 10).

* diffpos: the arguments can now be .pos or .3d files, or one of each.

* cavern: improved parsing of unquoted *include/*title strings - used
  to end at the first literal space; now they end at the first BLANK
  character (space, tab, and comma by default).  So the odd case of an
  unquoted string with commas or tabs will require quotes to be added.

* All versions have been missing RTF, text, and PostScript versions of
  the documentation in the previous 2 prereleases.

* cavern: Fixed articulation code wasn't quite.

* cavern: an empty label was being added to the .3d file for a station
  fixed with standard deviations.  Such labels are also now ignored by
  img on read-in.

Changes in 0.98-prerelease2:

* (MS Windows version): Fixed "Open" on a .3d file to open in aven
  rather than converting to a DXF.  "Convert to DXF" now appears as a
  separate menu item.

* cavern: Fixed bogus errors about matrix not being positive definite.

* cavern: Fixed bug in articulation point code which could result in
  a traverse "exploding" in certain situations (introduced in 0.95).

* cavern: Check for chunks of survey not connected to a fixed point is
  now done earlier on (which simplifies quite a bit of the network
  code).

* xcaverot: Disabled "legs" and "surface" buttons in --pda mode - they
  make the button bar too wide.

Changes in 0.98-prerelease1:

* Covariance matrices are symmetric - now only store 6 of the 9 entries.
  Typically uses 10% less memory and is 15% faster.

* caverot: adjust to speed of machine/size of survey on initial draw,
  rather than on first action from user.

* (MS Windows version): now handle oe-ligatures.

* (Unix version): discover character set by looking at $LANG.

* (MS Windows version): discover character set from Windows.

* Transliterate accented characters that can't be represented in the
  current character set.

* Added support for Latin9 (iso-8859-15) character set.

* printps/printpcl/printwin: Improved handling of accents on printouts.

* aven: added optional grid; dashed surface survey now the default;
  Indicators moved to submenu of View menu.

* aven: reporting errors in a message box wasn't working (wxWindows
  bug).

* cavern: fixed *entrance - it was trying to insist its argument was a
  survey, not a station.

* cavern: a leg with the same station at both ends now causes an error
  rather than just a warning.

* cavern: added station name to "station equated to itself" message.

* cavern: allow interleaved data formats.

* sorterr: new utility for sorting .err files by various criteria.

* xcaverot: buttons now size to widest label; added --pda switch to
  turn off less useful buttons for use on small screens (such as the
  ipaq PDA).

Changes in 0.97:

* Unchanged from 0.97-prerelease7.

Changes in 0.97-prerelease7:

* Messages relating to command line options are now translatable.

* (MSDOS versions): now supply self-extracting zip archives.

* (MS Windows version): after running cavern, wait for a key press
  before closing the window.

* cavern: Very quiet mode (-qq) now produces absolutely no output if
  there are no errors or warnings.

Changes in 0.97-prerelease6:

* (MS Windows version): aven: if there are problems opening the
  message file, report them in a message box rather than printing text
  which the user will never see.

* cavern: invalid data lines weren't being counted, so you'd get
  incorrect line numbers reported for further errors and warnings.

* cavern: Added a SPLAY flag for indicating splay shots in chambers
  and large passages.

* extend: ignore surface legs and splay legs; preserve duplicate flag
  on extended legs.

* print*: if surface data isn't being plotted, ignore surface survey
  stations too, and select page layout based on underground data only.

* (MS Windows version): get default language from Windows.

* cavern: added *entrance command for indicating cave entrances.

* Added "surface", "underground", "exported", "fixed", and "entrance"
  station flags to 3d format.

* (DOS version): caverot: fixed bug Brian Clipstone reported where
  caverot would lock up when trying to plot a label off-screen.

* xcaverot/caverot: tweaked sense of a few controls to be consistent
  with each other and with aven.

* Strip leading '\' from station names read from old .3d files.

* cavern: Better reporting of error stats involving a station fixed
  with errors.

* aven: allow highlighting of fixed, exported, and entrance stations.

Changes in 0.97-prerelease5:

* survex: conversion wrapper now only creates __svxtmp.svx file if it
  has to - simple cases (such as "survex example.svx") don't need one;
  also always print warning that user should be using cavern instead.

* Minor updates to documentation.

* Survey stations names are no longer displayed with a leading '\' -
  this doesn't make sense now that root is deprecated, and didn't make
  much sense before to be honest.

* cavern: *fix with two standard deviations (horizontal and vertical)
  was being rejected - fixed.

* cavern: Fixed bug with station "\" appearing in the .err file for
  a station fixed with error estimates.

* (non-Unix versions): remove path and extension and lower-case program
  name for use in error reporting.

* (MS Windows version): added documentation overview page to HTML
  help.

* Removed 255 character limit on station names in .3d and .3dx files.

* caverot: overlapping label code wasn't allowing enough for vertical
  overlap.

* cavern: after a bad *data command, ignore survey data until the next
  valid *data command.

* printdm/printpcl: exit cleanly if bitmap font file is missing.

* cavern: give a more helpful error on empty "*export" or "*prefix".

* xcaverot: Fixed display of surface legs and related minor issues.

* print*: Fixed handling of surface legs; `-S' now recognised as a
  short-form for `--surface'.

* Added test of *solve command.

* cavern: Added commands *date, *team, *instrument, *copyright -
  currently these are ignored, but they provide a place to put data
  when importing/exporting, and will be processed in future versions.

* (MS Windows version): aven updated to same codebase as Unix version.

Changes in 0.97-prerelease4:

* Updated Portuguese and German translations.

* aven: Accents now work in display; suppress "wxstd" warning box for
  English; speed improvements; redesign of indicators; rescale by
  dragging scalebar; allow surface legs to be hidden (they are by
  default); now defaults to plan view; depth bar labelling improved;
  added caverot-like handling of flat surveys (so output from extend
  is locked flat).

* cavern: Complain if the same name is used for a survey and a station.

* cavern: Added --warnings-are-errors command line option.

* caverot/xcaverot: Middle button now tilts cave by dragging rather
  than toggling plan/elevation.

* caverot: continue setup in background while help page is displayed;
  "R" (Reverse Rotation) now only affects the auto-rotation - it used
  to affect "C", "V", "/", and "'".

* cavern: unused fix point warnings now work for stations fixed with
  error estimates; added test cases for this.

* testsuite: Enhanced many existing tests to check for warnings.

* Fixed to build on Solaris with Sun's compiler.

* Minor corrections to documentation and man pages.

* cavern: report *export errors at the file and line where the *begin
  for the survey involved was as that's much more useful.

* cavern: allow "-" in station names by default.

Changes in 0.97-prerelease3:

* (Unix version): aven: Internationalised; Fixed serious drawing bug
  causing incorrect rendering and segfaults; Scale bar now draggable;
  Depth bar tidied up; Orientation menu changes; Menu accelerators
  fixed; Status bar disabled (various continuing problems and it
  doesn't really convey much useful info anyway); About box fixes;
  Fixed crashes on mouse actions when no survey loaded; Improved
  labelling of scale bar and indicators.

* Created Swiss German and "German German" sub-versions of German
  translation.

* (DOS version): caverot: fixed slight underallocation of memory which
  probably caused the bug Brian Clipstone reported.

* cavern: Improved reporting of missing *export-s; added 2 more
  *export tests.

* No longer trap SIGINT (Ctrl-C) or SIGTERM (Ctrl-\ on Unix) as we
  can't do anything useful.

* Removed support for really old language names ("fren", "germ",
  "ital", etc) - use "fr", "de", "it", etc instead.

* (RISC OS version): support a few extra accents in messages.

* "Syntax" in command-line help messages now translated.

Changes in 0.97-prerelease2:

* cad3d: Fixed output from `--help'; -e, -D, -S short options now work;
  fixed infinite loop bug.

* (Unix version): aven: leaving "about" box no longer causes segfault;
  toggle status bar now works; N/S/E/W selects view rather than moving
  cave; window close now works; now have ticks on appropriate menu
  items; fixed problems with rendering (some legs missing!); 3d file
  specified on command line now loaded; fixed occasional hangs; fixed
  terrible slowness during rotation; implemented indicators; various
  other bugs fixed.

* Updated translations: pt de it (and fr partially)

* Added tests for most commands and various other cases.

* cavern: fixed *case (correct args are PRESERVE/TOUPPER/TOLOWER) and
  upper/lower were swapped.

* Documentation brought more up-to-date.

* caverot/xcaverot: fix missing end of list marker for surface data
  which typically resulted in a few extra bogus surface legs appearing.

* printer drivers: fixed .ini file reading routine (bug introduced in
  0.97-prerelease 1).

* printps: postscript file meta information now includes the date of
  creation, and also the name of the user running printps (Unix only).

* printer drivers: improved reporting of problems with print.ini files.

* (MSDOS version): fallback DPMI provider and floating point emulator
  were missing in 0.97-prerelease1.

* Better internationalisation - select localised system messages using
  setlocale().

Changes in 0.97-prerelease1:

* extend: fixed bug which resulted in bogus output (added regression test);
  produce binary rather than ASCII .3d output.

* cavern: don't report error stats for articulating traverses.

* (UNIX version): `make uninstall' now removes the HTML documentation.

* (UNIX version): printer drivers: Look for /etc/survex/print.ini rather
  than <prefix>/share/survex/myprint.ini

* cavern: added warning that use of ROOT character ('\' by default) is
  deprecated; updated documentation to mention this.

* cavern: added *export command to allow scope of station names to be
  limited.  If *export is never used, behaviour is as before.

* cavern: added *flags command to allow surface surveys and duplicate
  surveys (to be ignored when calculating the total survey length) to be
  indicated.

* new version of 3d file format which can store flags and is slightly more
  compact.  NB New programs can load old .3d files, but old programs can't
  load new .3d files.

* caverot/xcaverot: allow surface legs to be hidden (they are by default)

* cavern: compass can be omitted on legs in diving data to indicate a plumbed
  leg.  In this case the tape and depth gauge readings are combined to give
  the length of the leg.

* cavern: *begin/*prefix reentry warning now gives the original location as
  a separate warning so smart editors will allow you to click on it to jump
  to that file and line.

* printer drivers: put "http://www.survex.com/" on printouts in case someone
  who gets a printout wants to know more about Survex.

* cavern: added easting, northing, altitude added as prefered aliases for
  dx, dy, dz.

* cavern: bug fix: "*prefix \" or "*begin \" would cause an internal error.

* xcaverot: "load" button now works; bearing always shown in range 0-360;
  / and ' now tilt cave; `u' and `d' now switch to view from above/below;
  shift-ed keys now work; `o' now turns off non-overlapping labels;
  `ctrl-L' toggles display of survey legs.

* caverot: n/s/e/w/u/d now work as in xcaverot - the previous functions they
  had weren't actually useful; if memory is really tight, disable
  non-overlapping labels rather than dying with an error.

* prefer balanced quotes (`...') to unbalanced ('...') in messages.

* cavern: file reading errors now treated as fatal; unattached survey error
  now fatal.

* survex: syntax errors in command line arguments now fatal.

* cavern: if there are errors, don't produce output files.

* cavern: bug fix: trying to report certain errors in really long lines could
  cause an internal error.

* 3dtodxf: renamed to cad3d since it can now produce DXF or sketch format.

* aven: rewritten to use wxwindows (under Unix only so far).

* printwin: new native Microsoft Windows printer driver.

* (MS Windows version): new installation wizard.

* Use double precision floating point to pass numbers to/from .3d file
  reading routines to avoid rounding problems.

* cavern: change of terminology - use "reading" instead of "datum",
  since datum more usually means a map datum in surveying.

Changes in 0.96:

* (MSDOS and MS Windows versions): fixed bug in message file handling
  introduced in 0.96-prerelease 1 - symptoms: messages incorrectly looked
  for in current directory, or just printing "???" and exiting.

* cavern: attempting to *include a non-existent file used to complain:
  "In file included from example.svx:31:" / "cavern: Couldn't open data file
  'bad.svx'" - now complain "example.svx:31: Couldn't open data file
  'bad.svx'".

* xcaverot: cursor keys now move the 3D centre of rotation rather than just
  the position of the survey in the window.

Changes in 0.96-prerelease4:

* cavern (RISC OS version): "is this a directory" test would never say
  "yes".

* caverot: (MSDOS version) cursor keys and delete had stopped working (due
  to changes in allegro graphics library) - fixed.

* xcaverot: Zoom in and out with keyboard now behaves exactly like clicking
  on buttons; Removed unused "select" button; Fixed significant memory leak.

* aven: (MS Windows version) Mark Shinwell has written a Microsoft Windows
  version of aven, which is better in almost every way than the directx
  version of caverot (and we're working to fix the few shortfalls), so we've
  shelved directx caverot and are now including aven instead with the MS
  Windows version.

Changes in 0.96-prerelease3:

* caverot: DirectX version for Microsoft Windows.

* caverot: (MSDOS version) 640x480 doesn't work under NT either, but 320x200
  does so default to that instead.

* caverot: --mode-picker option now listed by --help.

Changes in 0.96-prerelease2:

* caverot: (MSDOS version) --mode-picker now recognised anywhere on command
  line (had to be last previously).

* caverot: (MSDOS version) messages from Allegro library now
  internationalised.

* caverot: (MSDOS version) don't try to get 800x600 if running under NT -
  try 640x480 instead.

Changes in 0.96-prerelease1:

* xcaverot: Improved responsiveness; can now load multiple .3d files from
  command line; set defaults (press DELETE) now defaults scale that which
  fits the whole survey on the screen.

* cavern: Fixed bug in DOS and Windows versions with handling of paths
  containing a mixture of "/" and "\".

* 3dtodxf: added "--grid" option (supplied by Leandro); output file now
  defaults to same name as input file but with a ".dxf" extension.

* caverot: now get accents with MSDOS version.

* cavern: applied patch from Leandro to fix problem with diving and topofil
  styles.

* 3dtodxf: can now produce an elevation view with --elevation=ANGLE option.

Changes in 0.95:

* Put aven in a separate RPM package since it depends on a stack of
  libraries which not everyone will want to have to install.

Changes in 0.95-prerelease7:

* Disabled experimental gross-error detection code.

* Now build RPMs (for RedHat Linux - may also work with Mandrake and some
  others).

Changes in 0.95-prerelease6:

* Updated all translations.

* Fixed another logic error in "only mentioned once in *equate with explicit
  prefix" check.

* Minor fixes to get MSDOS (djgpp) and MS Windows (mingw) builds working.

Changes in 0.95-prerelease5:

* If no stations are fixed, the first station mentioned is supposed to be.
  But on some platforms (e.g. x86 Linux) the second station was being used
  instead (regression test firststn).

Changes in 0.95-prerelease4:

* Fixed typo which prevented documentation from installing.

* Fixed logic error in "only mentioned once in *equate with explicit prefix"
  check.

Changes in 0.95-prerelease3:

* aven: updated to compile with new cvrotimg.

* More fixes for compilation problems on non-Linux UNIX platforms.

Changes in 0.95-prerelease2:

* Minor tweaks to some messages.

* 3dtodxf: Fixed calculation of bounding box if all coordinates are negative
  in one or more axes.

* Added Wookey's man pages - these just list the command line options and
  point to the HTML documentation.

* Fixes for compilation problems on non-Linux UNIX platforms.

Changes in 0.95-prerelease1:

* cavern: *fix with error values (one for same all round, two for horizontal
  and vertical, three for x, y, z)

* Fixed RISC OS not treating "foo." as a directory

* Improved behaviour when sgmltools not installed

* cavern: Merged patches for generating .3dx files for chasm

* Miscellaneous code tidying

* Moved unresolvable issues from BUGS to ZOMBIES

* cavern: Fixed articulation code bug (handling of some cases of components
  with multiple fixed points); added regression test

* cavern: "*begin" / "*end foo" now gives more explicit error

* cavern: More work on gross error detection

* xcaverot: you can now set environmental variables XCAVEROT_FONTNAME,
  XCAVEROT_INDICATOR_RADIUS

* extend: now starts from highest station with only one leg.  If no such
  station exists then revert to the previous behaviour of starting from
  the highest station (but complain if we have no legs at all).

* cavern: line numbers now correct for .svx files with Mac style lineends

* cavern: improved error reporting in several cases

* caverot: on RISC OS now fall back to using 2 or even just one screen
  bank if we can't find a mode where we can create 3 banks

* cavern: added data styles "TOPOFIL" (like tape/compass/clino but with a
  counter instead of the tape), "CARTESIAN" (dx, dy, dz), and "NOSURVEY"
  (for unsurveyed connections between surveys)

* cavern: can now suppress "unused fixed point" error on a station by
  station basis by using: "*fix <station> reference <coords>"

* cavern: new command "*require <version>" to allow survey data to specify
  the minimum survex version required to process it

* print*: now search multiple print.ini files so you can override settings
  in the shipped file rather than having to modify it.  Search order is:
  ~/.survex/print.ini (unix only), <prefix>/share/survex/myprint.ini,
  <prefix>/share/survex/print.ini

* Changed xcaverot rotation/zoom to be the same way round as caverot

* diffpos, extend, xcaverot, caverot: Now use cmdline library to parse
  command line arguments and so support --help, --version, etc.

* hto2svx, svx2hto, and survex wrapper now all support --help and --version

* `configure --disable-aven' now disables building of aven

* caverot: on RISC OS fall back to using 2 or just 1 screen bank if there's
  not enough video memory allocated for 3.

* Documentation brought more up to date.

* If a station is only referenced once, and that reference is in a *equate
  and with an explicit prefix (e.g. "*equate 1 possibletypo.6"), a warning
  is issued.

Changes in 0.94-prerelease2:

* Added test for "cavern would segfault in articulate() on second *solve"
  (bug3.svx)

Changes in 0.94-prerelease1:

* cavern: Fix for bug reported by Leandro - cavern would segfault in
  articulate() on second *solve

* xcaverot: Applied patches from Leandro: fix menu buttons, keyboard
  shortcuts, colour of station markers, scalebar length and text display,
  mouse right-button "cave drag", centre-button "plan/elevation switch",
  zoom in/out menu button

* cavern: Fixed "matrix wouldn't invert" problem with certain datasets;
  added regression test (bug2)

* Check for sgmltools v3 (sgmltools-lite) as well as v2

* BorlandC and RISC OS config files are now regenerated when version number
  is updated

Changes in 0.93:

* Quick fix for problem with finding articulation points in particularly
  contorted components with 2 or more fixed points - for now each component
  is solved separately, but they aren't split at articulation points

* Turned off some debug code left active by mistake

* Test suite was missing a file

Changes in 0.92:

* 3dtodxf's DXF output can be opened by AutoCAD 13, 14 and 2000, as
  well as ArcView 3.x. Adobe Illustrator 8.0, and CorelDraw 8.
  [checked by Mike Yocum]

* HTML documentation now has meaningful filenames (no more "x532.htm")

* RISC OS documentation zip file now has correct filetype for
  Postscript version of docs

* RISC OS binary distribution now includes !CLIcon GUI front end

* Changed naming scheme for .zip archives to be more consistent

* Added OLDNEWS with details of user-visible changes in much older
  versions

Changes in 0.92-prerelease6:

* Windows and MSDOS builds were missing 3dtodxf.exe

* Updated French, German, Portuguese, and Italian translations

* Windows archive for pre5 contained Linux binaries! (except caverot)

Changes in 0.92-prerelease5:

* printps: now allow separate font sizes (and fonts) for station
  labels and other text

* print*/print.ini: allow different outputs to be specified for each
  operating system with sensible defaults in print.ini

* print.ini: major overhaul of layout to improve readability

* Another regression test case added

* HACKING: new file containing nuggets of wisdom for developers

* Added default s.d. for level legs

* Fixed network reduction bug (undoing network simplifications didn't
  always restore removed stations to the station list)

* Catch *begin with no matching *end

* Catch *begin and matching *end in different files

* Updated Portuguese, French, and German translations [Leandro/Eric/Gerhard]

* Wrong warning was being given for `*equate 1 1'

* xcaverot: fixed "step" button and keys

* caverot: reduced exe size down to slightly more than 0.91 (allegro issue)

Changes in 0.92-prerelease4:

* cavern: "*infer" wasn't working due to internal token value mismatch

* Short usage information now directs user to "--help"

* print.ini: Tidied up comments about font size and line width for
  printps

* printps: Line width now set correctly for all pages with ghostview

* cavern: Fixed problem with highly *equate-d nodes (introduced in
  0.92-pre1)

* aven: Fixed redraw errors; enabled splash screen [mark]

* cavern: Fixed deltastar network transformation to handle covariances

* More test cases added to catch any regressions of recent bug fixes

* Include alien.pl in distribution (helper script for compiling with
  BorlandC and on RISC OS)

* cavern: tests for zero now use epsilon related tests, apart for on
  RISC OS where the FP emulation appears to cut corners and give
  slightly incorrect answers.

* Now include Postscript version of documentation

* HTML documentation now uses ".htm" extension instead of ".html" to
  placate crap unzip programs which can't handle anything over 8.3

* NEWS now describes user-visible changes; ChangeLog is now
  autogenerated from the CVS commit messages

Changes in 0.92-prerelease3:

* xcaverot: Switching between plan and elevation now smoother

* xcaverot: Fixed poor handling of keypresses when rotating

* xcaverot: Reenabled buttons and made plan/elev button work properly

* aven: New experimental gtk-based xcaverot replacement

Changes in 0.92-prerelease2:

* Can now just run individual tests from test suite

* cavern: Turned off stray debugging output in matrix.c

* Improved various bits of debug code

* cavern: Fixed minor problems when compiling with NO_COVARIANCES

* In test suite, cavern failing now causes test to fail immediately

* Include riscos/config.h.in and borlandc/config.h.in in distribution

* cavern: Fixed bug when finding articulation points in a component
  with more than one fixed point

Changes in 0.92-prerelease1:

* caverot: Help screen incorrectly documented tilt as '/' and ':' -
  actually it's on '/' and ''' (single quote)

* caverot: Previously assumed shift-singlequote is '@' which is true
  on UK keyboards but not on US keyboards.  Quick fix: check both '@'
  and '"' for now.

* "printps -b" now reports "option requires an argument" (used to segfault)

* Updated printer driver command line options in manual

* caverot: Fixed shift key to accelerate movements in allegro version

* cavern: Disabled articulation point code (for now - there's a bug)

* cavern: If a datafile isn't found, now try a lowercase version
  before giving up (so on Unix you can now process a DOS dataset by
  unpacking with "unzip -L" to force filenames of unpacked files to
  lower case)

* diffpos: Fixed a couple of bugs; also now exits with status 1 if
  differences were reported

* Added some tests for cavern and diffpos - more to follow

* cavern: Covariance code now working and enabled by default

* cavern: When equating two existing stations we need to replace the
  pos of one with the pos of the other.  We used to look down the
  whole station list, now we just look at neighbouring nodes
  (noticeable time saving for large networks with many equates)

* cavern: Renamed truncate function in commands.c to avoid clash with
  library truncate function on FreeBSD

* cavern: Warn that *prefix and *default are deprecated

* Fixed obscure problems when configure is rerun with a different prefix

* If the environmental variable SURVEXLANG isn't set, LANG is now
  check before resorting to the default.  LANG is a standard way to
  specify the language for GNU applications - SURVEXLANG is still
  useful as a way to specify an alternate language if Survex doesn't
  support your prefered language.

* Cured superfluous copy of svxdocs in doc/svxdocs in source distribution

* RISC OS and BorlandC builds now track copyright message and version
  number automatically

* If LANG is set to "en_US", treat it as if it were "en-us"

* xcaverot: Merged in changes from John Pybus and Mark Shinwell

* cavern: *solve followed by some entirely unconnected survey now
  caught cleanly (used to hit an assert)

* cavern: Corrected component and loop counts when there's hanging
  survey around

Changes in 0.91:

* Fixed problem with message files with accented characters

* Fixed RISC OS specific problem if SURVEXLANG was set

* xcaverot: Fixed to centre and scale cave on startup

* Removed superfluous containing directory for RISC OS documentation

Changes in 0.90:

* caverot: MSDOS Allegro mode-picker now reappears if an invalid mode
  is chosen (caverot used to unhelpfully exit in this case).

* caverot: Fixed cursor keys and delete in MSDOS Allegro version

* fixed problem with US English messages

* text files in DOS/Win32 zips now have ".txt" extension and DOS
  end-of-lines

* 3dtodxf: Leandro Dybal Bertoni has made major improvements to
  DXF output

* caverot: Right and Middle mouse button functions were swapped under
  RISC OS

* caverot: BorlandC (pre-386) version wasn't erasing screen between redraws

* HTML version of documentation now has a hyperlinked table of
  contents

Changes in 0.90 beta3:

* cavern: output files now go in current directory rather than the
  same directory where the first .svx file is found.  You can set a
  different directory using the "--output" command line option, which
  can point to a directory or a file.

* cavern: "*truncate off" rather than "*truncate 0"

* survex: added wrapper to convert survex invocation into cavern invocation

* hto filters moved into separate subdirectory of source distribution

* cavern: fixed bug which included stations with 4 or more connections
  in the .3d file several times

* added "miniam.pl" which generates makefiles for BorlandC and RISC OS

* printdm/printpcl: weren't showing text - problem with new format
  font file

* check for old SURVEXLANG codes (engi, fren, germ, ...) now case
  insensitive

Changes in 0.90 beta2:

* xcaverot: Fixed to handle > 2048 stations/legs

* Spanish and Catalan translations updated (only French left to do)

Changes in 0.90 beta1:

* German, Italian, and Portuguese translations updated

* Linux binaries now supplied (x86 RPM)

* Documentation brought largely up to date

Changes in 0.90 alpha5:

* cavern: comment parsing fix

* cavern: network reduction bug fixed

* new messages extracted for translation

* printps: much smaller postscript output

* printps: real circles in postscript output

* nicer infobox on printouts

* caverot: help page improved

* scale units on printout bug fixed

Changes in 0.90 alpha4:

* printps: made postscript bounding box slightly larger

* printps: tweaked postscript output to reduce size (5% smaller for
  Kaninchenhoehle)

Changes in 0.90 alpha3:

* fixed bogus "Error writing printer output" message from printer drivers

* minor cosmetic fixes to printer drivers

* printps: added postscript bounding box

* printps: fixed extra "%"s in postscript output

* cavern: removed stray debug messages added in 0.90 alpha2

Changes in 0.90 alpha2:

* cavern: fixed memory allocation bug (affected *include and *title)

Changes in 0.90 alpha1:

* cavern: Halt after 50 errors to save swamping user

* now use GNU getopt to parse command line options

* cavern: -f and @ removed

* cavern: -n, -t and -u replaced by *-commands

* source code tidied up considerably

* new format message files - now internally use unicode (in UTF-8) and
  should be faster and smaller

* new format font file for printdm/printpcl (faster and smaller)

* cavern: GCC format error/warning messages to allow clicking on
  messages to jump to the problem line in editors which support it
  (e.g. GNU emacs and jed)

* Now uses GNU automake under Unix which makes my life a lot easier and also
  provides "make install"

* xcaverot: now checks for failing to open the X display

Changes in 0.81:

* survex: Network reduction bug fixed (fix carried back from 0.90 development)

Changes in 0.80:

* Added ChangeLog

* DOS binary distribution now includes files: BUGS NEWS TODO ChangeLog

* Cross-compiler build for DOS now has debugging information stripped
  from .exe files once more, so they are rather smaller

* Sources now include configure.in for those wanting to do major development
  work

* Unix versions now build use GNU autoconf - to build just unpack, run
  "./configure" then "make"

* Messages file now represents accents like in HTML (e.g. &eacute;
  for é)

* caverot: fixed up standard DOS (allegro) version to work much
  better.  In particular, it will now try to choose a video mode for
  itself (use --mode-picker at the end of the command line to get the
  mode picker), and keyboard and mouse initialisation problems are
  cured

* survex: You can now use DOS or UNIX style filenames (/ or \ for
  directory separator) on any platform and they will be translated to
  the native format for your OS.  This makes datasets much more
  portable.

* survex: "Unique" option changed to "Truncate" and now truncates
  names if set

* Removed artificial limit on survey station name length (was 12
  characters per prefix component)

* Many other minor changes

Changes in 0.72:

* Expiry timeout removed from all programs

Changes in 0.71:

* printdm: Native Printer support for Cannon BJ printers.

* caverot: DJGPP version for use of more than 640K

* xcaverot: Updated to have most of the features of Caverot (non-overlapping
  labels, scale bar & tilt/direction indicators)

Changes in 0.70:

* Language support for Catalan, Spanish, and Italian added

* caverot: tilt indicator added

* caverot: constant speed rotation (e.g. for small caves on fast computers)

* caverot: Smooth plan <-> elevation transitions on faster machines

* caverot: Two files can be read in and displayed in different colour
  (eg cave and surface data)

* caverot: Extended memory version so big datasets can be displayed on
  DOS version

* Printer Drivers: INI file used instead of multiple configuration files.

* Printer Drivers: Defaults set-able for all print settings

* Printer Drivers: Option to print tilted plots

* printhpgl: now has origin in centre of page option (and is default)

* printdm/printpcl: Printer font made ISO-8859-1 compatible

* Printer Drivers: Dotted borders to facilitate cutting to size with scissors

* Printer Drivers: Scale bar length limited to save time on large plots

* survex: If adjusted tape is negative then warning generated

* survex: User-definable characters for input (e.g. for odd characters
  in imported station names)

Changes in 0.62:

* printdm: bug-fix: a graphics postfix setting had been added to
  dm.cfg, but if this was not used then printing would go wrong

* printpcl: added an option for printers that do not understand the
  PCL Vertical Tab command - see PCL.cfg

Changes in 0.61:

* Includes a new version of caverot that arranges the labels so that
  they don't overlap.

Changes in 0.60:

* French and German translations greatly improved

* survex: Survey grades now supported

* survex: *calibrate, *data, and *units enhanced in a backwards
  compatible way

* survex: survey network is now split at articulation points
  (faster/less memory)

* survex: Omitted clino readings give a vertical sd of tape/sqrt(10)

* survex: filenames with spaces are now supported - just put them in
  quotes ("")

* diffpos/3dtodxf: improved and made more robust

* caverot: "sliding point" code improved to work even in really
  extreme cases

* caverot: added a "compass"

* caverot: memory usage improved, so it now copes with larger files

* And a host of more minor improvements and bug-fixes

survex-1.4.17/doc/Makefile.in0000664000175000017500000005225314766657026011467 # Makefile.in generated by automake 1.17 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2024 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)) am__rm_f = rm -f $(am__rm_f_notfound) am__rm_rf = rm -rf $(am__rm_f_notfound) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \ $(top_srcdir)/acinclude.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 = index.htm CONFIG_CLEAN_VPATH_FILES = 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 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" \ "$(DESTDIR)$(pkgdocdir)" man7dir = $(mandir)/man7 NROFF = nroff MANS = $(man_MANS) DATA = $(pkgdoc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/index.htm.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_CXXFLAGS = @AM_CXXFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVEN_COPYRIGHT_MSG = @AVEN_COPYRIGHT_MSG@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COMMAVERSION = @COMMAVERSION@ COPYRIGHT_MSG = @COPYRIGHT_MSG@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIR = @DATADIR@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ EXTRA_TEXT = @EXTRA_TEXT@ FFMPEG_CFLAGS = @FFMPEG_CFLAGS@ FFMPEG_LIBS = @FFMPEG_LIBS@ GDAL_CFLAGS = @GDAL_CFLAGS@ GDAL_LIBS = @GDAL_LIBS@ HAVE_CXX11 = @HAVE_CXX11@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ OBJEXT = @OBJEXT@ 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@ PKGDOCDIR = @PKGDOCDIR@ PKGDOCDIR_EXPANDED = @PKGDOCDIR_EXPANDED@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PRETTYPACKAGE = @PRETTYPACKAGE@ PROJ_CFLAGS = @PROJ_CFLAGS@ PROJ_LIBS = @PROJ_LIBS@ RELEASE = @RELEASE@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SPHINX_BUILD = @SPHINX_BUILD@ STRIP = @STRIP@ VERSION = @VERSION@ WERROR = @WERROR@ WXCONFIG = @WXCONFIG@ WX_CFLAGS = @WX_CFLAGS@ WX_CONFIG = @WX_CONFIG@ WX_CXXFLAGS = @WX_CXXFLAGS@ WX_LIBS = @WX_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__rm_f_notfound = @am__rm_f_notfound@ am__tar = @am__tar@ am__untar = @am__untar@ am__xargs_n = @am__xargs_n@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ 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@ pkgdocdir = @PKGDOCDIR@ man_sources = \ aven.rst \ cavern.rst \ diffpos.rst \ dump3d.rst \ extend.rst \ sorterr.rst \ survexport.rst \ survex.rst manual_sources = \ index.rst \ intro.rst \ getstart.rst \ cmdline.rst \ $(man_sources) \ datafile.rst \ svxhowto.rst \ genhowto.rst \ compass.rst \ maillist.rst \ walls.rst \ cmap.rst \ future.rst manual_alt = manual.pdf HTMLFILES = AUTHORS.htm HACKING.htm NEWS.htm OLDNEWS.htm TODO.htm index.htm \ 3dformat.htm 3dformat-old.htm MAINTAINERCLEANFILES = $(manual_alt) NEWS.htm OLDNEWS.htm pkgdoc_DATA = $(HTMLFILES) $(manual_alt) man_MANS = \ aven.1 \ cavern.1 \ diffpos.1 \ dump3d.1 \ extend.1 \ sorterr.1 \ survexport.1 \ survex.7 EXTRA_DIST = $(HTMLFILES) manual $(manual_alt) \ $(manual_sources) conf.py \ $(man_MANS) man.stamp \ news2html.pl all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile 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): index.htm: $(top_builddir)/config.status $(srcdir)/index.htm.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-man7: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man7dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.7[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ done; } uninstall-man7: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man7dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.7[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) install-pkgdocDATA: $(pkgdoc_DATA) @$(NORMAL_INSTALL) @list='$(pkgdoc_DATA)'; test -n "$(pkgdocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pkgdocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pkgdocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdocdir)" || exit $$?; \ done uninstall-pkgdocDATA: @$(NORMAL_UNINSTALL) @list='$(pkgdoc_DATA)'; test -n "$(pkgdocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pkgdocdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: 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 check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(pkgdocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -$(am__rm_f) $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || $(am__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." -$(am__rm_f) $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-man install-pkgdocDATA 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-man1 install-man7 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local uninstall-man uninstall-pkgdocDATA uninstall-man: uninstall-man1 uninstall-man7 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic 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-man1 \ install-man7 install-pdf install-pdf-am install-pkgdocDATA \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic maintainer-clean-local mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-local uninstall-man uninstall-man1 \ uninstall-man7 uninstall-pkgdocDATA .PRECIOUS: Makefile NEWS.htm: ../NEWS news2html.pl ./news2html.pl '@PRETTYPACKAGE@ @VERSION@' < ../NEWS > NEWS.htm OLDNEWS.htm: ../OLDNEWS news2html.pl ./news2html.pl < ../OLDNEWS > OLDNEWS.htm # Export these as an environment variables for use by conf.py export PKGDOCDIR_EXPANDED export VERSION # Recover from the removal of $@. A full explanation of this is in the # automake manual under the heading "Multiple Outputs". $(man_MANS): man.stamp @if test -f $@; then :; else \ trap 'rm -rf man.lock data.stamp' 1 2 13 15; \ if mkdir man.lock 2>/dev/null; then \ rm -f man.stamp; \ $(MAKE) $(AM_MAKEFLAGS) man.stamp; \ result=$$?; rm -rf man.lock; exit $$result; \ else \ while test -d man.lock; do sleep 1; done; \ test -f man.stamp; \ fi; \ fi man.stamp: $(man_sources) $(top_srcdir)/configure.ac @rm -f $@-t @touch $@-t $(SPHINX_BUILD) -b man $(srcdir) man.tmp $< mv man.tmp/*.1 man.tmp/*.7 . rm -rf man.tmp @mv -f $@-t $@ install-data-local: manual $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/manual/_static test ! -d manual -a -d "$(srcdir)/manual" && cd $(srcdir) ; \ for p in manual/*.htm manual/*.js manual/_static/*.js manual/_static/*.css ; do \ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdocdir)/$$p"; \ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdocdir)/$$p; \ done uninstall-local: test ! -d manual -a -d "$(srcdir)/manual" && cd $(srcdir) ; \ for p in manual/*.htm manual/*.js manual/_static/*.js manual/_static/*.css ; do \ echo " rm -f $(DESTDIR)$(pkgdocdir)/$$p"; \ rm -f $(DESTDIR)$(pkgdocdir)/$$p; \ done -rmdir $(DESTDIR)$(pkgdocdir)/manual/_static -rmdir $(DESTDIR)$(pkgdocdir)/manual maintainer-clean-local: rm -rf manual "$(srcdir)/manual" manual: $(manual_sources) $(top_srcdir)/configure.ac rm -rf manual $(SPHINX_BUILD) -b html . manual.tmp mv manual.tmp manual manual.pdf: $(manual_sources) $(top_srcdir)/configure.ac $(SPHINX_BUILD) -M latexpdf $(srcdir) manual.latex mv manual.latex/latex/survex.pdf manual.pdf rm -rf manual.latex # The rules below aren't used by the build system - they're for "manual" use # (ho ho) manual.html: $(manual_sources) $(top_srcdir)/configure.ac $(SPHINX_BUILD) -b singlehtml . tmpx # 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: # Tell GNU make to disable its built-in pattern rules. %:: %,v %:: RCS/%,v %:: RCS/% %:: s.% %:: SCCS/s.% survex-1.4.17/doc/sorterr.10000664000175000017500000000370214766657177011206 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "SORTERR" "1" "Mar 20, 2025" "" "Survex" .SH NAME sorterr \- re-sort .err file by various criteria .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 \fBsorterr\fP [\fIOPTIONS\fP] \fIERR_FILE\fP [\fIHOW_MANY\fP] .UNINDENT .UNINDENT .SH DESCRIPTION .sp \fBsorterr\fP re\-sorts a .err file by the specified criterion (or by the error ratio by default). Output is sent to stdout, or if \fB\-\-replace\fP (short option \fB\-r\fP) is specified the input file is replaced with the sorted version. By default all entries in the file are included \- if a second parameter is given then only the top \fBHOW_MANY\fP entries after sorting are returned. .SH OPTIONS .INDENT 0.0 .TP .B \fB\-h\fP, \fB\-\-horizontal\fP sort by horizontal error factor .TP .B \fB\-v\fP, \fB\-\-vertical\fP sort by vertical error factor .TP .B \fB\-p\fP, \fB\-\-percentage\fP sort by percentage error .TP .B \fB\-l\fP, \fB\-\-per\-leg\fP sort by error per leg .TP .B \fB\-r\fP, \fB\-\-replace\fP replace .err file with re\-sorted version .TP .B \fB\-\-help\fP display short help and exit .TP .B \fB\-\-version\fP output version information and exit .UNINDENT .SH SEE ALSO .sp \fBaven\fP(1), \fBcavern\fP(1), \fBdiffpos\fP(1), \fBdump3d\fP(1), \fBextend\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/aven.10000664000175000017500000001574014766657177010444 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "AVEN" "1" "Mar 20, 2025" "" "Survex" .SH NAME aven \- sophisticated cave viewer .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 \fBaven\fP [\-\-survey=\fISURVEY\fP] [\-\-print] \fISURVEY_FILE\fP .UNINDENT .UNINDENT .SH DESCRIPTION .sp Aven displays processed cave surveys in a window and allows you to manipulate the view. .sp If \fBSURVEY_FILE\fP is an unprocessed survey data format which \fBcavern\fP can process, then \fBaven\fP will run \fBcavern\fP on it, and if successful, display the processed data. If there are any warnings and errors, it will show a log window with the output with clickable links to open the affected file at the problematic line. .sp \fBSURVEY_FILE\fP can also be processed survey data \- a Survex \fB\&.3d\fP file, a Compass \fB\&.plt\fP file or a CMAP \fB\&.sht\fP file. It can also be a Survex \fB\&.pos\fP file or a CMP \fB\&.una\fP or \fB\&.adj\fP file, but for these only stations are shown, not any legs (for \fB\&.pos\fP this is because the format only records station positions). (All Survex programs which read \fB\&.3d\fP files can also transparently handle these formats.) .SS On\-Screen Indicators .sp There is an auto\-resizing scale bar along the bottom of the screen which varies in length as you zoom in or out. You can left\-button drag on this to zoom, and right click gives a menu to select units or hide the scale bar (to get it back go to the Control\->Indicators menu from the menu bar). .sp In the lower right corner is a compass indicator showing which way is North. You can drag this to rotate the view; if while dragging you move the mouse outside the compass the view snaps to 45° positions: N/NE/E/SE/S/SW/W/NW. Right click gives menu to change the view to N/S/E/W, select units, or hide the compass (to get it back go to the Control\->Indicators menu from the menu bar). .sp Just to the left of the compass is clino indicator showing the angle of tilt. You can drag this to tilt the view; if while dragging you move the mouse outside the clino the view snaps to 90° positions: plan/elevation/inverted plan. Right click gives menu to change the view to plan/elevation, select units, or hide the clino (to get it back go to the Control\->Indicators menu from the menu bar). .sp In the upper right is a colour key showing the correspondence between colour and depth (by default \- you can also colour by other criteria). Right click gives a menu to choose what to colour by, select units, or hide the colour key (to get it back go to the Control\->Indicators menu from the menu bar). .SS Mouse Control .sp Using the mouse to move the cave will probably feel most natural. We suggest you try each of these out after reading this section to get a feel for how they work. .sp If you hold down the right button then the view is panned when you move the mouse \- it effectively feels like you are dragging the cave around. .sp If you hold down the left button, then the view is rotated as you move left or right, and zoomed as you move up and down. If you hold down \fBCtrl\fP while dragging with the left mouse button, then moving up and down instead tilts the view. Tilt goes 180 degrees from plan view through elevation view to a view from directly below (upside down plan) \- aven deliberately doesn\(aqt allow going beyond horizontal into an inverted view. .sp If your mouse has a middle button then holding it down and moving the mouse up and down tilts the cave. Moving the mouse left and right has no effect. .sp And if you have a scrollwheel, this can be used to zoom in/out. .sp By default the mouse moves the cave, but if you press \fBCtrl\-R\fP, then the mouse will move the viewpoint instead (i.e. everything will go in the opposite direction). Apparently this feels more natural to some people. .SS Keyboard Control .sp As with mouse controls, a little experimentation should give a better understanding of how these work. .sp All keyboard shortcuts have a corresponding menu items which should show the keyboard shortcut \- this provides a way within the application to see the keyboard shortcut for a particular action. .sp \fBDelete\fP is useful if you get lost! It resets the scale, position, and rotation speed, so that the cave returns to the centre of the screen. There are also keyboard controls to use .sp \fBP\fP and \fBL\fP select Plan and eLevation respectively. Changing between plan to elevation is animated to help you see where you are and how things relate. This animation is automatically disabled on slow machines to avoid user frustration. You can force skipping the animation by pressing the key again during it, so a double press will always take you there quickly. .sp \fBSpace\fP toggles on and off automatic rotation about a vertical axis through the current centre point (which is moved by panning the view or by selecting a station or survey). \fBR\fP toggles the direction of auto\-rotation. The speed of auto\-rotation can be controlled by \fBZ\fP and \fBX\fP\&. .sp Crosses and/or labels can be displayed at survey stations. \fBCtrl\-X\fP toggles crosses and \fBCtrl\-N\fP station names. \fBCtrl\-L\fP toggles the display of survey legs and \fBCtrl\-F\fP of surface survey legs. .sp \fBCtrl\-G\fP toggles display of an auto\-sizing grid. .sp \fBCtrl\-B\fP toggles display of a bounding box. .sp \fBO\fP toggles display of non\-overlapping/all names. For a large survey turning on overlapping names will make update rather slow. .sp Holding down \fBShift\fP accelerates all the following movement keys: .sp The cursor keys pan the survey view (like dragging with the right mouse button). .sp \fBCtrl\fP plus cursor keys rotate and tilt (like the mouse left button with \fBCtrl\fP held down). \fBC\fP/\fBV\fP do the same as \fBCtrl\fP plus cursor left/right, while Apostrophe \fB\(aq\fP, and Slash \fB/\fP do the same as \fBCtrl\fP plus cursor up/down. .sp \fB[\fP and \fB]\fP zoom out and in respectively. .SH OPTIONS .INDENT 0.0 .TP .B \fB\-p\fP, \fB\-\-print\fP Load the specified file, open the print dialog to allow printing, then exit. .TP .B \fB\-s\fP, \fB\-\-survey=\fP\fISURVEY\fP Only load the sub\-survey \fISURVEY\fP\&. .TP .B \fB\-\-help\fP display short help and exit .TP .B \fB\-\-version\fP output version information and exit .UNINDENT .SH SEE ALSO .sp \fBcavern\fP(1), \fBdiffpos\fP(1), \fBdump3d\fP(1), \fBextend\fP(1), \fBsorterr\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/AUTHORS.htm0000644000175000017500000000367414563510437011247 Survex Credits

Survex Maintainers

  • Olly Betts
  • Mark Shinwell
  • Wookey

Translation Maintainers

  • Eric Madelaine
  • Gerhard Niklasch
  • Josep Guarro
  • Leandro Dybal Bertoni
  • Roberto Maugeri
  • Martin Sluka
  • Cristian Flueraru

Other Contributors

The following people have contributed code, bug reports, suggestions, documentation, translations, useful information, or assisted in other ways:

Andrew Atkinson, Andrew Boardman, Andy Holtsbery, Andy Waddington, Anthony Day, Bill Purvis, Bob Thrun, Brian Clipstone, Chris Williams, Clewin Griffith, Devon Bowen, Duncan Collis, Earl Merson, Erin Lynch, François Dani, Gavin Lowe, Graham Mullan, Heatheri Sullivan, Iain Miller, James Aylett, James Begley, Jenny Black, Jens Rasch, John Halleck, John Pybus, Julian Todd, Justin Fletcher, Larry Fish, Lev Bishop, Mark Fearon, Martin Budaj, Martin Ellis, Martin Green, Martin Heller, Michel Bovey, Mike Lake, Mike McCombe, Mike Yocum, Patrick Warren, Paul "Footleg" Fretwell, Peter Wilton-Jones, Phil Bull, Phil Holmes, Phil Maynard, Phil Underwood, Philip Balister, Ray Duffy, Rob Garrett, Rob Pollard, Robert Smallshire, Roger Schuster, Sean Kelly, Simeon Warner, Stacho Mudrak, Taco van Ieperen, Thilo Müller, Thomas Holder, Tim Long, Tim Morgan.

And also thanks to everyone in CUCC who has helped give it a good hammering on expedition in Austria every year for the past decade. survex-1.4.17/doc/getstart.rst0000664000175000017500000002203514765126030011765 --------------- Getting Started --------------- This section covers how to obtain the software, and how to unpack and install it, and how to configure it. Obtaining Survex ================ The latest version is available from the `Survex website `__. It is freely redistributable, so you are welcome to get a copy from someone else who has already downloaded it, and you can give copies to others. If you want some sample data to experiment with, you can download some from the Survex website too: https://survex.com/software/sample.tar.gz Installing Survex ================= The details of installation depend greatly on what platform you are using, so there is a separate section below for each platform. Linux ----- Pre-built versions of Survex are available for some Linux distributions. See the `Survex for Linux download page `__ on our website for up-to-date information. You'll need root access to install these prebuilt packages. If you don't have root access you will need to build from source (see the next section). macOS ----- The easiest way to install a recent release of Survex on macOS is by using the Homebrew package manager. If you don't already use Homebrew, you'll need to install it first. See the `macOS download page on the website `__ for installation instructions. Other versions of UNIX ---------------------- For other UNIX versions you'll need to get the source code and compile it on your system. Unpack the sources and read the file called INSTALL in the top level for details about building from source. Microsoft Windows ----------------- This version comes packaged with an installation wizard. Just run the downloaded installer package and it will lead you through the installation process. Since Survex 1.4.9, this pre-built version requires a 64-bit version of Microsoft Windows 7 or later. Survex 1.4.8 and later support installing for all users (which requires administrator rights) or just for the current user (which doesn't). If installed for just the current user, other user accounts won't see the file associations, menu entries, desktop icons, etc for Survex. Note that if you have an existing installation the installer will see it and try to upgrade it, and if that installation was done with administrator rights (which any installation of 1.4.7 or earlier will be) you'll also need administrator rights to upgrade. To change to a non-admin installation you need to first uninstall the existing admin install (which will need admin rights) then install the new version. The survey viewer that's part of Survex is called aven, and uses OpenGL for 3d rendering. If you find that 3D rendering is sometimes very slow (e.g. one user reported very slow performance when running full screen, while running in a window was fine) then try installing the OpenGL driver supplied by the manufacturer of your graphics card rather than the driver Microsoft supply. The installer creates a Survex group in the Programs sub-menu of the Start menu containing the following items: - Aven - Documentation - Uninstall Survex Icons are installed for ``.svx``, ``.3d``, ``.err``, and ``.pos`` files, and also for Compass Plot files (``.plt`` and ``.plf``) (which Survex can read). Double-clicking on a ``.svx`` file loads it for editing. To process it to produce a ``.3d`` file, right click and choose "Process" from the menu - this runs aven to process the ``.svx`` file and automatically load the resultant ``.3d`` file. All the Survex file types can be right clicked on to give a menu of possible actions. ``.svx`` Process Process file with aven to produce ``.3d`` file (and ``.err`` file) ``.3d`` Open Load file into Aven Print Print the file via Aven Extend Produce extended elevation Convert to DXF This entry used to be provided to allow converting to a DXF file (suitable for importing into many CAD packages) but this functionality is now available from inside Aven with the ability to control what is exported, and this entry was dropped in 1.2.35. Convert for hand plotting This entry used to be provided to allow converting to a ``.pos`` file listing all the stations and their coordinates, but this functionality is now available from inside Aven with the ability to control what is exported, and this entry was dropped in 1.2.35. ``.err`` Open Load file into Notepad Sort by Error Sort ``.err`` file by the error in each traverse Sort by Horizontal Error Sort ``.err`` file by the horizontal error in each traverse Sort by Vertical Error Sort ``.err`` file by the vertical error in each traverse Sort by Percentage Error Sort ``.err`` file by the percentage error in each traverse Sort by Error per Leg Sort ``.err`` file by the error per leg in each traverse Configuration ============= Selecting Your Preferred Language --------------------------------- Survex has extensive internationalisation capabilities. The language used for messages from Survex and most of the libraries it uses can be changed. By default this is automatically picked up from the language the operating system is set to use (from "Regional Settings" in Control Panel on Microsoft Windows, from the LANG environment variable on UNIX). If no setting is found, or Survex hasn't been translated into the requested language, UK English is used. However you may want to override the language manually - for example if Survex isn't available in your native language you'll want to choose the supported language you understand best. To do this, you set the ``SURVEXLANG`` environment variable. Here's a list of the codes currently supported: ===== ===================== Code Language ===== ===================== en International English en_US US English bg Bulgarian ca Catalan de German de_CH Swiss German el Greek es Spanish fr French hu Hungarian id Indonesian it Italian pl Polish pt Portuguese pt_BR Brazillian Portuguese ro Romanian ru Russian sk Slovak zh_CN Chinese (Simplified) ===== ===================== Here are examples of how to set this environment variable to give messages in French (language code ``fr``): Microsoft Windows For MS Windows proceed as follows (this description was written from MS Windows 2000, but it should be fairly similar in other versions): Open the Start Menu, navigate to the Settings sub-menu, and open Control Panel. Open System (picture of a computer) and click on the Advanced tab. Choose ``Environmental Variables``, and create a new one: name ``SURVEXLANG``, value ``fr``. Click ``OK`` and the new value should be effective immediately. UNIX - sh/bash ``SURVEXLANG=fr ; export SURVEXLANG`` UNIX - csh/tcsh ``setenv SURVEXLANG fr`` If Survex isn't available in your language, you could help out by providing a translation. The initial translation is likely to be about a day's work; after that translations for new or changed messages are occasionally required. Contact us for details if you're interested. Using Survex ============ Most common tasks can now be accomplished through ``aven`` - processing survey data, viewing the processed data, printing, exporting to other formats, and producing simple extended elevations. A few tasks still require you to use the command line; some functionality which is available via ``aven`` is also available from the command line, which allows it to be scripted. .. FIXME the remainder of this section seems rather redundant with the .. cmdline section that follows. The command line programs that come with Survex are: ``cavern`` Processes survey data. Since Survex 1.2.3 you can process ``.svx`` files by opening them with ``aven``, so you don't need to use ``cavern`` from the command line if you don't want to, but it's still available for users who prefer to work from the command line and for use in scripts. ``diffpos`` Compares the positions of stations in two processed survey data files (``.3d``, ``.pos``, ``.plt``, etc). ``dump3d`` Dumps out a list of the items in a processed survey data file (``.3d``, ``.plt``, etc). ``dump3d`` was originally written for debugging, but can also be useful if you want to access processed survey data from a script. ``extend`` Produces extended elevations - this is probably the most useful of these command line tools. Since Survex 1.2.27 you can produce simple extended elevations from ``aven`` using the "Extended Elevation" function. However the command line tool allows you to specify a spec file to control how the survey is extended, which you can't currently do via ``aven``. ``sorterr`` Reorders a .err file by a specified field. ``survexport`` Provides access to ``aven``'s "Export" functionality from the command line, which can be useful in scripts. Added in Survex 1.2.35. survex-1.4.17/doc/sorterr.rst0000664000175000017500000000210014756732050011624 sorterr ------- ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``sorterr`` [`OPTIONS`] `ERR_FILE` [`HOW_MANY`] ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ ``sorterr`` re-sorts a .err file by the specified criterion (or by the error ratio by default). Output is sent to stdout, or if ``--replace`` (short option ``-r``) is specified the input file is replaced with the sorted version. By default all entries in the file are included - if a second parameter is given then only the top ``HOW_MANY`` entries after sorting are returned. ~~~~~~~ OPTIONS ~~~~~~~ ``-h``, ``--horizontal`` sort by horizontal error factor ``-v``, ``--vertical`` sort by vertical error factor ``-p``, ``--percentage`` sort by percentage error ``-l``, ``--per-leg`` sort by error per leg ``-r``, ``--replace`` replace .err file with re-sorted version ``--help`` display short help and exit ``--version`` output version information and exit .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``cavern``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``survexport``\ (1) survex-1.4.17/doc/aven.rst0000664000175000017500000001375014756732050011072 aven ---- ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``aven`` [--survey=\ `SURVEY`] [--print] `SURVEY_FILE` ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ Aven displays processed cave surveys in a window and allows you to manipulate the view. If ``SURVEY_FILE`` is an unprocessed survey data format which ``cavern`` can process, then ``aven`` will run ``cavern`` on it, and if successful, display the processed data. If there are any warnings and errors, it will show a log window with the output with clickable links to open the affected file at the problematic line. ``SURVEY_FILE`` can also be processed survey data - a Survex ``.3d`` file, a Compass ``.plt`` file or a CMAP ``.sht`` file. It can also be a Survex ``.pos`` file or a CMP ``.una`` or ``.adj`` file, but for these only stations are shown, not any legs (for ``.pos`` this is because the format only records station positions). (All Survex programs which read ``.3d`` files can also transparently handle these formats.) On-Screen Indicators ~~~~~~~~~~~~~~~~~~~~ There is an auto-resizing scale bar along the bottom of the screen which varies in length as you zoom in or out. You can left-button drag on this to zoom, and right click gives a menu to select units or hide the scale bar (to get it back go to the Control->Indicators menu from the menu bar). In the lower right corner is a compass indicator showing which way is North. You can drag this to rotate the view; if while dragging you move the mouse outside the compass the view snaps to 45° positions: N/NE/E/SE/S/SW/W/NW. Right click gives menu to change the view to N/S/E/W, select units, or hide the compass (to get it back go to the Control->Indicators menu from the menu bar). Just to the left of the compass is clino indicator showing the angle of tilt. You can drag this to tilt the view; if while dragging you move the mouse outside the clino the view snaps to 90° positions: plan/elevation/inverted plan. Right click gives menu to change the view to plan/elevation, select units, or hide the clino (to get it back go to the Control->Indicators menu from the menu bar). In the upper right is a colour key showing the correspondence between colour and depth (by default - you can also colour by other criteria). Right click gives a menu to choose what to colour by, select units, or hide the colour key (to get it back go to the Control->Indicators menu from the menu bar). Mouse Control ~~~~~~~~~~~~~ Using the mouse to move the cave will probably feel most natural. We suggest you try each of these out after reading this section to get a feel for how they work. If you hold down the right button then the view is panned when you move the mouse - it effectively feels like you are dragging the cave around. If you hold down the left button, then the view is rotated as you move left or right, and zoomed as you move up and down. If you hold down ``Ctrl`` while dragging with the left mouse button, then moving up and down instead tilts the view. Tilt goes 180 degrees from plan view through elevation view to a view from directly below (upside down plan) - aven deliberately doesn't allow going beyond horizontal into an inverted view. If your mouse has a middle button then holding it down and moving the mouse up and down tilts the cave. Moving the mouse left and right has no effect. And if you have a scrollwheel, this can be used to zoom in/out. By default the mouse moves the cave, but if you press ``Ctrl-R``, then the mouse will move the viewpoint instead (i.e. everything will go in the opposite direction). Apparently this feels more natural to some people. Keyboard Control ~~~~~~~~~~~~~~~~ As with mouse controls, a little experimentation should give a better understanding of how these work. All keyboard shortcuts have a corresponding menu items which should show the keyboard shortcut - this provides a way within the application to see the keyboard shortcut for a particular action. ``Delete`` is useful if you get lost! It resets the scale, position, and rotation speed, so that the cave returns to the centre of the screen. There are also keyboard controls to use ``P`` and ``L`` select Plan and eLevation respectively. Changing between plan to elevation is animated to help you see where you are and how things relate. This animation is automatically disabled on slow machines to avoid user frustration. You can force skipping the animation by pressing the key again during it, so a double press will always take you there quickly. ``Space`` toggles on and off automatic rotation about a vertical axis through the current centre point (which is moved by panning the view or by selecting a station or survey). ``R`` toggles the direction of auto-rotation. The speed of auto-rotation can be controlled by ``Z`` and ``X``. Crosses and/or labels can be displayed at survey stations. ``Ctrl-X`` toggles crosses and ``Ctrl-N`` station names. ``Ctrl-L`` toggles the display of survey legs and ``Ctrl-F`` of surface survey legs. ``Ctrl-G`` toggles display of an auto-sizing grid. ``Ctrl-B`` toggles display of a bounding box. ``O`` toggles display of non-overlapping/all names. For a large survey turning on overlapping names will make update rather slow. Holding down ``Shift`` accelerates all the following movement keys: The cursor keys pan the survey view (like dragging with the right mouse button). ``Ctrl`` plus cursor keys rotate and tilt (like the mouse left button with ``Ctrl`` held down). ``C``/``V`` do the same as ``Ctrl`` plus cursor left/right, while Apostrophe ``'``, and Slash ``/`` do the same as ``Ctrl`` plus cursor up/down. ``[`` and ``]`` zoom out and in respectively. ~~~~~~~ OPTIONS ~~~~~~~ ``-p``, ``--print`` Load the specified file, open the print dialog to allow printing, then exit. ``-s``, ``--survey=``\ `SURVEY` Only load the sub-survey `SURVEY`. ``--help`` display short help and exit ``--version`` output version information and exit .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``cavern``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/dump3d.rst0000664000175000017500000000370514765126030011327 dump3d ------ ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``dump3d`` [--survey=\ `SURVEY`] [--rewind] [--show-dates] [--legs] `INPUT_FILE` ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ Dump out the entries in a processed survey data file - useful for debugging, and also provides a textual format which is fairly easy to parse if you want to write a simple script to pull out information from such files. Don't be mislead by the "3d" in this tool's name - it can be used to dump a file in any format the "img" library can read, so it works with Survex ``.3d`` and ``.pos`` files, Compass ``.plt`` and ``.plf`` files, CMAP ``.sht``, ``.adj`` and ``.una`` files. If you're parsing the output in a script, you may want to use option ``-legs`` so you get a ``LEG`` item for each leg with from and to coordinates instead of each traverse being a ``MOVE`` item followed by a series of ``LINE`` items. The ``--show-dates`` option uses ``.`` as the separator between date components by default (e.g. ``2024.12.01``), but (since Survex 1.4.13) you can specify a different separator. If this separator is ``.`` then ``-`` is used between two dates which form a range, otherwise a space is used. For convenience, ``-D`` is provided as a short-cut for ``--show-dates=-`` which outputs dates in the ISO date format. (The ``--rewind`` option is only provided to allow debugging and testing the ``img_rewind()`` function.) ~~~~~~~ OPTIONS ~~~~~~~ ``-s``, ``--survey=``\ `SURVEY` only load the sub-survey with this prefix ``-r``, ``--rewind`` rewind file and read it a second time ``-d``, ``--show-dates[=SEPARATOR]`` show survey date information (if present) ``-D`` equivalent to --show-dates=- ``-l``, ``--legs`` convert MOVE and LINE into LEG ``--help`` display short help and exit ``--version`` output version information and exit .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``cavern``\ (1), ``diffpos``\ (1), ``extend``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/news2html.pl0000775000175000017500000000132614765126030011661 #!/usr/bin/perl -w require 5.008; use bytes; use strict; # run on a NEWS file my $title = 'Summary of User-Visible Changes'; $title .= " in $ARGV[0]" if defined $ARGV[0]; print < $title END my $inpre = 0; while () { if (/^Changes in ([0-9.a-zA-Z]+)/) { print "\n" if $inpre; print "

";
	$inpre = 1;
    } elsif (!$inpre) {
	print "
";
	$inpre = 1;
    }
    print html($_);
}

print "
\n" if $inpre; print < END sub html { my $t = shift; $t =~ s/&/&/g; $t =~ s//>/g; $t =~ s/"/"/g; return $t; } survex-1.4.17/doc/cavern.10000664000175000017500000002264114766657177010767 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "CAVERN" "1" "Mar 20, 2025" "" "Survex" .SH NAME cavern \- process raw survey data .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 \fBcavern\fP [\fIOPTIONS\fP] \fISURVEY_DATA_FILE\fP\&... .UNINDENT .UNINDENT .SH DESCRIPTION .sp \fBcavern\fP is the Survex data processing engine. .sp \fBcavern\fP is a command line tool, but if you\(aqre not a fan of working from the command line you can open unprocessed survey data files with \fBaven\fP and it will run \fBcavern\fP for you, and if successful, display the processed data. If there are any warnings and errors, \fBaven\fP will show a log window with the output with clickable links to open the affected file at the problematic line. .sp If multiple survey data files are listed on the command line, they are processed in order from left to right. Settings are reset to their defaults before processing each file. .sp Each \fISURVEY_DATA_FILE\fP must be unprocessed survey data in a format which Survex supports, either native format (\fB\&.svx\fP) or Compass format (\fB\&.mak\fP, \fB\&.dat\fP or \fB\&.clp\fP), or Walls format (\fB\&.wpj\fP or \fB\&.srv\fP). .sp Support for Compass \fB\&.clp\fP was added in Survex 1.4.6; support for Walls was added in Survex 1.4.9. .SH OPTIONS .INDENT 0.0 .TP .B \fB\-o\fP, \fB\-\-output=\fP\fIOUTPUT\fP Sets location for output files. .TP .B \fB\-q\fP, \fB\-\-quiet\fP Only show a brief summary (\fB\-\-quiet \-\-quiet\fP or \fB\-qq\fP will display warnings and errors only). .TP .B \fB\-s\fP, \fB\-\-no\-auxiliary\-files\fP do not create .err file. .TP .B \fB\-w\fP, \fB\-\-warnings\-are\-errors\fP turn warnings into errors. .TP .B \fB\-\-log\fP Send screen output to a .log file. .TP .B \fB\-v\fP, \fB\-\-3d\-version=\fP\fI3D_VERSION\fP Specify the 3d file format version to output. By default the latest version is written, but you can override this to produce a 3d file which can be read by software which doesn\(aqt understand the latest 3d file format version. Note that any information which the specified format version didn\(aqt support will be omitted. .TP .B \fB\-\-help\fP display short help and exit .TP .B \fB\-\-version\fP output version information and exit .UNINDENT .SH OUTPUT .sp If there were no errors during processing, cavern produces two output files, with the extensions \fB\&.3d\fP and \fB\&.err\fP (unless \fB\-\-no\-auxiliary\-files\fP is specified in which case only the \fB\&.3d\fP file is produced). .sp These two files are always created with their respective extensions. By default they are created in the current directory, with the same base filename as the first \fISURVEY_DATA_FILE\fP listed on the command line. .sp E.g. if you process the data file \fBentrance.svx\fP with the command \fBcavern entrance\fP or \fBcavern entrance.svx\fP then the files \fBentrance.3d\fP and \fBentrance.err\fP will be created. .sp You can change the directory and/or base filename using the \fB\-\-output\fP command line option. If you specify a directory then output files will go there instead of the current directory, but still use the basename of the first \fISURVEY_DATA_FILE\fP\&. If you specify a filename which is not a directory (note that it doesn\(aqt need to actually exist as a file) then the directory this file is in is used, and also the basename of the filename is used instead of the basename of the first \fISURVEY_DATA_FILE\fP\&. .sp Details of the output files: .INDENT 0.0 .TP .B \fB\&.3d\fP This is a binary file format containing the adjusted survey data and associated meta data. .TP .B \fB\&.err\fP This is a text file which contains statistics about each traverse in the survey which is part of a loop. It includes various statistics for each traverse: .INDENT 7.0 .TP .B Original length This is the measured length of the traverse (for a \(dqnormal\(dq or \(dqdiving\(dq survey this is the sum of the tape readings after applying calibration corrections). .TP .B Number of legs The number of survey legs in the traverse .TP .B Moved How much one end of the traverse moved by relative to the other after loop closure .TP .B Moved per leg \fIMoved\fP / \fINumber of legs\fP .TP .B Percentage error (\fIMoved\fP / \fIOriginal length\fP) as a percentage. This seems to be a popular measure of how good or bad a misclosure is, but it\(aqs a problematic one because a longer traverse will naturally tend to have a lower percentage error so you can\(aqt just compare values between traverses. We recommend using the \fIE\fP, \fIH\fP and \fIV\fP values instead. .TP .B Error (\fIE\fP) This isn\(aqt labelled in the \fI\&.err\fP file but is the value on a line by itself. In \fBaven\fP it\(aqs the value used by \fIColour by Error\fP\&. It is \fIMoved\fP divided by the standard deviation for the traverse based on the standard errors specified for the instruments. This tells us how plausible it is that the misclosure is just due to random errors. It is a number of standard deviations, so the \X'tty: link https://en.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7_rule'\fI\%68\-95\-99.7 rule\fP\X'tty: link' applies \- e.g. approximately 99.7% of traverses should have a value of 3.0 or less (assuming the specified instrument standard deviations are realistic). .TP .B Horizontal Error (\fIH\fP) This is like \fIE\fP but only considers the horizontal component. In \fBaven\fP it\(aqs the value used by \fIColour by Horizontal Error\fP\&. You can identify suspect traverses by looking at \fIE\fP and then compare \fIH\fP and \fIV\fP to see what sort of blunder might explain the misclosure. For example, if \fIH\fP is small but \fIV\fP is large it could be a clino reading or plumb with an incorrect sign, or a tape blunder on a plumbed leg; if \fIH\fP is large but \fIV\fP is small it could be a compass blunder, or a tape blunder of a nearly\-flat leg. .TP .B Vertical Error (\fIV\fP) This is like \fIE\fP but only considers the vertical component. In \fBaven\fP it\(aqs the value used by \fIColour by Vertical Error\fP\&. .UNINDENT .sp This information is now also present in the \fB\&.3d\fP file so you can view the survey coloured by these errors, but the \fB\&.err\fP file can still be useful as you can sort it using \fBsorterr\fP to get a ranked list of the sections of survey with the worst misclosure errors. .UNINDENT .sp Cavern also reports a range of statistics at the end of a successful run: .INDENT 0.0 .IP \(bu 2 The highest and lowest stations and the height difference between them .IP \(bu 2 The East\-West and North\-South ranges, and the Northernmost, Southernmost, Easternmost, and Westernmost stations. .IP \(bu 2 The total length of the survey (before and after adjustment). This total excludes survey legs flagged as \fBSURFACE\fP, \fBDUPLICATE\fP, or \fBSPLAY\fP\&. .IP \(bu 2 The number of stations and legs. Note that a \fB*equate\fP is counted as a leg in this statistic. .IP \(bu 2 The number of each size of node in the network (where size is number of connections to a station) i.e. a one node is the end of a dead\-end traverse, a two\-node is a typical station in the middle of a traverse, a three\-node is a T\-junction etc. .IP \(bu 2 How long the processing took and how much CPU time was used. .UNINDENT .sp If you successfully processed your data by loading it into \fBaven\fP then you can see this log output by using \fBFile\->Show Log\fP (also available as an icon in the toolbar). .SS Error Messages .sp There are many different error messages that you can get when processing data. Along with the error message, a location is reported. For an error like \(dqfile not found\(dq this only reports the filename, but usually it will give the filename and line number of the offending line, and in many cases also an offset or span within the line. .sp The format of the location data follows that used by the GCC compiler so if your text editor can parse errors from GCC then you should be able to set it to allow you to jump to the file and line of each error. .sp One common cause of errors and warnings are typing mistakes. Another is your survey data not being all attached to fixed points (which is a warning since Survex 1.4.10, but was an error prior to this; in this situation, Survex will list at least one station in each piece of survey data which is not connected). .sp We try to make error and warning messages self\-explanatory, but welcome feedback on cases where you get a message which seems unclear. .sp Generally you want to look at the first reported error first as there can be a cascade effect where one error triggers another. Cavern will stop after more than 50 errors. This usually indicates something like the incorrect data order being specified and deluging the user with error messages in such cases usually makes the actual problem less clear. .SH SEE ALSO .sp \fBaven\fP(1), \fBdiffpos\fP(1), \fBdump3d\fP(1), \fBextend\fP(1), \fBsorterr\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/TODO.htm0000664000175000017500000002134014765126030010653 Survex To-Do List

Survex To-Do List

3d format

  • sort out XSECT - I'm sure I meant there to be 1 and 2 byte forms, not 2 and 4 - 4 byte is only useful if a passage dimension is > 327.67m!
  • store equated stations in some way
  • store legs by end stations rather than repeating coordinates over and over?

Aven

  • loading a .3d file with no survey data (or which has a valid header but is broken later) with a survey already loaded doesn't work well.
  • After keyboard controlled movement, the measuring line/circle doesn't reappear until the mouse is moved (e.g. plan/elevation transition with P/L).
  • Fix depth clipping on grid
  • Does anyone use Controls->"Reverse Sense"? It made some sense with caverot but now seeing the mouse pointer makes people expect the default motions (for right button drag particularly).
  • Clean up export.cc and allow line width, etc to be specified
  • Better handling of missing LRUD values
  • Smooth wrinkles in presentation code (stop pres on Open or New, changing focus on listctrl as presentation plays doesn't really work properly)
  • Draw the measuring line directly onto the front buffer, so we can remove it with a copy from the back buffer and redraw it in the new position without a re-render.
  • Process all pending input before rerendering to improve responsiveness.
  • Check timing code - we need to glFinish to ensure it's all drawn, and that may be needed to get meaningful timing info.
  • Allow control of colours in "colour by survey"; allow controlling what level colours are applied at e.g. colour by cave (and more generally by sub-prefix)
  • Implement "Skip blank pages" in aven printing
  • different keyboard layouts mean that some key choices don't make much sense...
  • File->Extended Elevation - provide a way to specify a spec file? Or better a UI to control the extending.
  • Optional lazy label redraw during drags? Or turn on at some redraw time threshold...
  • Some way to view older/newer version of survey
  • Label lengths aren't considered when working out image size when printing so a long label can spill off the edge of the printout
  • print to an image file?
  • grid on printouts
    • grid crosses option (only draw cross at intersections, not a full grid).
    • [(x,y) of a point to go through (easting, northing)
    • x spacing, y spacing (default to x spacing)
    • orientation (bearing of y-axis?) (defaults to 0)]
  • Profile aven further (for both speed and memory usage)
  • by default put crosses on those points with no legs attached (unused fixed points)?
  • label junctions/dead ends?
  • section colouring/selective labelling
  • clipping - want to select a clip sphere (or maybe cube) centred on centre on rotation I think.
  • Some way to display all the names of an equated station (e.g. in pop-up window or the info panel).
  • check on monochrome, 16, and 256 colour displays - especially that depth colouring looks OK
  • Feed back redraw time to key based movement as in caverot? Or perhaps best not to? It depends on whether we expect people to hold down keys or not... Perhaps something smart where the first press is a fixed size, then after that it depends on the redraw?
  • improve .plt export to include less crude survey structure.
  • If multiple methods for drawing crosses and/or blobs pass the visual fidelity check, check which is fastest.
  • Lots of aven things need documenting.
  • Stats reporting in aven - more helpful there than at end of cavern run as user can check at any point and we can report for a subsurvey. NSEWUD-most stations; node stats; count of stations with other than two legs or which are fixed?; flag counts (#fixed stations, #exported stations, etc) with way to see list of all such stations.

Documentation

  • Platform specific versions of docs?
  • Put more terms in terminology in docs ? trip, instrument, ...
  • Finish off manual loose ends.
  • Look at rewording extend.sgml (AndyA comments)

Internationalisation and Localisation

  • Update translations.
  • length units in .err file?

Test Suite

  • test diving data with compass omitted (plumbed)
  • more tests for direction
  • improve 3d torture test and try to automate its use if possible.

Miscellaneous

  • resolve FIXMEs in code
  • diffpos: compare connectivity (i.e legs as well as stations) - e.g.
    foo.1 moved by (0.02, 0.10, -0.06)
    leg between foo.1 and bar.2 removed
    ...
    bar.2 moved by (-0.02, -0.05, 0.03)
    

Cavern

  • This gives "*** Singular!!!" warning with DEBUG_INVALID on:
    1 2 50000 0 -
    1 2 5 0 -30
    
  • Default variance for topofil counter? (currently same as that of tape)
  • Don't split other traverses at articulating traverses when reporting error stats.
  • sort out title which goes in .3d file for this (if no *includes in ... it gets the title of the leafname of this .svx file, otherwise it's the leafnames of the *include-d files, comma-separated):
    *begin mycave
    *title "My Cave"
    ...
    *end mycave
    
  • look at solution by QR factorisation in matrix.c more
  • consider disabling the more expensive asserts - turning them all off speeds up cavern by about 10%.
  • Warn bearings not 3 digits, gradient not <sign><digit><digit>
  • Sort out gross error detection code
  • For warnings such as "Negative adjusted tape reading" report the value of the adjusted tape reading (currently we just highlight the reading as it appears in the Survex file).
  • legs: implied flags: inloop/plumb
  • legs: "dubious" for "tapeless" legs - bearing along continuation...
  • station flags: "important" - e.g. top camp "fixed" point / junction,deadend (implied by order) / articulation pt (know for nodes I think a station is if at least one of its nodes is)
  • Maybe station lists should know how long they are?
  • Articulation point code: ideally the articulation point code should allow further network reductions to happen after splitting at articulation points?

Survex file format

  • *data chamber ...
  • *data nsew ... for pitches (bearings rather than having to be NSEW)
  • Allow angles as deg/min/sec (for theodolite data) (060°10'15" as 060 10 15, or 060.1005 (crap notation))
  • should % after a clino reading work?
  • Fixing a point by triangulation?
  • multiple readings:

    average bearings specially - they don't average like normal numbers

    %age gradients should probably average the same as angle gradients

    Document - works like so:

    *set open {
    *set close }
    *calibrate compass {000.5 001.0 001.25}
    1 2 10.23 {000 001} -02
    2 3 {10.16 10.17} 127 {+06 +05}
    3 4 11.98 007 {+03 +03}
    
    Implement as extension to number format so any suitable numeric value to be repeated?
  • Theodolite + level:
    • delta(bearing (relative to 0 at start)
    • delta(horizontal)
    • delta(vertical) / maybe "clino" instead
  • Theodolite only:
    • delta(bearing (relative to 0 at start)
    • delta(horizontal)
    • infinite sd for z
  • Infinite sds so we can fix in x and y only (or z only)?
  • legs: hydrology - fossil/active/not recorded/static water/underwater (sump) [diving underwater by default? except style can mean altimeter too...]
  • legs: floor type - mud/sand/breakdown/flowstone/etc and can then used LRUD to draw crude survey...
  • Allow valid range for an instrument to be specified. Tie in with *instrument. *units date - ranges for dates - e.g. "1990-" or "jun-aug"...
  • cope with any combination of readings which gives enough info ???
  • leg and station "comments":
    *data passage station left right up down comment
    
    1 1.0 - 50+ 0.5 "large cairn"
    
    2 ...
    
    *data normal station l r u d comment newline tape compass clino
    
    1 1.0 - 50+ 0.5 "large cairn"
    
      10.78 123 -03
    
    2 ...
    
    comment can be omitted "-" or not present if at end of line...? commentall?
  • Allow covariances to be specified in cartesian style?
  • flag legs as "skeletal" or something? (i.e. not in the cave passage) - e.g. a radiolocation leg from one passage to another isn't surface, but it isn't in the cave itself either (it's through rock). You could just call it surface but maybe later we want to use the surface flag to produce points for a surface triangulation...
  • ?outlaw prefixes on stations in data legs (as Todd has lobbied for) and then the prefix of a leg == prefix of each end...?
  • Units in *fix (currently metres)

img library

  • make img more modular (convert to C++?)
survex-1.4.17/doc/conf.py0000664000175000017500000000527014765126030010677 # Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'Survex' copyright = '1998-2025' author = '' # The full version, including alpha/beta/rc tags release = os.environ.get('VERSION', '') # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'alabaster' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = [] # Keep extension compatible with previous docbook manual. html_file_suffix = '.htm' html_copy_source = False highlight_language = 'none' man_pages = [ ('aven', 'aven', 'sophisticated cave viewer', '', 1), ('cavern', 'cavern', 'process raw survey data', '', 1), ('diffpos', 'diffpos', 'compare two processed data files', '', 1), ('dump3d', 'dump3d', 'text dump of processed survey data file', '', 1), ('extend', 'extend', 'produce an extended elevation', '', 1), ('sorterr', 'sorterr', 're-sort .err file by various criteria', '', 1), ('survexport', 'survexport', 'convert a processed survey data file to another format', '', 1), ('survex', 'survex', 'cave surveying software', '', 7), ] rst_prolog = """ .. |PKGDOCDIR_EXPANDED| replace:: *%s* """ % os.environ.get('PKGDOCDIR_EXPANDED', '???') survex-1.4.17/doc/NEWS.htm0000664000175000017500000061275214766657177010725 Summary of User-Visible Changes in Survex 1.4.17
Changes in 1.4.17 (2025-03-20):

* aven: Add support for exaggerating Z.  You can now set a Z scale factor
  from 0.1 to 10.0 via a new widget on the toolbar.  Fixes #49.

* aven: The cavern log window now choses foreground and background colours
  based on the desktop's light mode/dark mode setting.  Previously it
  used the default window background colour but always used black text, which
  made it hard to read with a dark desktop theme.  (The wxWidgets API to detect
  dark mode is new in 3.2, so if built with wxWidgets 3.0 then we assume
  light mode.)

* aven: The station search feature now uses the standard search
  widget on GTK 3.6 or later and on macOS.  There's now a placeholder
  text shown when there's no search to make it clearer what this
  widget is for.

* aven: There's currently a cavern bug where it can fail to identify all
  traverses which are not involved in loop closure, which results in the .3d
  file contains error information for them (unfortunately this seems tricky to
  fully fix).  This error information is always zero, so as a workaround aven
  attempts to detect these so that "colour by error" shows them as "not in
  loop".  This workaround previously only checked for E being zero, but now
  H and V are both also required to be zero.  This should help avoid some very
  low error traverses being incorrectly treated as "not in loop", although in
  practice I've not yet found a real world case where this actually makes a
  difference.

* aven: Fix the output encoding of `aven --help`, `--version`, etc.
  Previously these were always encoded as UTF-8 which is usually right
  on a modern system, but the terminal could be using a different
  encoding.

* aven: Reduce startup overhead a little when the terminal has a UTF-8
  locale (which is now the default on most Linux distros).

* cavern: Fix an "assertion failed" error in some situations when
  equating to a fixed point.  This bug was introduced by changes
  in 1.4.13.  Fixes #143, reported by Juan Corrin.

* cavern: The syntax of *copyright commands is now checked and a warning
  issued for problems.  The information in the command is still not yet used.

* cavern: The syntax of *team commands is now checked and a warning
  issued for problems.  The information in the command is still not yet used.

* cavern: Stop reporting node stats.  These are kind of interesting, but
  with the widespread use of Disto-X and similar devices which can easily
  shoot multiple splay legs from each station means the number of larger order
  nodes has increased and this information is now quite verbose and any utility
  it had has substantially declined.  If these statistics are still wanted then
  they could make a reappearance in the future in aven, with splays excluded
  when counting the number of legs at each station.  Fixes #86, reported by
  Wookey.

* cavern: Fix wrong "unused fixed point" warning with *solve.

* cavern: Fix double counting of stations which are referenced both before and
  after *solve.

* cavern: Suppress loop and component counts if *solve is used.  Our component
  count was often wrong in this case but this looks very hard to fix.  These
  counts are not vital so better to omit than report wrong values.

* cavern: The "Equating two equal fixed points" warning now lists the
  stations on the same order as they are in the `.svx` file which
  seems clearer.

* Speed up reading and writing of .3d files.  The time to read a large .3d file
  and just count the stations and legs was more than halved by this change.

* Simplify handling of errors loading the messages file.  The error
  messages for this case are now stored as separate ASCII strings in
  the executables which reduces the startup overhead a little as we
  no longer need to scan them and potentially reencode them.

* img library: The img struct's filename_opened member was always NULL when
  used outside of Survex (and set but never actually used inside of Survex)
  so it has been removed.  If you are referencing it in your code then instead
  use the filename you passed to img_open_survey() when opening the file.

* Documentation: Add details of warning about future dates in *date.

* Documentation: Added new manual chapter on the img library.

* Documentation: Improve comments document API in img.h.

* Testsuite: Add proper test coverage for `*ref`.

* Merge updates to Russian translation from Vasily Vl. Suhachev.

* Portability: Eliminate unintended use of a C++17 feature (static_assert
  with only one argument).

* Portability: Avoid compiler warnings/errors in getopt code by properly
  declaring getenv().

Changes in 1.4.16 (2025-02-21):

* aven: Improve "Colour by Survey".  Surveys whose names only differ in the
  final character tended to get visually similar colours (often
  indistinguishable), but now should get very different colours.  Reported by
  Eric C. Landgraf and Patrick Warren.

* aven: Add "Find" item to right-click menu on survey tree which triggers a
  search for the survey or station that was right-clicked on which highlights
  with a yellow blob on each station, like double-clicking used to before
  1.2.36.  Requested by Patrick Warren.

* cavern: Fix calculation of convergence which could incorrectly give zero
  with some PROJ versions < 9.3.0.  Unclear exactly which versions are
  affected, but seen with PROJ 8.2 and can't affect PROJ >= 9.3.0.  Reported by
  Eric C. Landgraf.

* cavern: Report approximate true grid convergence range which provides a way
  to assess if the representative location(s) specified by `*declination auto`
  are suitable.  Fixes #141, reported by Eric C. Landgraf

* cavern: Support Compass 'C' shot flag.  In Compass this causes flagged legs
  to not be subject to loop closure.  Survex now sets the SDs of such legs to
  1mm, so flagged legs can still move slightly during loop closure.  Previously
  Survex ignore this flag entirely.

* Document Microsoft Windows version requirements.

* Enable SSE2 by default on 32-bit x86.  Intel CPUs without SSE2 were
  discontinued ~18 years ago so it seems very unlikely anyone is actually still
  using one for Survex.  We keep hitting testcase failures due to excess
  precision from 387 FP instructions, and the time spent adjusting testcases to
  avoid these would be better spent on new features, etc.

* Tighten up charset name parsing a little.

* Merge updates to Russian translation from Vasily Vl. Suhachev.

* Various minor improvements to documentation.

* Various minor improvements to test coverage.

Changes in 1.4.15 (2024-12-24):

* aven: Avoid infinite redraw loop if GDAL gives an error loading geodata to
  overlay.

* aven: Turn off full-screen mode bodges when running on macOS 10.7 or later.
  Fixes #110

* aven/survexport: (Microsoft Windows version): Enable GDAL support so you
  can now overlay geodata (in aven) and export shapefiles.

* cavern: Remove now-bogus assertion which can fire when there's a survey not
  connected to any fixed points (since 1.4.10 made unconnected data a warning
  instead of an error).  Reported by Philip Balister.

* (Microsoft Windows version): Strip debug data from .exe and .dll files which
  reduces the installer size by around 5%.

* Testsuite: Normalise -0.00 in DXF bounds too to avoid possible test failures
  on x86.

Changes in 1.4.14 (2024-12-11):

* aven/survexport: Add support for exporting shapefiles.  This requires GDAL so
  currently isn't enabled in the Microsoft Windows build.  Thanks to Eric C.
  Landgraf for testing.  Fixes #87.

* cavern: If *date with just year is followed by a blank, cavern expects a date
  range and gives an error if another date doesn't follow.  Bug was introduced
  in 1.4.13.

* aven/cavern: Use ′ and ″ for feet and inches.

* Documentation: Add some details on how to handle Toporobot "serie" station
  naming.

* Updates to Bulgarian, Hungarian, Russian and Slovak translations.

* Testsuite: Adjust lollipop testcase to pass on i386 where excess precision
  was changing which station was reported as the southernmost of multiple
  candidate stations).

Changes in 1.4.13 (2024-12-01):

* aven:

  + Don't show crosses on anonymous stations since they just clutter up the
    display (especially for anonymous splays).  Suggested by Andrew Atkinson.

  + Fix 1.4.10 regression in plotting of station names.  Each anonymous station
    was blocking out a small rectangle which no actual station name could
    overlap.  Reported by Špela Borko.

  + Reduced start-up time by only initialising GDAL if we have overlays to
    show.

  + (Microsoft Windows version): Avoid recurring "GDAL support not enabled in
    this build" message box.  This message is now only shown once if you try to
    add an overlay.  Reported by Špela Borko.

* cavern:

  + Update to use v14 of the IGRF model for calculating declinations.
    This was issued in November 2024 and should give slightly more accurate
    declinations for surveys made since 2015.  Fixes #137.

  + The component count was wrong in some cases, and we calculate the number
    of loops using this component count, so the loop count would also be wrong
    by the same amount in these cases.

  + The component count and loop count are now reported when there are
    unconnected survey stations.

  + *date now supports ISO format dates.  Fixes #96, reported by Milosch.

  + *date now supports date types "surveyed" and "explored" (existing usage
    without an explicit type is interpreted as "surveyed").

  + If the output directory isn't writable or doesn't exist we would complain
    that we can't create the .err file - now we try to create the .3d file
    first so complain about that instead which seems more helpful.  Reported by
    Eric C. Landgraf.

  + When inventing a fixed point we now avoid picking a fixed point which is
    only attached to nosurvey legs if there's another option.  The code was
    already meant to do this but it was buggy and we lacked a testcase for this
    situation.

  + Survey network reduction now finds some delta-star opportunities which were
    being overlooked.  This allows more complicated networks to be reduced
    further so fewer and/or smaller matrices need solving, which is faster.

  + Survey network reduction now handles a "lollipop" with a fixed stick end
    specially which is a little bit faster.  A more visible consequence is
    fewer "Solving one equation..." messages when solving a complex survey
    network.

  + Survey network reduction now makes use of articulating legs to split up the
    problem a little more, so we will often now solve more but smaller matrices
    which should be faster.

  + Assigning matrix row numbers now identifies equated stations in a slightly
    more efficient way.

* dump3d: Provide a way to get ISO format dates output.

* Documentation:

  + Improve documentation of *date in the manual.  When a partial date is
    specified (just a year, or a year and month only) the documentation claimed
    the centre of that year or month is used but actually this case is treated
    as a date range covering the whole year or month (respectively).  The end
    result is effectively the same as what was previously documented though
    since the centre of a date range is used as the date for calculating
    automatic declinations and is the date used by aven.

* Test suite:

  + Adjust hpglexport testcase to avoid i386 excess precision causing one of
    the HPGL coordinates to differ by one from its value calculated without
    excess precision.

* Assorted translation updates.

Changes in 1.4.12 (2024-10-23):

* aven:

  + (Microsoft Windows version): Geodata overlays are (hopefully temporarily)
    no longer available in the pre-built version of Survex installed by the
    Microsoft Windows installer.  We use the GDAL library to load them and
    there's a hard to debug problem during DLL initialisation somewhere in its
    dependency tree.  If you really need geodata overlays, the 1.4.9 installer
    still works.  Thanks to Wookey for extensive testing to investigate the
    problem, and to everyone else who reported this.

* cavern:

  + A leg with the same station as from and to is now only a warning in
    Compass data.  Compass itself seems to quietly ignore such legs, but
    they seem worth warning about.  In native Survex data this is still
    an error.

  + Short survey and station names are now stored without an extra memory
    allocation.  On a 64-bit platform (most modern computers) we can store
    name components up to 7 characters in this way; on a 32-bit platform
    up to 3 characters.  On a large dataset which needs large matrices
    solving this reduces cavern's memory usage by 3.5MB (~4.5%).  It's
    also fractionally faster (but only ~0.05% which is not normally even
    measurable).

  + Assigning matrix row numbers to stations is now faster and allocates
    less memory.

* (Microsoft Windows version): The Microsoft Windows installer is now
  named `survex-microsoft-windows-1.4.12.exe`.  The old name was
  `survex-win32-1.4.11.exe` but the "win32" is now misleading as it's been a
  64-bit build since 1.4.9.  Reported by Wookey.

* Testsuite:

  + dump3d.tst: Add tests of img library's survey filtering.

  + cavern.tst: Normalise `-0.00` to `0.00` in JSON test output before
    comparing with expected output.  We can get -0.00 on x86 due to excess
    precision.

* img library:

  + Survey filtering now works correctly for files which use a survey level
    separator other than `.`.  Patch https://github.com/ojwb/survex/pull/14
    from Thomas Holder.

  + Reading a v7 or earlier .3d format extended elevation with survey filtering
    was failing to set is_extended_elevation.

Changes in 1.4.11 (2024-08-14):

* aven:

  + Add imperial scales for export and printing.  Fixes #132, reported by Eric
    C. Landgraf.

* aven/survexport:

  + HPGL export now uses pen 2 for splays and pen 3 for surface legs.  Partly
    addresses #60.

  + HPGL export now supports scaling (previous the scale was always
    1:40000).

  + KML export now distinguishes surface legs and splays using different
    line styles.  Partly addresses #60.

  + Remove Skencil export support.  The last release of Skencil was in 2005.
    There was an attempt to revive the project in 2010, but that didn't lead to
    another release and seems to have petered out.  No current Linux distro (or
    other package system) seems to have Skencil packages, and the current git
    version still appears to require Python 2 which is being phased out.

* cavern:

  + Support `*data ignore` to allow ignoring a block of survey data lines.
    Closes #114, reported by Alastair Gott.

  + Report error for bad final reading in `*data` command (previously such a
    bad reading was quietly ignored).

  + If the survey in `*end` doesn't match that in `*begin` the location of
    that `*begin` is now reported as well - the second message here is new
    for example:

     badbegin.svx:6:8: error: Survey name doesn't match BEGIN
      *end   bar
             ^~~
     badbegin.svx:4:13: info: Corresponding BEGIN was here
      *begin      foo
                  ^~~

  + Now shows a context line for a reading which was on the previous line,
    which can happen for interleaved data styles.

  + Warn when a token is not followed by a blank, comment or end of line.
    This is an unintentional tokenisation oddity which has been present
    for a really long time.  We don't want to break files that rely on this
    (even if they likely only do accidentally) so emit a warning rather than
    an error.

    This warning can easily be eliminated by adding a space where indicated,
    which will work with old and new Survex versions.  Fixes #135.

  + Errors and warnings which report an unexpected token now report a
    contiguous span of letters and numbers rather than just letters in cases
    where a number can't follow (which is the majority of cases).

  + If `*require` isn't satisfied, the `*require` line is now shown for
    context (especially helpful if there's a comment after the command noting
    the reason for the requirement, as we now suggest in the manual).

  + `*require` version parsing improved - spaces are no longer tolerated in
    a version number and trailing junk after the version number is now
    handled more consistently.

  + Fixed several situations in which the highlighting of the context for a
    diagnostic was off by a small number of columns.

  + Optimise building of matrix during network solving.

  + Enhancements and fixes to reading Walls WPJ and SRV files:

    - After reporting an error for an unsupported datum, we now set the datum
      to WGS84 to prevent triggering further errors from code which tries to
      use the datum.

    - Parse Walls WPJ commands as alphanumeric rather than alphabetic tokens,
      which better matches how Walls parses them.  This only makes a difference
      in the error message when we don't recognise a WPJ command.

* Documentation:

  + Note `feet` are international feet and how to select a different
    definition in `*units` docs.

  + Document `grads` are also known as "neugrads" and "gons" in `*units` docs.

* Assorted translation updates.

* testsuite:

  + Fix bug in normalisation of `-0.00` to `0.00` in DXF output before
    comparing with expected output.

* Update and improve vim syntax highlighting:

  + `*cartesian` added

  + `*data ignore` added

  + `mils` units now highlighted as deprecated

  + `UP` and `DOWN` are no longer highlighted anywhere in a command

  + `U`, `D`, `LEVEL`, `-V`, `+V`, `.`, `..` and `...` now highlighted in data
    lines

  + Repeated `NOT` in `*flags` is now highlighted as an error

  + Fix error highlighting for unquoted `*include` to not flag an error just
    because there's a comment after the filename

  + Fix error highlighting for unquoted `*include` to work when there's
    whitespace between `*` and `include`

Changes in 1.4.10 (2024-08-05):

* aven:

  + Use a fixed rotation rate for rotating the view to North, South, East or
    West (shortcut keys `N`, `S`, `E` and `W`).  We were using the same
    variable rate which auto-rotation does for this case, but really these are
    just animations to help the user see the change that's happening, so a
    fixed rate makes more sense (and is what tilting to plan or elevation
    does).  The new fixed rotation rate for this is double what the default
    variable rate was, which means the longest rotation (e.g. from S to N)
    takes 3 seconds rather than 6.

* aven/survexport:

  + Fix syntax of shot flags in PLT export (incorrect since introduced in
    1.4.6).

  + Map Survex duplicate flag to `L` shot flag in PLT export.

  + Invent shorter names for anonymous stations in PLT export.  The PLT file
    format documentation says station names can be up to 12 characters, but the
    ones we generated were longer than this which is liable to trip up
    consumers of this format that only allow for the specified length.
    We now generate names using a sequential counter with a two character
    prefix so they should fit in the 12 character limit for any cave
    survey.

  + 3D export now includes all leg and station flags.

* cavern:

  + Unconnected survey stations are now handled as a warning, whereas
    previously this was an error.  This is necessary when processing Walls data
    where it seems having hanging surveys is the norm, and Walls itself only
    warns about them.

    The support is also enabled for native Survex data since it allows viewing
    the connected parts of a survey with missing connections without having to
    comment out the unconnected parts (and then remember to fully uncomment
    once connections are surveyed).  Fixes #16, reported by Duncan Collis.

    Currently the component count and loop count are not shown in this case.

  + Avoid multiple reports of an unconnected survey station.  This could happen
    in some cases where a group of equated stations had more than four legs
    connected to it.

  + Fix missing report of unconnected survey station.  We aim to report at
    least one station in every unconnected piece of survey, but if a piece had
    been simplified to a single station which was anonymous (e.g. a disto splay
    shot) then we wouldn't report anything for that piece.  Now we find the
    traverse that was attached to it and report the next station along that
    traverse.

  + Report file and line location each unconnected survey station.

  + This warning now says either `*entrance` or `*export` depending on which
    it actually was:

      Station "bar.1" referred to by *entrance or *export but never used

  + Fix several cases of mishandling comments without blanks before them:

    - After an anonymous station.

    - After an ignored reading.  The `ignore` would incorrectly also skip the
      comment character and any characters which followed up to the next blank
      or end of line.

    - In a `*alias` command.

    - Diagnostic highlighting could continue into a comment.

  + New `*cartesian` command which supports different orientations of
    `cartesian` style data.

  + Anonymous stations are now supported in `cartesian` style data.

  + `*fix a reference` (without any coordinates) is now an error.  The
    `reference` token provides a way to have a list of known fixed points which
    are not expected to all be currently used, while omitting the coordinates
    provides a way to specify a point to arbitrarily fix rather than rely on
    cavern picking one.  Allowing both together doesn't really make sense.

  + Improve check for 180° backclino to suppress the warning about a compass
    reading on a plumbed leg (introduced in 1.4.8) to allow a small tolerance
    on the value.  Previously the check wasn't working on x86 Linux for
    example.

  + When showing a line as the location of a diagnostic we now render any
    tab character as a single space which means the `^~~~~` highlight length
    is now correct even when the highlighted part contains tabs.  This only
    affects use from a terminal as the highlight was already correctly handled
    when viewing the log in aven.

  + Enhancements and fixes to reading Walls WPJ and SRV files (thanks to Eric
    C. Landgraf and Joe for a lot of great feedback from testing with large
    datasets):

    - The `RECT=` option is now fully supported.

    - Fix `#DATE` with an active `.REF` to act like `DECL=`.  This matches what
      the documentation says and what Walls seems to actually do.

    - Allow completely omitting the clino on a wall shot (with `ORDER=DAV` or
      `ORDER=ADV`).

    - Resolve WPJ `.PATH` relative to innermost containing book.

    - Handle an empty Walls station name.  Walls allows a station with an
      explicit prefix to have an empty name, e.g. `PEP:`.  The Walls
      documentation doesn't mention this, though it also doesn't explicitly say
      the name can't be empty.  This quirk seems unlikely to be intentionally
      used and Survex doesn't allow an empty station name, so we issue a
      warning and use the name `empty name` (which has a space in, so can't
      collide with a real Walls station name which can't contain a space) - so
      `PEP:` in Walls becomes `PEP.empty name` in Survex.

    - Flag stations with explicit Walls prefix as exported.

    - Fix setting empty Walls macro with a comment right after it.

    - Walls quietly ignores junk after the numeric argument in `TYPEAB=`,
      `TYPEVB=`, `UV=`, `UVH=`, and `UVV=`.  This seems to be an undocumented
      feature/bug so Survex emits a warning and skips the junk.

    - After an unknown Walls option we now process the rest of the line.
      Previously we were skipping the rest of the line.

    - We no longer skip the rest of the line after a bad Walls `ORDER=` option.

    - Correct the reported column for some Walls option diagnostics.

    - Support explicit units on Walls clino readings.

    - Allow `#` in Walls station names.  This is explicitly documented as not
      allowed, but the documentation doesn't match the implementation and `#`
      is present in some real-world data.

    - Improve handling of Walls `RESTORE` error.  Highlight the position in the
      line and don't skip the rest of the line.

    - Don't warn about `INCH=` with a zero argument since that's the one case
      of it we do handle!

    - Fix not to skip the rest of the line after Walls `INCH=` option.
      We currently don't support `INCH=` so we warn about it, but we were
      skipping the rest of the line, then trying to read and discard the
      argument to `INCH=` which gave an error.

    - Relax handling of Walls `CASE=`.  It's not documented, but Walls32.exe
      quietly treats unknown values as "Mixed".

    - Support DM and DMS format for latitude and longitude in Walls `#FIX`,
      e.g. `W97:43.875` and `W97:43:52.5` .

    - Treat a zero length leg with finite variance like a Survex `*equate`.

    - Apply Walls variance overrides to survey legs.

    - The optional instrument and target heights are now parsed, but their
      values are currently ignored.

    - The delimiters around LRUD data are now parsed, but the LRUD data between
      them is currently ignored.

    - If a `#SEGMENT` value looks like a set of Compass shot flags (i.e.
      consists only of upper case characters from `CLPSX`, optionally prefixed
      with a `/` or `\`) then we interpret them as Compass shot flags (except
      that `X` is mapped the same way as `L`).  This is apparently a common way
      to use `#SEGMENT`, and unlikely to be triggered accidentally.

    - Avoid a doubled directory separator when building Walls path names.

* documentation:

  + The manual has been converted from DocBook to reStructured Text.  The
    plain-text format is much easier for making changes, and for users the
    output from sphinx looks nicer and has extra features (like built-in
    "Quick search" in the HTML output).

    The plain text version of the manual is no longer generated.  Sphinx can
    produce one but the .rst sources actually seem more readable for anyone
    wanting to read the manual in plain text.

    The extra targets to generate the manual in RTF and PostScript
    have been dropped as I doubt they are still used (we stopped
    providing them on the website years ago).  They could probably be
    reinstated if there's a demand for them.

    The conversion was partly automated followed by a full pass over the
    result fixing issues with the automated conversion.  We took the
    opportunity to also review the content and update or remove out of
    date and other incorrect information, and to reorder some of the content.

  + Document all the statistics in the `.err` file

  + Document PLT export.

  + Minor improvements to --help output

  + The HTML version of the 1.4.9 manual was missing the Walls chapter
    and had messed up paging links around it (due to the new CMAP chapter
    accidentally also being given the filename `walls.htm`).  Reported by Eric
    C. Landgraf.

  + Document we don't enforce Walls' station or prefix length limits.

  + Document handling of Walls `#NOTE`.

  + Fix documentation of Walls `FLAG=` which is correctly handled, not skipped.

  + Document how to compare Walls and Survex output via Shapefile.

  + Document how to suppress unused fixed point warning in Walls SRV.

* testsuite:

  + Add testcase for Walls `#units order=da`.

  + Add expected output for more testcases

  + Add testcase for exporting .3d files.

  + Normalise `-0.00` to `0.00` in DXF output before comparing to avoid bogus
    test failures due to excess precision on x86 when using 387 FP
    instructions.

  + Add test of DXF export with full coordinates.

* translations:

  + Diagnostics can now use positional arguments which sometimes allows a
    more natural word order in a translated message.

Changes in 1.4.9 (2024-07-04):

* aven:

  + Support showing geodata overlays in Aven.  We use the GDAL library to load
    the data, so this should work for any format which GDAL supports so long as
    it can be read from the filing system and is geo-referenced vector data -
    see https://gdal.org/drivers/vector/index.html for a list.  Currently the
    dialog to select a file defaults to showing GPX, KML, GeoJSON and shape
    files - set the filter to "All Files" to chose other formats.

  + Reimplement display of cavern output.  The old version turned the log into
    HTML and displayed it using wxHtmlWindow, but that adds a lot of overhead
    and is especially inefficient if there are many diagnostics - cavern could
    finish almost instantly yet aven could take many seconds to process the
    output.  The new version renders directly from the log data.  It should
    have most of the features from before - the only missing feature I'm
    currently aware of is that you can't now select and copy text from the log
    window, which wxHtmlWindow provided for free.  If people miss this feature,
    we could add it to the new implementation.

  + (Microsoft Windows version): Clicks in the cavern log window which load
    files into an editor now protect the filename if it starts with a dash
    to prevent it being interpreted as a command line option.  We already
    do this for other platforms, but weren't on Microsoft Windows on the
    assumption that it isn't needed because the filenames will be fully
    qualified, but that may not be the case if aven if run by hand from the
    command line or from some other launcher.

* cavern:

  + Add support for processing Walls format survey data (.SRV and .WPJ files).
    This support is somewhat experimental but at a point where it seems useful
    to make it easier for people to try out.  See the manual for a list of
    known shortcomings.  Thanks to Eric C. Landgraf for a lot of testing and
    encouragement.

  + Fix bug with Compass DAT diving data.  If a survey uses the depth gauge
    then since 1.4.6 we set its style to "diving", but we weren't clearing that
    so all surveys after that in the same DAT file were also set as "diving".

  + When parsing of Compass DAT files we report errors in more cases if the
    input doesn't conform to the format we expect, rather than potentially
    quietly misinterpreting the data.

  + *entrance now suppresses "Unused fixed point" warning.  This warning is
    intended to catch typos, which is much less likely for a station named
    twice.  It's also reasonable to use only *fix and *entrance on a station at
    the entrance of an unsurveyed cave.

  + Highlight plumbed clino readings fully in diagnostics.  Now the full reading
    is highlighted instead of just the first character.

  + Report location of previous fix after "already fixed" error/warning.

  + Use "info" diagnostic category for "Originally entered here" message.  This
    is more logical as the original *begin isn't something to be warned about,
    only the reentering is.  This was only a warning before because we didn't
    used to have "info" diagnostics.

  + Use "info" diagnostic category for message about not reporting further
    uses of a deprecated feature.  Previously this was a warning, but the newer
    "info" category is more appropriate here.

  + The message about inventing a fixed point is now an "info" diagnostic which
    allows us to report a location which is where that station is defined,
    which may be useful to the user.

  + Make highlighting position in error reporting more robust.  We no longer
    try to highIight if we calculate a negative column offset, when previously
    we would print billions of spaces.  As far as I know this has never
    happened in a released version.

  + Error messages which report the program name now remove any ".exe" suffix.
    This helps the testsuite by making the expected output the same
    cross-platform, but also seems slightly nicer for users.

* dump3d:

  + The timestamp reported by DATE_NUMERIC is now printed portably.  Previously
    we were assuming that a time_t is the same size as a long int, which is not
    true on all platforms.

* manual:

  + (Microsoft Windows version): Update information about installation
    with/without admin rights.

  + Summarise support for reading CMAP data and its assumptions and
    limitations.

  + Mention Compass, Walls and CMAP support in the importing data howto
    section.

  + Drop mention of Rosetta Stal from the manual.  The referred to link from
    our website was removed in 2015 because Rosetta Stal hadn't been updated
    for 13.5 years at that point.  Now the domain it was available from has
    lapsed and is a domain squatter "for sale" page.

* img library:

  + The coordinates in CMAP data are in feet but we were dividing rather
    than multiplying by the conversion factor to get metres so all
    coordinates were about 10.76 times too large.

  + Stations in CMAP "station" variant XYZ files are now flagged as
    underground (as they always have been for "shot" variant XYZ files).

  + When reading CMAP XYZ files, we no longer emit duplicate img_LABEL for
    stations in loops.

  + A CMAP XYZ file without a survey title is now handled correctly (this was
    reporting a bogus "Out of memory" error).

  + The img.h header now defines constants IMG_VERSION_SURVEX_POS, etc for the
    values reported in the version field for non-.3d formats.

  + (Microsoft Windows version): Workaround limitation of Microsoft's C
    library so we handle dates before 1970 in Compass PLT files, CMAP XYZ
    files, and older format .3d files.  Previously these were reported
    as "unknown date".

* We now support overriding the location of support files by setting the
  SURVEXLIB environment variable.  We no longer look at the srcdir
  environment variable for this.

* (Microsoft Windows version): The installer is now created automatically
  on Github actions, which has required a few changes.  It now packages a
  64-bit build, and is created with Innosetup 6.3.2 which no longer supports
  Vista.  The installer is also now significantly larger, which is mostly
  because we now need to include a large number of DLLs, most of which are
  dependencies of the mingw64 FFmpeg and GDAL packages.

* (Microsoft Windows version): If the directory where we expect the PROJ
  support files to be does not exist for some reason we now avoid triggering
  a segmentation fault in PROJ.

* Build system:

  + The GDAL library is now required to build Survex.

  + (Microsoft Windows version): The probe for GL and GLU libraries now also
    checks for Microsoft's non-standard library names.

  + Correct configure --help output for --enable-werror for which the default
    is actually "no" rather than "maintainer-mode".

* testsuite:

  + aven.tst: Skip a testcase when running on mingw as it seems to hang there.
    We already skip this testcase on macos for what appears to be the same
    problem.

  + Fix comparison of output to work on platforms using DOS line endings.

Changes in 1.4.8 (2024-04-23):

* cavern:

  + The warning for a compass reading on a plumbed leg was already suppressed
    for a compass or backcompass reading of 0, but is now also suppressed for a
    backcompass of 180° (or equivalent) which seems to be common in some Compass
    datasets, but also seems sensible generally.  Thanks to Simeon Warner for
    sharing some data which triggered such warnings.

  + The error for when a survey and station use the same name is now also
    emitted in the case where a name was used first for a station, and then as
    a survey on an explicitly prefixed name.  Closes
    https://github.com/ojwb/survex/pull/4, reported by Thomas Holder.

  + The error for when a survey and station use the same name now highlights
    the problematic name within the line shown for context.

  + Fix the reported token string reported by some errors with readings.  This
    happened to work on at least x86-64 Linux, but the code was invalid and
    failed on some architectures.

* Fix to build with newer FFmpeg versions.

* (Microsoft Windows version): The installer now offers the choice to install
  for just the current user, which allows installing Survex without admin
  rights.

* (Microsoft Windows version): Fix problems with valid coordinate systems being
  rejected and aven's cavern log window not showing output.  Reported by
  Peter Mašič, Špela Borko, Răzvan Dumbravă and detrito.  Thanks especially to
  Špela Borko for a lot of testing to help track down the cause.

Changes in 1.4.7 (2024-04-07):

* cavern:

  + When using *declination auto we report the range of calculated declinations
    for each location specified.  After doing this we now reset the range
    information we're tracking.  Previously we'd misreport the range for
    the second and subsequent locations.

  + Avoid undefined behaviour on handling filename fallback for filenames
    containing non-ASCII characters.

  + Show context line with relevant item highlighted for more errors and
    warnings.

  + The dynamic string handling routines are now more efficient.

  + Fix memory leak if a Compass MAK file opens folders it doesn't close.

  + Fix handling of clino-less legs in Compass DAT.  These would cause cavern
    to fail with a lot of "NaN" messages.  Now they're treated as having a zero
    clino with a standard deviation based on the leg length, just like in .svx
    files.

* img library:

  + Compass PLT: Treat LRUD readings > 900 as omitted readings, which matches
    what Compass does.  Thanks to Larry Fish for clarifying this.

  + Avoid undefined behaviour after realloc().  We were adjusting a pointer
    within the reallocated block by subtracting the old block address and
    adding on the new one.  Technically this is undefined behaviour, although
    in practice it seems likely it'll work and we've not seen misbehaviour due
    to it.  However it's easy to avoid by calculating the offset before the
    realloc().

* Portability:

  + Provide prototype for getopt() to avoid warnings with very recent compiler
    versions.

  + Avoid using sprintf(), which now triggers warnings on some platforms.

* Build system:

  + Add configure --enable-werror option to turn compiler warnings into errors.

* Manual:

  + Expand details of Compass MAK CRS support.

  + Replace very out of date information about binary RPM packages.

* Minor translation updates.

* (Microsoft Windows version): Now uses PROJ 9.3.0 and ships all of the
  ancillary files that PROJ comes with.  Hoping this fixes use of coordinate
  system EPSG:3912 failing, which was reported by Peter Mašič but I've not
  managed to reproduce.

Changes in 1.4.6 (2024-03-07):

* cavern:

  + Workaround bug in PROJ < 9.3.0 with projected coordinate systems with
    northing/easting axis order (such as EPSG:3042) which results in the grid
    convergence being wrong by about 90°.  Reported by Patrick Warren on the
    mailing list.

  + If *declination auto was used before *cs out we would incorrectly calculate
    the grid convergence as 0.  We now handle this case correctly by
    calculating lazily when we first read a compass reading, and report an
    error if the output coordinate system hasn't been set by then.

  + When opening a file, cavern has fallback handling if the file isn't found
    to help people processing datasets from platforms with case-insensitive
    file systems.  Previously cavern would fold the filename to lowercase and
    retry.  Now if this fails, it will also try the lower case version but
    with the initial character of the leaf in upper case, and finally folding
    the whole specified filename to upper case.

  + Dynamically pick a suitable level separator character and store it in .3d
    file, instead of it being hard-coded to '.' (we still use '.' unless it
    has been *set as a "name" character, or for Compass DAT/MAK files unless it
    has been used in a station name).  This is a step towards addressing the
    situations raised by Thomas Holder in https://github.com/ojwb/survex/pull/4
    and https://github.com/ojwb/survex/pull/5 .

  + Compass DAT files:

    - The shot flag S is now understood to indicate a splay.

    - The shot flag P is now interpreted as marking surface data.  This flag
      is described as "Exclude this shot from plotting", but the use suggested
      in the Compass docs is for surface data, and legs flagged with it "[do]
      not support passage modeling".  Even if it's actually being used for a
      different purpose, Survex programs don't show surface legs by default so
      the end effect is at least to not plot as intended.

    - Surveys which indicate a depth gauge was used for azimuth readings are
      now marked as STYLE_DIVING in the 3d file.

    - Compass and clino corrections are now implemented for backsights.

    - The tape correction in Compass DAT files is now handled correctly.  The
      specified value is in feet, but cavern was incorrectly treating it as
      being in metres.

    - We now handle the newer 15 character "FORMAT:" encoding.  Previously
      cavern wouldn't detect when there were backsights in this case.

    - We now treat survey date January 1st 1901 as "no date specified" since
      this is the date Compass stores in this situation, and it seems very
      unlikely to occur in real data.

    - In Compass DAT files a dummy zero-length leg from a station to itself is
      used to provide a place to specify LRUD for the start or end of a
      traverse (depending if dimensions are measured at the from or to
      station), and so we no longer issue a warning about equating a station to
      itself for DAT files.

  + Compass MAK files:

    - The base location command is now understood.  This is how Compass
      specifies a location to calculate magnetic declination at, and we
      now handle this like Survex's native "*declination auto X Y Z".

    - Survex uses the specified UTM zone and datum provided the combination can
      be expressed as an EPSG code (lack of any EPSG codes for a datum suggests
      it's obsolete; lack of a code for a particular datum+zone combination
      suggests the zone is outside of the defined area of use of the datum).
      Example Compass files we've seen use "North American 1927" outside of
      where it's defined for use, presumably because some users fail to change
      the datum from Compass' default.  To enable reading such files we return
      a PROJ4 string of the form "+proj=utm ..." for "North American 1927" and
      "North American 1983" for UTM zones which don't have an EPSG code.
      Please let us know if support for additional cases which aren't currently
      supported would be useful to you.

    - Folder commands are now understood.

    - Flag fixed stations as entrances.  Experimentation with Compass shows
      this is how it treats them ("distance from entrance" in a .DAT file
      counts from 0 at these points).

  + We now support reading Compass CLP files.  These are very like DAT files,
    except they contain loop-closed data.  You might find this useful if you
    want to keep existing stations at the same adjusted positions Compass gave
    (for example to be able to draw extensions on an existing drawn-up survey),
    or if the original DAT file has been lost but you still have the CLP file.

* aven:

  + Fix OpenGL scaling on high DPI displays with wxWidgets 3.0. Reported by
    Philip Balister.

  + Split the filters for DAT and MAK files in the File->Open drop down list.
    It seems more likely you'd want to see one type or the other, not both
    together.

* aven/survexport:

  + Fix survey filtering when reading Compass PLT files.

  + .json,.kml: Enable export of surface legs.  Currently surface and
    underground legs aren't differentiated in these export formats when both
    are enabled.

  + .3d: The coordinate system is now set.

  + .svg: Equated stations now get their correct names in the id attribute
    of <circle> tags.  Previously one of the names would be repeated for
    all of a set of equated stations.

  + .plt:

    - Anonymous stations previously resulted in an empty name in the PLT
      file.  This isn't explicitly disallowed by the PLT format description,
      but Compass' viewer gives an error for such lines.  Now we invent names
      by encoding the station coordinates which should be unique.

    - The S shot flag is now set for splays, and the P shot flag (hide from
      plotting) is set for surface legs (which matches the use suggested in the
      Compass docs).

* img library:

  + Fix bug handling timestamps before 1970.  In C signed integer division
    rounds towards zero, which previously resulted in timestamps before 1970
    getting rounded to the end of the day instead of the start when converting
    them to a count of days so they'd be off by one day unless the time was
    midnight.  This affected reading v3-v7 format 3d files with IMG_API_VERSION
    set to 1 and writing v8 format 3d files with IMG_API_VERSION set to 0 (the
    default).

  + Improve Compass PLT support (many of these are Compass features added
    since Survex's support for Compass was originally added):

    - Survey dates are now handled fully.  We treat survey date January 1st
      1901 as "no date specified" since this is the date Compass stores in this
      situation, and it seems very unlikely to occur in real data.

    - LRUD data is now translated to img_XSECT and img_XSECT_END.

    - We now infer img_SFLAG_ENTRANCE for stations where the "Distance From
      Entrance" field is present and zero.

    - The shot flag L is now translated to img_FLAG_DUPLICATE.

    - The shot flag S is now translated to img_FLAG_SPLAY.  A station at the
      far end of a shot flagged S gets img_SFLAG_WALL set since the Compass PLT
      format specification says:

	  The shot is a "splay" shot, which is a shot from a station to the
	  wall to define the passage shape.

    - The shot flag P is now interpreted as marking surface data.  This flag
      is described as "Exclude this shot from plotting", but the use suggested
      in the Compass docs is for surface data, and legs flagged with it "[do]
      not support passage modeling".  Even if it's actually being used for a
      different purpose, Survex programs don't show surface legs by default so
      the end effect is at least to not plot as intended.

    - The d plot command is now supported (previously img failed to parse
      PLT files using this command) - it's like D but implies the P shot flag.

    - If a PLT file only uses one datum and it is "WGS 1984" then the UTM zone
      is converted to the appropriate EPSG code and this is reported as the
      coordinate system.  Other datums could be handled, but the mapping to
      EPSG code is less simple.  Also it seems Compass supports at least
      24 datums but it doesn't document all the strings it uses for them.
      Files with multiple datums could be handled too, but we'd need to convert
      coordinates to a common coordinate system in the img library, which would
      need it to depend on PROJ.  Please let us know if support for more and/or
      mixed datums would be useful to you.

    - Duplicate img_LABEL items are no longer returned - this used to happen
      for stations where more than two shots met within a single survey.

    - We now infer img_SFLAG_EXPORTED for any station that appears in more
      than one survey in the PLT file.

    - We now set flag img_SFLAG_FIXED for any station which is listed as
      a fixed point in the PLT file.

    - If there's only one non-empty section name in a PLT file and we aren't
      filtering by survey, we now report that section name as the title.  If
      there are multiple different non-empty section names, we still report the
      basename of the file as before.  If we're filtering by survey, we report
      the comment for that survey as before.

    - Fix bug handling PLT with omitted LRUD.  The format specification
      documents that LRUD may be omitted, though it seems Compass never
      actually omits it and at least some versions of Compass failed to handle
      it being omitted too.

* (Microsoft Windows version): Now using wxWidgets 3.2.4 (was 3.1.6).

* manual:

  + Document Compass support in detail.

  + Improve NATO mils example.

* INSTALL:

  + Add a link to the instructions for building from git.  Reported by Andrew
    Northall in https://github.com/ojwb/survex/pull/13

  + Document the requirement for a C99 compiler for building from source.
    We made this a requirement in 1.4.2, but only noted it in NEWS.

* doc/TODO.htm: Update.

* Replace references to "libav" with "FFmpeg" since the libav project seems to
  now be defunct, and we've always supported using either.

* Update build system to eliminate use of obsolete autotools macros and drop
  probes for features that we can safely assume now we require a C99 compiler
  and workarounds for obsolete platforms.

* Fix compilation warnings from newer compiler versions.

Changes in 1.4.5 (2023-06-29):

* aven: Fix rendering of crosses when drawn as sprites.  Reported by echarlie.

* (macOS version): aven: Fix crash in export dialog.  Fixes #133, reported by
  rixyane.  Thanks to Wookey for testing.

* manual: Expand docs on connecting to Compass data.

* Minor translation updates.

Changes in 1.4.4 (2023-02-03):

* aven: Fix red line in clino background to be grey (this was introduced in
  1.4.3 and was a debugging change accidentally left in).

* aven: Accept weird .3d files from Therion which have empty components in
  station names.  That's not really valid by Survex's definition of station
  names, but it's not very helpful to reject such files, so just disable the
  checks that were rejecting this.

  The result is empty entries in the survey tree, but I don't see what we can
  really do that's better than that.

  Reported by Vasily Vl. Suhachev.

* aven: Make it more obvious you can enter a custom scale by adding a "..."
  entry to the scale combobox - selecting this clears the value and gives focus
  to the combo box text entry. This control has always supported clicking to
  enter a custom scale, but there wasn't really any indication that this was
  possible before.  Partly addresses #132, reported by Eric C. Landgraf.

* aven: Force export window to resize when the export format is changed as
  different controls are shown depending on the export format.

* aven: Right-align tilt spin control value in print/export dialog to match the
  bearing spin control.

* aven,survexport: Add ability to export as Survex 3d which is useful as you
  can filter to a subset of surveys, filter out splays, convert from other
  formats the img library can read, etc.  This feature is a bit rough and ready
  currently but please report issues.

* dump3d: Add --legs option which converts MOVE and LINE to a single LEG line
  per leg with the from and to coordinates.  Tools which parse dump3d output
  should find this easier to process as it avoids having to track a "current
  position".

* Update manual to have a complete list of quantities which *calibrate accepts.
  Reported by echarlie

* cavern.tst: Fix testsuite to work with SOURCE_DATE_EPOCH set.

Changes in 1.4.3 (2022-05-17):

* aven: Much improved support for HiDPI monitors on all platforms.

* aven: When started without a file make sure the window has focus so menu
  accelerators and shortcuts work without clicking on the window.

* aven,survexport: DXF export now puts splays in a separate layer and uses a
  dotted linetype for them.  Patch from echarlie, see #60.

* Improved survexport man page to include command line options and a short
  note about DXF export.  Patch from echarlie.

* Minor translation updates.

* (Unix version): aven: Fix handling of EGL-based wxGLCanvas (which wxGTK 3.1.5
  has).  Fix a build failure and don't force X11 (as the EGL-based wxGLCanvas
  works on Wayland).

* (MacOS version): aven: Fix hang on startup without a file.  Fixes #120,
  reported by Enrico Fratnik.

* (Microsoft Windows version): Now using wxWidgets 3.1.6 (was 3.0.5).

* img library: Support reproducible builds which create .3d files by not
  embedding a timestamp if environment variable SOURCE_DATE_EPOCH is set.
  Requested by Martin Budaj.

Changes in 1.4.2 (2022-02-25):

* aven: Fix to be compatible with FFmpeg 5.0.

* Improve docs for *cs and *declination.

* cavern: Fix "*declination auto" not to crash when built with PROJ < 8.1.0.
  Bug introduced in 1.4.0.

* cavern: For each `*declination auto` command cavern now reports an "info"
  message showing the range of calculated declination values and the dates at
  which the ends of the range were obtained, and also the grid convergence
  (which doesn't vary with time).  Fixes #92, reported by Rob Eavis.

* cavern: If any of the N-S, E-W or U-D ranges includes an anonymous station
  then also report the range in that direction excluding anonymous stations.
  Patch from Thomas Holder.

* cavern: The error from a bad `*cs custom` command now highlights the quoted
  string properly.

* cavern: "FIX command with no coordinates - fixing at (0,0,0)" is now an
  "info" rather than a "warning".  It's not really reporting a problem and the
  ability to omit the coordinates is a deliberate feature.  It is useful for
  the user to know where the "*fix" without coordinates is if they want to
  change the survey to be in real coordinates, so an "info" diagnostic is a
  good fit.  This also means aven will no longer stay on the log view after
  processing a dataset which fixes without coordinates.

* cavern: If "*fix" is used twice with no coordinates we no longer say
  "FIX command with no coordinates - fixing at (0,0,0)" right before:

  error: Already had FIX command with no coordinates for station "x"

* cavern: Include errors in Compass .mak files now report the error in the line
  where the included filename is actually specified.

* cavern.tst: Add test coverage for warnings for *entrance and *export with
  a station which doesn't exist otherwise.

* aven/survexport: Change JSON export to be valid JSON.  This means the output
  has changed incompatibly, but it wasn't valid JSON before which suggests
  nobody was actually successfully using it. Fixes #128, reported by Pawczak.

* aven.tst: Skip one testcase on macos as it seems to hang, at least when
  running on the Continuous Integration system.

* (Microsoft Windows version): The installer is now generated with a much
  newer version of Innosetup.  This means Microsoft Windows Vista is now the
  minimum supported version but 2000 and XP are both many years out of support
  anyway.

* (Microsoft Windows version): The coordinate system database for PROJ is
  now included so "*cs" now works (broken since 1.4.0).

* Chinese translation updates from Qingqing Li.

* Building from source now requires a compiler with support for C99.  C99
  seems to be universally supported by compilers now so we don't expect this to
  inconvenience anyone.

Changes in 1.4.1 (2021-11-08):

* This release should work with any PROJ version >= 6.2.0.

* cavern.tst: Fix to actually run tests when building outside the source
  tree.  Previously files for testcases weren't found, and tests were skipped
  with a warning, which lead to 1.4.0 being released with two failing testcase.
  Fix to find the files, and make not finding them an error.

* cavern.tst: Fix testcases gpxexport and require_fail which were failing
  in 1.4.0.

* 3dformat.htm: Document that coordinate system can be ESRI:<number>.

Changes in 1.4.0 (2021-11-06):

* New release series to mark that Survex now uses the new PROJ API, and
  requires PROJ >= 7.2.0.  Survex 1.2.x will continue to support PROJ < 8
  (and won't support newer PROJ versions).  Fixes #102, reported by Bas
  Couwenberg.

  Due to these changes, PROJ will now convert directly between coordinate
  systems where it knows how to, instead of always converting via WGS84.
  This means conversions may now be more accurate in some cases, and you may
  notice station coordinates changing - these should be for the better.

  Also, the vertical datum is now taken into account automatically, and
  terrain data now aligns much better vertically with surveys.  Fixes #56.

* aven: Clicking and holding the left mouse button on the compass or clino,
  then (while still holding) clicking the right button no longer causes a
  wxWidgets assertion to fail.  Reported by echarlie.

* img library: Rewrite certain proj strings when reading 3d files for
  better compatibility with newer PROJ versions, where use of proj
  strings is strongly discouraged.

  `+init=epsg:` followed by a code number is rewritten to `EPSG:`.

  `+init=esri:` followed by a code number is rewritten to `ESRI:`.

  The proj strings which cavern used to put in 3d files for UTM zones and
  S-MERC are rewritten to `EPSG:` follow by the appropriate code number.

* Also install survex.lang for gtksourceview 4. Fixes #125, reported by Martin
  Green.

* Fix missing data style in interleaved example in manual.  Reported by
  echarlie.

* Use jw from docbook-utils instead of sgmltools-lite to process the manual.
  The sgmltools-lite homepage says it's no longer being developed, and suggests
  docbook-tools (which Debian packages as docbook-utils) as a replacement.

* doc/HACKING.htm: Update Debian packages to install

* doc/HACKING.htm: Update details of setting up mingw cross-build environment.

* Add simple tests for GPX and KML export.

* Expand cavern testcase csbad.

* cavern.tst: Parse warning/error counts more robustly.  Previously we'd get
  confused if the final line just contained an integer, e.g. if we end listing
  stations not attached to a fixed point.

Changes in 1.2.45 (2021-03-09):

* Avoid undefined signed shifts in 3d file handling.  Survex itself is only
  affected on big-endian platforms (so most Linux machine, Microsoft Windows,
  and current Macs are all OK), but this also affects the img library on all
  platforms when used in standalone mode as it is in other programs.  Fixes
  #119, reported by Matěj Plch.

* aven:

  + When reading cavern output for the log window, we need special handling
    for the case when a chunk of output ends mid-way through a UTF-8
    sequence.  Previously we lost the first byte of the sequence in this
    case (and would then show it as an invalid character), but now it is
    handled correctly.  In practice, most of the cavern log output is ASCII so
    it's quite possible nobody's ever actually hit this.

* testsuite:

  + Suppress reports of leaks on exit from the LeakSanitiser debugging tool.
    We know we don't release all memory explicitly on exit since doing so would
    mean extra work for no reason as the OS reclaims all memory when the
    process exits.

* Convert OLDNEWS encoding from ISO-8859-1 to UTF-8.

Changes in 1.2.44 (2021-02-10):

* aven:

  + (Microsoft Windows version): Now using wxWidgets 3.0.5 (was 3.0.4).

* cavern:

  * Add support for quadrant bearings (e.g. N30E).  Patch from echarlie.

  * Report error if angle units are specified for passage dimension.
    Previously "*units left degrees" and similar were incorrectly quietly
    accepted.  Spotted by echarlie.

  * Fix *data with no parameters to keep the current style and reset any state
    as documented.  Previously it actually instead ignored any survey data
    until the next *data command with parameters.

  * Fix minor memory leak in *data.  We leaked a single memory allocation on
    "*data default" or an invalid *data command.

  * Improve test coverage.

* survexport:

  * The check for whether a format supported --elevation, --plan, --bearing and
    --tilt was inverted.  Reported by echarlie.

  * Fix reporting of export errors on Microsoft Windows.  Reported by Matic Di
    Batista.

* img library: Fix img_open() when used in other programs.  Patch from Thomas
  Holder.

* configure: Add wx-config-gtk3 to WX_CONFIG search for Arch Linux.  Patch
  from Thomas Holder.

* Improve documentation of interleaved data.  Most notably, we now document
  that a blank line breaks the current traverse.

* Fix typo in manual ('cypolar' -> 'cylpolar').  Patch from Wookey, fixes #117.

* Chinese translation updates from Qingqing Li.

* Russian translation updates from Vasily Vl. Suhachev.

* French translation updates from Jean-Marc and from Wassil Janssen.

* Bulgarian translation updates from Wassil Janssen

Changes in 1.2.43 (2020-02-28):

* cavern: Update to use v13 of the IGRF model for calculating declinations.
  This was issued in December 2019 and should give slightly more accurate
  declinations for surveys made since 2010.

* aven:

  + Fix colouring of "not in loop" when colouring by error.  1.2.42 introduced
    a bug where surveys not in a loop were coloured as if they had zero error.
    Fixes #111, reported by Bruce Mutton.

  + Fix handling of grid in export.  The grid was always getting enabled
    (probably since 1.2.8) even for formats which don't support exporting with
    a grid.  This resulted in the bounding box being set wrongly for some
    formats such as SVG, as reported by Richard Knapp on the mailing list.

  + When showing errors processing the survey data we'd previously crash if
    cavern incorrectly reported an error as being in a column off the end of
    the line - now we just ignore the error column in this case.

  + Support colouring by survey style ("normal", "diving", "nosurvey", etc).

Changes in 1.2.42 (2019-09-04):

* aven:

  + Allow colouring by horizontal or vertical error.

  + (Unix version): Disable scaling for HiDPI displays with GTK3.  The OpenGL
    code needs work before this will work usefully, so just disable for now
    (which simulates how things are when using GTK2).

  + (Unix version): Fix orientation of notebook tabs when build with wxWidgets
    3.1 development versions.  We want horizontal tab orientation, but were
    passing a weird flag combination which now results in vertical tab
    orientation.

* When exporting to a format where we support rotation in the horizontal
  plane (such as SVG), the rotation was incorrectly applied to cross section
  data (except for the default rotation of zero).  Fixes #108, reported by
  Richard Knapp.

* Add a section to the manual covering the command line tools, and what you
  might still need to use them for.

* Fix compiler warning when building from source with GCC 9.

* Consistently refer to macOS not OS X - Apple have renamed it yet again.

* (macOS version): Revert the workaround for the crash on macOS 10.14.  The
  bug we were working around is fixed in git ready for wxWidgets 3.0.5 and
  there's a backported fix in the homebrew wxmac 3.0.4-2 package, which is how
  we now recommend people install on a Mac.  Closes #101, reported by floho.

* (macOS version): Remove buildmacosx.sh script since installing from homebrew
  is now the recommended approach.

Changes in 1.2.41 (2019-07-10):

* aven:

  + (Microsoft Windows version): Fix error on startup in the pre-built version
    of 1.2.39 and 1.2.40.  This is a recurrence of the same issue as affected
    1.2.33 - this time I've patched out the unnecessary check in wxWidgets
    which causes this problem so it shouldn't recur again.  Reported by
    Brian Clipstone.

  + (macOS version): Add work around for crash on macOS 10.14 (not fully tested
    as I don't have access to a Mac).  Hopefully fixed #101, reported by floho.

Changes in 1.2.40 (2019-07-04):

* aven: Draw the measuring line ring with an even shape.  Previously the exact
  shape of the ring varied slightly depending on the exact coordinates, which
  could be visually distracting once you noticed it.

* We were casting a function pointer with a bool return type to the same type
  but with a void return type.  In practice this probably works fine on most
  platforms, but it's undefined behaviour and also gives a compiler warning
  with some compilers.

* Fix bug introduce in 1.2.39 with where the "esri" data file for PROJ is
  installed.

Changes in 1.2.39 (2019-06-29):

* Support versions 5.x and 6.x of the PROJ library we use for handling
  conversions between coordinate systems.  Reported by Bas Couwenberg
  in #102, by Richard Knapp in #103 and by Martin Sluka in email.

* (Unix and Mac OS versions): When checking if something is a file or if it is
  a directory, we no longer treat a symlink as being neither, but instead
  return an answer based on what the symlink points to.

* aven:

  + Improve handling of hidden splay ends.  Previously, hidden splay ends still
    served as "targets" for snapping the mouse pointer to, and still got
    crosses when crosses were enabled.  We don't have a handy flag for "this is
    the outer end of a splay" and computing that on demand isn't so easy to do,
    so for now we use the "anonymous station" flag so at least these cases now
    behave properly for splays to anonymous stations (which is likely to be
    what people with huge numbers of splays from disto-x, etc are using).  This
    does mean that anonymous stations on continuation passages will incorrectly
    also be off when splays are hidden, but that seems an OK trade-off for now
    and a definite improvement over the previous situation.  The snapping of
    the mouse pointer was reported by Frank Tully in #105.

  + Fix typo in export UI (CVS should be CSV).

* Documentation:

  + Add CSV to documented list of survexport output formats.

  + Fix *declination syntax synopsis - "auto" is a literal string, not a
    placeholder.

  + Update PROJ project name and website - the name is now "PROJ" (all caps and
    no ".4" suffix) and the website is now: https://proj.org/

* Install gtksourceview-3.0 language file so .svx files now get syntax
  highlighting in gedit and other GtkSourceView-based editors.  Patch
  from Philip Withnall.  Fixes #98.

* (Microsoft Windows version): The Survex installer doesn't uninstall the old
  version when you upgrade, but just overwrites it with the new version.  In
  1.2.35 cad3d.exe was replaced with survexport.exe, but a user upgrading from
  an older version would still have cad3d.exe from that old version.  We now
  remove any old cad3d.exe left over from a previous install in the same
  location to avoid confusion.

* Add a few more message translations.

* Fix warnings when built with a C++11 compiler.

Changes in 1.2.38 (2019-03-02):

* cavern:

  + Deprecate MILS as angular units.  Survex has long support MILS as an alias
    for GRADS.  However, this seems to be a bogus definition of a "mil" which
    is unique to Survex (except that Therion has since copied it) - there are
    several different definitions of a "mil" but they vary from 6000 to 6400 in
    a full circle, not 400.  Reported by Andy Edwards.

  + Fix segfault for *include "".  This isn't useful, but shouldn't crash.  It
    now reports "file not found" instead.

  + Use isnan() to check for not-a-number.  This is cleaner, more robust and
    more efficient than formatting the number as a string and checking for
    "NaN" or "nan" in the result.

* Avoid unused variable warning when compiling from source with modern ffmpeg.

* Drop support for wxWidgets < 3.0.  3.0.0 was released over 5 years ago and
  should be easily available everywhere by now.  I'm no longer easily able to
  test with wxWidgets 2.8, and this allows a significant amount of cruft to be
  removed.

* (Linux version): survex.spec: Fedora have removed gcc from the default build
  environment so need to explicitly list it in the BuildRequires tag.  See
  https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot for more
  information.  Patch from James Begley.

Changes in 1.2.37 (2018-11-18):

* aven:

  + Add basic "Colour by Survey" feature.  The colours used aren't currently
    controllable.

  + Fix export of splays.  Patch from Thomas Holder.

  + Fix KML export to avoid invalid geometry when a tube intersects itself.
    Patch from Robert Jones.

  + (Unix version): Fix to work under Wayland by forcing the x11 GDK backend
    for now.  This is a workaround until wxWidgets OpenGL support is updated
    to work under Wayland.  Reported by Philip Balister.

  + Fix warnings about using deprecated functions when building movie export
    code using FFmpeg 4.0.

* cavern:

  + Compass MAK files: Handle fixed point coordinates in feet - previously the
    units were ignored and the coordinates assumed to be in metres.

  + Previously the first byte in a MAK file was ignored.  Typically MAK files
    start with a comment, and since cavern currently ignores lines that start
    with characters it doesn't understand the meaning of, this bug would often
    go unnoticed.

* survexport:

  + Fix exporting of passages, walls and cross-sections by running the code
    aven uses to decide how much to rotate each cross-section.  Previously all
    cross-sections were aligned West-East.  Reported by Robert Jones.

  + Default to .pos output if the program name is 3dtopos, and install a second
    copy (or hardlink under Unix) as 3dtopos.  This provides compatibility with
    current releases of Tunnel.  Reported by Becka Lawson, Wookey and
    Stephen Crabtree.

* Fix some German translations.  Patch from Thomas Holder.

* (MacOS X version): Fix aven-create-app to not delete converted icons.
  Typo spotted by Robert Jones.

* Improve documentation for *team.  Document the requirement to quote names
  unless a person is identified by just one name.  Document that the roles are
  optional, as that information may not have been recorded, and to align with
  therion's team command.

Changes in 1.2.36 (2018-07-18):

* aven:

  + Add support for exporting as a CSV (Comma-Separated Values) file.

  + Support exporting KML with altitude mode "clamp to ground".  In this mode,
    the altitude in the data is ignored and it's rendered on the surface of the
    terrain.  This is useful if your KML viewer renders the terrain as opaque
    so underground data isn't visible.  Rendering cave passages on the surface
    isn't great, but is better than not being able to see them at all.  This
    option may also be helpful if you want to see where to look on the surface
    for new entrances.

  + Highlight surveys with a white loop as the mouse is moved over them in
    the survey tree.  This is akin to how we highlight a station with a
    white ring, and allows restoring "double-click survey in tree to zoom"
    which temporarily required a quadruple-click in 1.2.35.

  + Only show checkboxes in the survey tree for surveys not stations.

  + Fix wxWidgets assertion if the user tried to select additional surveys
    to show via the right-click menu.

  + Fix multiple survey filtering when both a parent and child survey are
    selected.  In this case it makes most sense to show all child surveys of
    the parent, but we actually showed a slightly arbitrary subset of the
    child surveys of the parent.

  + The checkbox area in the survey tree is now included in the area which
    is considered by mouse-over updates such as highlighting the station or
    survey.

  + Fix display of double quotes in cavern log window (they were being replaced
    with control character 0x16 due to a typo in the code).

  + Add shortcuts to buttons in cavern log window.

  + Eliminate use of gluErrorString() function which eliminates some
    deprecation warnings when building on macOS.

  + Reject multiple --survey command line options for now (only the last has
    been used for a long time, but now we actually support multiple survey
    filtering this matters more).

* survexport:

  + Report a useful error when trying to convert a .3d file without coordinate
    system information to GPS.  Reported by Mark Shinwell.

  + Handle multiple redundant --survey command line options correctly.

* dump3d: Report station flag "WALL", which was added in 1.2.7.

* Minor translation updates.

* Update manual for Microsoft Windows changes.

* tests/: Add test coverage for warnings about suspect readings

* Fix warning when compiling with clang.

Changes in 1.2.35 (2018-07-03):

* aven:

  + Viewing can now be restricted to multiple surveys.  Use the right-button
    menu on a survey in the survey tree and select "Show" to enable checkboxes
    for that survey and all its siblings.  Only the selected surveys are shown
    on screen, printed and exported.

  + Don't open a survey when its name is double clicked.  This was happening
    due to code added to "allow double-clicking to work on wxMSW >= 2.8.11".
    However, reverting that change still seems to allow double-clicking to work
    on both wxMSW and wxGTK, but fixes the unwanted additional opening of the
    survey.

  + Pick initial survey scaling based on whichever of the window width or
    height gives the smaller scale.  Previously we always used the window
    width, which can result in parts of the cave being outside the initial
    view.  Reported by Wookey.

  + Drop ability to specify a PROJ string in the export dialog.  This was added
    to allow exporting to formats such as GPX before we added support for
    specifying the projection in .svx files, and that support is now mature.

  + DXF export now uses 2 decimal places (was 6) for the bounding box, for
    consistency with the precision used for coordinates.

  + Fix handling of surface flag during export.  In formats which discriminate,
    legs could previously have got assigned the wrong status.

  + Fix bug which probably prevented aven starting when OpenGL double buffering
    is unavailable.  This is unlikely to affect any common configurations.

  + (Microsoft Windows version): Fix loading of 3d files with non-ASCII
    filenames.  Issue reported by Matic.

  + (Microsoft Windows version): Fix incorrect display of some toolbar icons.
    Probably broken since 1.2.17.

* survexport: New command-line export program which uses aven's export code.
  Replaces 3dtopos, cad3d and findentrances, since it can do all that these
  tools could do, plus much more.

* Merge more Spanish i18n updates from Evaristo Quiroga.

* Minor updates to various other translations.

* img library:

  + Now supports reading from and writing to an existing FILE*.

  + Improve API documentation.

* (Microsoft Windows version): Fix packaging to include wxWidgets translation
  files like it was supposed to, which fixes a few missing translations.  This
  was probably broken by changes in 1.2.8.  Reported by Evaristo Quiroga.

* (Microsoft Windows version): Drop two options from explorer bindings.
  "Convert to DXF" and "Convert for hand plotting" have both been supported via
  aven for a while, and that's a more useful way to access them as you can
  control what gets exported.

Changes in 1.2.34 (2018-03-24):

* aven:

  + (Microsoft Windows version): Fix error on startup in the pre-built version
    of 1.2.33.

  + (Microsoft Windows version): Now using wxWidgets 3.0.4 (was 3.0.2).

Changes in 1.2.33 (2018-03-22):

* aven:

  + Reliably disable scale bar in perspective view.  This is supposed to happen
    (because the scale across the screen varies in perspective view) but
    actually the scale bar stayed around until an update was forced for another
    reason.  Spotted thanks to Pedro Silva Pinto.

  + Make "no date"/"not in loop" colour grey.  The white was a bit bright and
    made it harder to see the legs that had colours.  The grey now used is
    within the brightness range of the other colours.  Fixes #94, reported by
    Erin Lynch.

  + Fix KML export - exporting both survey legs and station names resulted in a
    malformed KML file.  This bug was introduced in 1.2.30 when support for
    exporting passages and walls was added.  Reported by Erin Lynch in #90.

  + Consistently use 2 decimal places for altitude in KML output.  Some places
    used 8 decimal places which is appropriate for lat and long, but clearly
    overkill for an altitude in metres and increases the file size
    unnecessarily.

  + Right-align bearing widget in print/export dialog.  The change to allow the
    value to wrap round from 360 to 0 in 1.2.27 inadvertently made this control
    left-aligned (due to incorrect wxWidgets documentation of the default style
    for this control).

  + (Unix version): Work around wxWidgets bug so that custom cursors work
    under GTK3.

  + (Unix version): Update GTK version reporting - report GTK3, and don't
    bother to report subversions of GTK2 (it seems to be fairly arbitrary
    which subversions wxWidgets defines constants for).

  + Update code to work without warnings when using wxWidgets 3.1.0 (the
    current development version).

  + Make movie export code compatible with upcoming FFmpeg 3.5 release.
    It should still work with the older versions that worked before this
    change.  Reported by James Cowgill in https://bugs.debian.org/888334

* cavern:

  + Warn about 2 digit years.  We can't change the assumption that these are
    19xx without risking breaking existing datasets, but the further we get
    into this century, the more likely such an assumption is to catch someone
    out.  The warning can easily be quashed by explicitly adding the assumed
    "19".

* The Spanish translation is now up to date once more, thanks to updates from
  Evaristo Quiroga.

* Merge French translation updates from Jean-Marc.

* Fix transposed German Northing and Easting labels.  Fixes #95, reported by
  milosch.

* Fill in missing translations of "Easting", "Northing", "E" and "N" for
  Bulgarian, Greek, Hungarian, Polish and Russian based on other existing
  translated messages.

* Align .pos file headings better with columns of coordinates below for
  Indonesian and Polish.

* Fix handling of the message string "error" before messages loaded.  If
  there's an error loading messages, we need this message to report it.
  Reported by Martin Sluka.

* Fix a few compiler warnings.

* img library: Fix extracting leaf survey name for survey title.  When there
  are three or more levels of survey, we were taking everything after the first
  dot rather than everything after the last dot.

* Fix problems with testsuite on macOS:

  + cavern.tst: Skip "ONELEG" testcase on case-insensitive filing systems
    - this test isn't meaningful unless the filing system is case-sensitive,
    but happens to fail if it isn't.

  + cavern.tst: Workaround limitations of Apple's sed.

  + aven.tst: Fix not to hang on macOS.

  + smoke.tst: Remove aven testcases which duplicate those in aven.tst.

* Clean up handling of support files in relocatable installs - this is now
  detected at run time on macOS.

* Split out macOS Aven.app creation into a make rule so it can be easily used
  by the homebrew formula.

* buildmacosx.sh:

  + Fix when WX_CONFIG not specified - this was giving a confusing error like:
    ./buildmacosx.sh: line 163: --cc: command not found

  + Use wxWidgets 3.0.4.

* Stop checking wx-config --ldflags as this option was removed in wxWidgets 2.6
  and we currently require 2.8 or newer.

Changes in 1.2.32 (2017-07-08):

* aven:

  + Make splays on printouts a darker shade of grey.  Reported by Erin Lynch
    and Anthony Day.

  + In export formats which include 3 dimensions (DXF, PLT, GPX, KML, JSON,
    POS), the value in the Z dimension was negated.  Bug introduced by fixes
    for export of rotated plans and tilted elevations in 1.2.27.  Reported by
    Erin Lynch in #89.

  + Ignore viewing angles for export formats which work in 3D.  When the
    rotation and tilt controls are hidden in the export dialog we were still
    using their values to transform the data, so if you set them with for one
    export format which support them, then switched to an export format which
    doesn't, you'd get bogus coordinates in the exported file.  Bug probably
    introduced in 1.2.27 by fixes for exports of rotated plans and tilted
    elevations.

  + Fix exporting to skencil and Survex .pos formats.  When aven's export to
    .pos was added in 1.2.19, the ordering didn't match up and since then .pos
    export has produced skencil files and vice versa.

  + Don't leave terrain on if loading terrain data fails.  Previously if you
    clicked the terrain icon (or via the menu) with no terrain loaded, but no
    terrain got loaded (e.g. because the survey data lacks an explicit
    coordinate system, or because the file failed to load, or because you
    cancelled the dialog) then the terrain icon/menu item was still changed to
    "on".

  + Disable texturing while drawing terrain.  Previously the terrain got a bit
    darker when "Textured Walls" were enabled.

  + Force a refresh when "Textured Walls" are enabled or disabled.  Previously
    the display wouldn't update right away.

* Manual:

  + Document how to specify fixed point altitude in feet.

  + Explain why *fix warns about unused fixed points

* Building from source now requires a compiler with decent support for C++11.
  If you're using GCC, then GCC 4.7 should suffice.  This should not be an
  onerous requirement - e.g. Debian wheezy and Ubuntu trusty both have a recent
  enough GCC.  If special options are needed, these should get probed for and
  automatically.  Fixes building 1.2.31 with GCC < 6, reported by Wookey.

Changes in 1.2.31 (2017-07-01):

* aven:

  + Use superscript 'g' symbol instead of word 'grads' in status bar.  This
    conserves the limited space available, and we already do this in the
    compass and clino indicators so it's more consistent too.

  + Show one decimal place on measure line bearing.  Pointed out by Benedikt
    Hallinger on the therion list, though I'm sure this has been asked for
    before by others.

  + Show gradient of the measuring line when both ends are stations.

  + Allow selection of text in cavern log window.  Selection was disabled in
    1.2.28 because it seemed you couldn't actually copy selected text to the
    clipboard, but retesting this now actually works fine for me, both with
    current git master with the change reverted, and with code just before the
    original change.

  + More robust parsing of cavern output (cleanly handle context highlighting
    which extends beyond the end of the line).

  + Allow showing duplicate legs as dashed lines or hiding them entirely,
    with dashed now being the default.  Implemented by Patrick Warren.

  + Also allow "Dashed" for splays and "Faded" for duplicate legs.

  + Splay legs in surface data are also shown faded.

  + Check environment variables VISUAL and EDITOR when looking for editor to
    use when a warning or error is clicked on in the cavern log window.  The
    specified editor may have a GUI or need to run in a terminal, so we have to
    special-case each editor supported, and that means we can pass extra
    options needed to position the cursor on the appropriate line/column.
    Currently these editors are supported: gvim, nvim, vim, gedit, pluma,
    emacs, nano, jed, kate.  Suggested by Wookey.

  + Fix handling of non-square terrain data files - the X and Y dimensions were
    swapped.  Reported by detrito.

  + Improve parsing of DEM data with .hdr file.  Use documented defaults for
    more values, and where we only support a subset of values (or a particular
    value) check for unsupported values in more cases.

  + When colouring by depth, fix colouring and texturing of polygons which
    cross depth bands.  The previous problems were most obvious with high
    chambers and long legs down deep pitches, especially in for surveys without
    much vertical range.

  + Support for drawing blobs using point sprites was added in 1.2.28,
    but caching that this worked wasn't hooked up properly so the test to
    see if this worked would happen at the start of each run.  This is now
    cached as intended which should reduce start up time a little when blobs
    are drawn in this way.

  + Fix drawing of crosses with lines.  This is a fall-back case which is
    rarely used as most OpenGL setups will handle a better method, but it was
    resulting in crosses with a four-pixel square in the centre - now the
    centre should be a single pixel.

* cavern:

  + Allow *data with no arguments to reset the current style - useful for
    entering passage data where there are side passages.

  + Fix hang processing file without newline at end.  This bug was introduced
    by changes in 1.2.28.  Reported by Mark Brown.

  + (Mac OS X and Microsoft Windows versions): Build with newer version of
    PROJ library which fixes buggy handling of *fix with lat-long coordinates.
    Also add a testcase to the testsuite to alert users building for themselves
    with an affected PROJ version on any platform.  Reported by Ross Davidson.

  + Fix cavern to handle Compass .DAT with no survey team.  Previously this
    resulted in the bogus error: Expecting numeric field, found "FROM"
    Reported by Erin Lynch.

  + Handle UTF-8 "BOM" at start of .svx files.  Unicode doesn't recommend its
    use, but Microsoft stuff seems to like to create files with it in, and the
    error cavern currently reports for such files is very confusing, so it
    seems best to just handle it.  Reported by Rob Eavis.

  + Change a couple of messages to use double quotes for consistency with all
    other messages.

* extend:

  + Now runs a bit faster.

  + Splays are now carried over the extended survey.  The current handling
    is simplistic, but should do a good enough job to be more useful than
    discarding splays.  The splays at each station are all rotated together
    based on the bearing between the stations either side of the current one
    along the first path extended through that station.  This nicely handles
    dead ends and the situation at the top or bottom of a pitch, and should
    tend to pick an angle close to the passage orientation along a traverse.
    It's weakest at junctions.  Feedback (especially examples which could
    be handled better) most welcome.

* French translation is now up to date again, thanks to Jean-Marc.

* Remove erroneous menu shortcut markers from Polish translations.

* Fill in some missing translations in several languages by using message
  translations from therion.

* Add note to *fix documentation to clarify the coordinate order with *cs
  long-lat.  Issue raised by Ross Davidson.

* Fix errors in documentation of *units: "DEG" should be "DEGS", and
  "MINUTES" has been supported for ages but wasn't documented.  Reported by
  Footleg.

* Fix a few typos in the documentation.

* Fix compilation warning with recent GCC.

Changes in 1.2.30 (2016-10-03):

* aven:

  + (Microsoft Windows version): Fix crash when trying to print or export
    (probably introduced in 1.2.28).  Reported by Brian Clipstone.

  + Report error if terrain file contains no terrain data in area of survey.
    Suggested by detrito.

  + Errors when writing an export file were reported with the wrong filename
    - the .3d file, not the filename we were trying to write to.

  + Export to KML now supports exporting passages, walls and cross-sections.
    Addresses the remainder of ticket #4.

* Add man page for dump3d.

Changes in 1.2.29 (2016-09-27):

* aven:

  + Fix SVG output with non-ASCII characters (the charset in the SVG file
    is now set to UTF-8 not ISO-8859-1).

  + (Microsoft Windows version): Fix error dialog on startup in pre-built
    version.  Reported by Brian Clipstone.

* Manual: Add link to TerrainData wiki page.  Omission highlighted by Erin
  Lynch and "detrito".

* Fix to build without FFmpeg/libav and with older versions, broken by changes
  in 1.2.28.  Reported by James Begley.

Changes in 1.2.28 (2016-09-24):

* cavern:

  + Show the contents of the line after error and warning messages while
    processing survey data, and indicate the region of the line in many cases
    in the same style that compilers such as GCC and clang use (using the
    column number we already have, plus new width information).  Based on a
    patch from Mateusz Golicz.

  + Add column and width information for many more error and warning messages.

  + Fix column for "Separator in survey name" warning.

  + Improve warnings when using a backclino with range 0-180 degrees (reusing
    the same machinery we already have for a forward clino with range 0-180
    degrees).

* aven:

  + Include LRUD in printout/export of extended elevations, broken by
    improvements to export of tilted elevations in 1.2.27.  Reported by Anthony
    Day.

  + Name <trk> tags in GPX output, so Garmin GPS units name the imported track
    usefully.  Reported by Anthony Day.

  + Remember scale from previous print or export operation in the same run of
    aven.  Suggested by Stuart Bennett.

  + Convert range indication below shown line to a highlight on that region
    of the line in cavern log window.

  + Fix colouring of error/warning without column in cavern log window.

  + Fix click on error/warning without column in cavern log window.

  + Fix highlight of translations of "error" or "warning" containing non-ASCII
    characters.  This fix for this only works with a Unicode build of
    wxWidgets, but as of wxWidgets 3.0, all builds are Unicode, so this
    shouldn't be much of a problem as wxWidgets 2.x is close to obsolete now.
    Reported by Mateusz Golicz.

  + Disable selection of text in cavern log window - you can't currently copy
    it to the clipboard, so until that's implemented it seems better to disable
    the ability to select it.  Reported by Wookey.

  + Avoid special "1000" scale entry when exporting.

  + Show 1 page when "One Page" selected.

  + Reload processed data when restricting view.  Fixes failure when
    restricting view on data just processed via aven.  Spotted by Andrew
    Atkinson and myself.

  + Don't hide blobs and crosses behind terrain.  Reported by Jenny Black.

  + Fix rendering of crosses using point sprites.  The texture being used was
    misaligned relative to the image used for the visual fidelity check, so the
    check always failed and point sprites would never be used.  Where point
    sprites are supported, they're probably the fastest option - on my netbook
    this change improves FPS by ~6 fold when displaying crosses for a large
    survey.

  + Support drawing blobs using point sprites.  About 5 times faster than using
    lines on my netbook.

  + Recheck how best to draw crosses and blobs on the first run after Survex
    is upgraded (or downgraded) as the rendering code may have changed (we
    already recheck when the OpenGL hardware or driver changes).

  + Change "MPEG" export to be MPEG4 (.mp4) rather than MPEG1 (.mpg).
    MPEG4 produces smaller output of higher quality, and should be widely
    supported these days.  And I can't get the MPEG1 output to work without
    buffer underflows, resulting in a file which doesn't play without
    glitches.

  + Add OGG video to the list of formats - it's more compact than the others
    we currently list, though slower to write.

  + Fix export to movie formats for which libav/FFmpeg needs to seek the file
    being written.  This was broken by changes in 1.2.27.

  + Overhaul movie export for the current FFmpeg API, fixing deprecation
    warnings when building against a recent version.

  + (Microsoft Windows version): Fix corrupted exported movie files.  1.2.27
    changed the movie export code to allow writing to files with non-ASCII
    characters in the names, but the new code failed to open the file in binary
    mode, leading to corrupt output.  Fixes #81, reported by Erin Lynch.

  * (Microsoft Windows version): Pre-built version now uses FFmpeg 3.1.3 for
    movie export.

  * (Mac OS X version): Pre-built version now uses FFmpeg 3.1.3 for movie
    export.

* Fix to build without FFmpeg/libav, broken by changes in 1.2.27.  Reported by
  James Begley.

* The Polish translation is now very close to being complete, thanks to a
  substantial update from Mateusz Golicz.

* Merge catalan translation updates from Adolfo Jayme.

* (Microsoft Windows version): Map LANG_CHINESE to zh_CN not zh so Chinese
  messages get used automatically.

* cavern.tst: Remove random : from after ] - dash ignores the extra character,
  but it causes this test to fail if /bin/sh is a different shell (e.g. bash).

* cavern.tst: Add expected output for more testcases.

* Remove unwanted execute bit from some testcase data.

* Use https for more URLs which support it.

Changes in 1.2.27 (2016-06-06):

* aven:

  + Right click on a survey in the survey tree now gives a pop-up menu
    with "Hide others", which restricts the view to just that survey
    and any subsurveys.  Right click on the root of the survey tree
    gives a menu with "Show all" to undo any restriction in effect.
    (Currently these are implemented by reloading the file and using
    the same machinery as the --survey= command line option, but that will
    probably change in the future).

  + If there's a sub-survey restriction (from the --survey= command line
    option or the new UI described above) it is now shown in brackets after
    the survey tree root.

  + When reloading a survey, preserve the current view position (previously
    the view was recentred).

  + When reloading a survey, actually preserve the current scale factor
    (this was meant to happen, but the adjustment was applied in the
    wrong direction).

  + New "File->Extended Elevation..." menu item provides a way to generate
    extended elevations for simple cases without having to use the command
    line.  Suggested by Fleur Loveridge.

  + Don't process key presses if accompanied by an unexpected modifier key.
    In particular, this means that aven no longer interferes with Alt+<function
    key> (which is typically handled by the desktop) and Alt+<letter> (which is
    typically a menu short cut).  Reported by Владимир Георгиев.

  + Reduce file loading time by ~5%.  The station name compare function was
    something of a hot spot, and optimising it yielded a nice improvement.

  + Allow splay legs to be disabled in when printing and exporting.  Mostly
    addresses #60.

  + SVG export now shows splay legs thinner and in grey.  See #60.

  + Fix export of rotated plans and tilted elevations - previously plans were
    always aligned with North up, and elevations which weren't exactly side on
    were exported as plans.  Reported by Stuart Bennett.

  + Fix offset bounding box for exported elevations.

  + In print/export dialog the bearing value now wraps if you scroll up past
    360 or down past 0.

  + Fix greying out of LRUD-based controls in the print/export dialog when the
    view is tilted (i.e. not plan or elevation).  This stopped working in
    1.2.18 when the pan and tilt spin controls were changed from integer- to
    real-valued ones.

  + Printouts now show LRUD as pale grey arrows from the station they are
    measured from.  Based on patch from Michael Sargent.  Closes #65.

  + Take LRUD into account for printout size.  Fixes #72, reported by Erin
    Lynch.

  + Update movie export code to work with latest version of FFmpeg.

  + Make "Show Log" a toggle, so you can click on the button to take a look at
    the log, and a second click returns you to the survey view.

  + (Microsoft Windows version): Open the font file in binary mode - it looks
    like we were lucky and the font file (or at least its current version)
    would have loaded OK in text mode despite being binary data.

  + (Microsoft Windows version): Exporting to files with non-ASCII filenames
    should now work.

* cavern:

  + Allow tape or backtape to be omitted.  Reported by Erin Lynch.

  + Grid convergence is now corrected for when using automatically
    calculated declinations (*declination auto <X> <Y> <Z>).  Requested
    by Mateusz Golicz on the mailing list.

  + Clear any cached calculated declination upon another *declination auto
    with different coordinates.  Previously if the date stayed the same,
    a previously cached declination for the old coordinates was used.

  + Fix check for end of version number array in *require.  We would check up
    to 12 version components, the last 9 being bogus.  In practice, *require is
    only likely to be used with up to three components, so this wouldn't be an
    issue.

  + *begin with an invalid prefix could cause a crash in some cases.  Fixed
    by patch from Colin Watson.

  + Report column locations for errors to do with readings.

* Merge translation updates from Jean-Marc.

* img library: Better document which members can be set when writing.
  Highlighted by email query about use of img API from Владимир Георгиев.

* Document how *declination interacts with *calibrate declination if both are
  used in the same dataset.

* doc/3dformat.htm: Update details of how changes to the current label buffer
  are encoded to reflect changes in v8.  Reported by Angus Sawyer.

* Use docbook2man instead of docbook-to-man to generated Unix man pages
  from SGML source.  The latter seems to be no longer actively maintained, and
  docbook2man now does a similarly good job.

* Use https for survex.com links, and for other sites which support it.

Changes in 1.2.26 (2016-01-07):

* aven:

  + (Microsoft Windows version): Fix to be able to process .svx files with
    cavern again.

* (Microsoft Windows version): Simplify upgrading process with innosetup
  installer - if Survex is already installed, we now just install to the same
  location and use the same start menu folder.

* (Linux version): survex.spec: Update for filetype metadata change in 1.2.25.
  Fixes #79, reported by James Begley.

* (Linux version): survex.spec: Fix to work with RPM 4.13.  Fixes #79, reported
  by James Begley.

Changes in 1.2.25 (2016-01-05):

* aven:

  + Drop broken code which attempts to fix 2D pitches.  Fixes #73, reported by
    Erin Lynch.  #76 tracks the issue the removed code was trying (but failing)
    to address.

  + When animating, don't try to update station info based on mouse movement
    over the survey tree.

  + Further improve code to handle cavern subprocess in aven.

  + Fix jump to error for filenames containing colons when the error location
    doesn't have a column number.  Bug noted by Jenny Black.

  + If we encounter bad UTF-8 in cavern output, replace it with a red and white
    ? in a diamond (previously we gave up showing output at the first bad
    sequence).  This can happen if you process a .svx file which isn't UTF-8
    encoded.

  + (Unix version): Don't try to set the terminal window title when opening an
    editor from the cavern log window - gnome-terminal no longer supports this,
    and there doesn't seem to be a portable option for specifying the title for
    terminals which do still support this.

  + (Microsoft Windows version): Also quote for cmd.exe so that paths with
    spaces in work reliably.  Reported by Marco Cotto.

* cavern:

  + Improve error for mismatched fore/back-sight plumbs, reported by Andy
    Edwards (see #78).

  + Fix to use correct sd for backcompass.  We were using zero instead, the
    most obvious effect of which was that the threshold for warning about
    differing COMPASS and BACKCOMPASS was about 71% of what it should have
    been, so we were warning in more cases than we should have been.

  + Implement support for specifying a length on backsights - if you're using
    something like a disto-x, you'll get a distance reading for the backsight
    too.  Fixes #71, reported by Erin Lynch.

  + Make line counting more robust to mixed line ends.  Noticed in example file
    from Pete Smart (see #69).

* extend: New --show-breaks option which adds a leg flagged as surface survey
  between each points at which a loop has been broken.  Suggested by Jenny
  Black.

* (Unix version): Update filetype metadata to work with modern desktops.

* Fix incorrect reporting of errors reading and writing processed survey data.
  Since 1.2.8, the error strings corresponding to IMG_CANTOPENOUT,
  IMG_BADFORMAT and IMG_DIRECTORY have been mixed up (this doesn't affect
  external programs using the img library, only Survex).  Reported by Jenny
  Black.

* Add missing options to extend man page and --help output.  Noted by Jenny
  Black.

* Document Document Ctrl+cursor keys for rotating and tilting in aven man page.

* Fix broken SGML markup in manual.

* Fix typo in manual reported by Jenny Black.

* Update vim syntax file for newer commands, etc.

* Minor translation updates.  Thanks to Piotr Strębski and Jean-Marc.

* Fix to compile with FFmpeg 2.9.  Reported by Andreas Cadhalpun in
  https://bugs.debian.org/803863

* Stop maintaining ChangeLog files.  They make merging patches harder, and stop
  'git cherry-pick' from working as it should.  The git repo history should be
  sufficient for complying with GPLv2 2(a).

* (Microsoft Windows version): The installer requires admin privileges on Vista
  and later and OS versions older than Vista are past end of life, so drop code
  which tries to set up the registry differently depending if we have admin
  privileges or not.

Changes in 1.2.24 (2015-09-23):

* aven:

  + (Microsoft Windows version): Fix the cavern log window.  Reported by Brian
    Clipstone.

  + (Microsoft Windows version): Add workaround to avoid breakage in Therion.
    Reported by Jenny Black.

  + If wx was built with thread support, aven now runs cavern from a separate
    thread, which works much better under wxMSW (where we can't use select),
    and also seems a bit smoother on Linux.

  + Fix handling of encoding of filenames when the operating system has no
    locale installed corresponding to the language selected for Survex's
    messages.

  + Undo accidentally committed debugging code which was sending message to
    the terminal in 1.2.23.

* (Linux version): configure now looks first for wx-config-3.0, which Fedora's
  wx3 packages have.  Reported by James Begley.

* Indonesian translation fully up to date again.

* Manual: Document anonymous stations, based on the text from NEWS.  Reported
  by Wookey.

Changes in 1.2.23 (2015-09-06):

* aven:

  + Updating the cavern log window is now much smoother, especially on slower
    machines.

  + Show "busy" mouse cursor while processing survey data.

  + Fix an assertion if you try to start processing a survex file while one is
    already being processed.

  + Processing a .svx file with an error now still adds it to the file history.
    Reported by Martin Green.

  + Fix the orientation of the starting end of tubes.

* cavern:

  + New *ref command to allow specifying an external reference (e.g. where to
    find the original survey notes).

  + Drop support for showing percentage progress in cavern.  It's confusing in
    a multiple-file dataset as it shows progress in the current file so jumps
    around.  It also slows down processing, and on a slow machine you'd don't
    want that, while on a fast machine processing isn't slow enough for the
    progress display to be useful.

* French translation is now completely up to date, thanks to Michel Bovey.

* Bundle proj's EPSG and ESRI code lists in the installers for MS Windows and
  OS X so that things like "*cs EPSG:29903" work.  Reported by Graham Mullan.

* (Microsoft Windows version): Process survey data with aven rather than
  running cavern.

* (Microsoft Windows version): Installer built with InnoSetup 5.5.6 (recent
  releases have been built with 5.5.3) to see if that solves Ray Duffy's
  reported issue with not having file associations for .svx files created.

Changes in 1.2.22 (2015-08-17):

* aven:

  + Ensure that the window has a depth buffer.  Whether it does by default
    seems to vary depending on OS and maybe graphics card.  Fixes #55 (terrain
    is no longer visible through itself), and also the rendering of passage
    tubes.  Thanks to Martin Green for pointing me in the right direction for
    finding this fix.

* cavern:

  + Fix *declination with an angle to actually work.

  + Fix assertion if we try to identify a hanging survey by an anonymous
    station.

  + Improve errors for invalid survey names in *begin, *end, *equate and
    *export.

Changes in 1.2.21 (2015-07-28):

* aven:

  + Fix exporting to KML and other text-based formats to always use "." for the
    decimal separator - previously "," would be used when the user's locale
    specified this for the decimal separator.  Reported by Jan Schorn.

  + Implement exporting of survey legs in KML format.

  + Put "paddle" placemarker icons on stations in exported KML files, using the
    same colour coding for entrances, fixed points and exported points as aven
    does.

  + Remove the "Coordinate projection" field from the print dialog, as it isn't
    relevant there.  Reported by Wookey.

  + Fix the initial scale for small caves (since 1.2.18 the initial scale has
    been too small).  Reported by Wookey.

  + Don't rescale if the same file is reloaded, but adjust the volume diameter
    as appropriate.

  + Use wxGetenv() to read the SURVEXEDITOR variable, so we can accept Unicode
    values on Windows.

* cavern:

  + Fix coordinate systems using latitude and longitude - PROJ.4 wants these in
    radians, but we were passing degrees, which would generally cause the
    conversion to the output coordinate system to fail.  Reported by Wookey.

  + Fix *fix with standard deviations when *cs is in use, give an error for use
    of *fix with standard deviations before *cs.

  + Add new *declination command with support for setting the declination
    automatically from the IGRF model based on the survey date.  Thanks to the
    Therion developers for the IGRF support code, which we're reusing.
    Fixes #54, reported by Wookey.

  + Allow the units for the zero error to be specified, making it easier to
    specify calibration with a scale if you measure the zero error externally
    (rather than using the instrument itself).  Fixes #61, reported by Andrew
    Atkinson.

  + Report the error from PROJ when coordinate conversion fails as part of the
    actual error rather than on a separate line.

  + Fix use after free after *solve.  This only occurs if a leg between the two
    exact same stations appears right before and right after the *solve, which
    is unlikely in real data, but the testsuite has an instance of this.  This
    was introduced by the repeat leg averaging added in 1.2.17.

  + Fix small memory leak when solving network.  This doesn't really matter
    when solving at the end of processing as cavern will exit after that, but
    if *solve is used we continue processing after solving.

* Remove compatibility handling for specifying a country variant of a language
  in SURVEXLANG using "-" with a lower case country code (e.g. "en-us") - we
  changed to the standard "en_US" way back in 2001.  This code was mangling
  character sets with a "-" in, and is no longer useful.

* Ignore any "@<something>" modifier in the language code.

* Improve documentation of magnetic declination handling, and cover the new
  "*DECLINATION" command.

* Document aven's command line options in the manual and its man page.
  Reported by Jenny Black.

* Point to '*case' and '*truncate' from the 'SEE ALSO' sections of each other's
  documentation.

* Remove references to SpeleoGen from the documentation - it hasn't been
  updated for many years, and can't read recent versions of the .3d format.

* Strip documentation references to obsolete versions of MS Windows.

* doc/HACKING.htm: Update list of debian packages to install to build from git.

Changes in 1.2.20 (2015-06-26):

* aven:

  + When printing, use the top margin rather than the right margin to calculate
    the height of the printable area.  In practice, the two values seem to be
    the same or very similar by default.

  + Avoid assertion if the about dialog image fails to load.  Reported by Phil
    Maynard.

  + Optimise the size of the about dialog images.

  + Add support for reading terrain data which isn't in a .zip file.

  + Force a refresh after loading terrain data so that it gets displayed right
    away.

  + Make checks for terrain data extensions in zip files case insensitive.

  + If reading terrain data fails, always report an error and never try to
    display it.

* cavern: Allow clino readings in diving style data, suggested by Andrew
  Atkinson.  Currently these readings are ignored, but a future version will
  check that they're consistent with the angle given by the depth gauge and
  tape, and perform suitable averaging.

* Remove lingering traces of svxedit.

* configure: Fix to allow compiling without libav/ffmpeg, as was possible
  before 1.2.19.

* (Unix version): Install the filetype and aven application icons under
  /usr/share/icons/hicolor, which is where they're expected to be these days.

* (Unix version): Add %f to Exec in survex-aven.desktop.

* (Mac OS X version): Remove useless extra copy of about box images from OS X
  disk image.

* (Mac OS X version): Only ship one copy of each of the translations.

* (Mac OS X version): Reduce the size of the aven binary by disabling a load of
  libav features we don't use.

* (Microsoft Windows version): Reduce the size of the aven binary by disabling
  a load of libav features we don't use.

* (Microsoft Windows version): Update message files to fix a missing Chinese
  message in the installer.

Changes in 1.2.19 (2015-06-18):

* aven:

  + Fix exporting to GPX, KML and HPGL, which all failed to write the header to
    the exported file in 1.2.18.

  + Add exporting to Survex .pos format.

  + If the measuring line isn't currently active, pressing "Escape" will now
    exit full screen mode.

  + (Mac OS X version): Change the shortcut for full screen mode to be the
    standard Ctrl+Command+F (rather than Shift+Command+F which we have been
    using since 1.2.7).

  + (Mac OS X version): When we centre the view on the station this can
    generate a mouse move event, so clear the variable which says we are
    dragging before we process a left click on a station.  This avoids random
    rotations of the survey when clicking on a station, reported in #47 by Hugh
    St. Lawrence.

  + (Mac OS X version): Force use of a non-native toolbar to stop the toolbar
    icons from being rescaled and looking fuzzy.

  + (Mac OS X version): Remove code added in 1.2.18 which tries to set stop the
    toolbar icons from being rescaled, but which requires an unreleased version
    of wxWidgets, had a typo in, and doesn't actually seem to work anyway.

  + (Mac OS X version): Drop out of full screen mode if the mouse is mode to
    the top of the screen, since we can't seem to display the menu bar in this
    case like we do on other platforms.

  + (Mac OS X version): Enable aven's movie export feature.

  + (Mac OS X version): Enable wxDisplay when building wxWidgets to better
    support multi-monitor setups.

  + (Mac OS X version): Silence warning visible when aven is run from a
    terminal about a missing CFBundleTypeRole.

  + When reading terrain data from a .zip file, report an error if the .zip
    file is bad, or if it doesn't contain any terrain data we recognise.

  + Tweak error message in terrain reading code to distinguish two failure
    cases.

  + Add viewing angles and scale to footer, and shorten some of the other items
    to make room for this extra information.  (Fixes ticket #52, reported by
    Erin Lynch)

  + If the footer is wider than the printout width, scale down the font used
    so that it exactly fits; if the footer is narrower, than space out the
    items in in so it uses the full width.

  + If the saved size for aven's window exceeds the current display size
    (mostly likely because we're now plugged into a smaller monitor), then
    reduce the size of the window to fit the display.  If the saved size is <
    (480x320), increase it to at least that, as aven isn't usable in a smaller
    window.

  + Remove crude bodge which tries to pick a nicer initial window size when
    using wxWidgets without wxDisplay on a multi-monitor setup - aven now opens
    with the same size window it had when it was closed, so the initial size is
    only relevant on the first ever run.

* Assorted translation updates.  Notably Indonesian is at 100% again.

* Stop trying to catch and report signals.  The only real reason to do it is so
  we can say "Bug in program detected! Please report this to the authors"
  before we exit, but when the program crashes that's pretty obvious.  In aven
  we try to pop up a message box for this message, which may fail due to
  whatever caused the signal, while with the command line tools there's no
  great benefit over just letting the shell report the signal.

* Use pkg-config to probe for libav and proj, which sorts out the correct flags
  for building on OS X against a static install of libav.

Changes in 1.2.18 (2015-06-03):

* aven:

  + Add support for reading terrain data (from a zip file containing either an
    SRTM .hgt file, or an ESRI .bil file and associated metadata files), and
    rendering it as a transparent surface.

  + Remove actions from 'Orientation' and 'Rotation' menus which you wouldn't
    sanely want to perform from the menu.

  + Create a "Colour by" submenu of the "View" menu to house the various
    colouring options.

  + Add "Colour by Gradient" and "Colour by Length".

  + Make the button to dismiss the "About" dialog "OK" rather than "Close",
    which seems more logical, and also allows the dialog to be closed by
    pressing "Escape".

  + Destroy any existing clipping region before we write the page footer.
    Hopefully solves ticket #52, reported by Erin Lynch.

  + Don't round bearing and tilt angles to integers when printing and
    exporting.

  + Add passage export for EPS format.  (Partly addresses ticket #4)

  + Add JSON export.  This should be regarded as experimental, and the format
    is quite likely to change.

  + Pressing F6 now toggles the display of rendering stats, currently FPS
    (Frames Per Second) and the number of triangles in the terrain mesh.

  + Add a menu item and toolbar button to show the cavern log window if the
    currently shown survey data was processed by aven.  Reported by Hugh St
    Lawrence in #47, and by Dave Clucas and others previously on the list.

  + Add "Save Log" button to Aven's cavern log window.

  + In cavern log window, highlight "error" markers in red and "warning"
    markers in orange.

  + Rework code to read cavern's output.  In particular, we no longer mix
    buffered and non-buffered system calls.

  + Aven's support for reading colours and font sizes for printouts from
    print.ini has never worked - the contents of the ini files are ignored due
    to a bug which has been there since the code was added in 2005 - but nobody
    has ever complained.  So just strip out that code entirely - we should
    support setting the colours and font sizes, but a GUI interface for setting
    them would be better.

  + Fix to compile with a Unicode build of wxWidgets 2.8.  Reported by Bill
    Gee.

  + Take the width of the messages used above the compass and clino into
    account when calculating how much space to allow for them - now the labels
    won't overlap or be cut off in translations where they are long.

  + (Mac OS X version): Attempt to address the size of the toolbar icons.

* cavern:

  + Reject *fix with SDs which aren't all positive.  (fixes#2, reported by
    susscorfa).

  + Use the currently set units when outputting measurements in warnings,
    errors, and the stats at the end of the run.  Requested by Bill Gee.

  + Include column number when a *include file isn't found.

  + Show 'error' in front of error messages, like we show 'warning' in front of
    warnings.  Fixes #48, reported by Wookey.

  + Increase the threshold for warning that fore and back measurements differ
    from 2 SDs to 3 SDs.

* findentrances: If the 3d file specifies the coordinate system, use it.

* svxedit: Remove svxedit - while an editor with built-in knowledge of survex
  would be nice to have, svxedit doesn't really offer that, and it looks ugly
  in a modern desktop.

* If we run out of memory while reading a processed survey data file, include
  the filename in the error message.

* Many translation updates - notably Indonesian and Russian are now the two
  most complete translations.

* (Microsoft Windows version): Add code page 1252 mappings for fancy quotes.

* Transliterate gradient and infinity symbols if the current character set
  lacks them.

* Add SVG version of .plt icon.

* Manual:

  + Add complete list of quantities you can set SDs for.  Thanks for Wookey for
    highlighting that the previous list was incomplete.

  + Document averaging of a group of repeated readings.

  + Add a link to the sample data from the manual.

  + Remove references to contact addresses which are no longer there.  Remove
    offer to post people floppies, and references to a CD image which isn't
    available for download.

* Remove non-breaking spaces from the diffpos and extend manual pages, as they
  actually make the output formatting worse (presumably these used to work
  around a since-fixed bug in one of the docbook processing tools).

* doc/TODO.htm: Update.

* Fix to compile without warnings with 'g++ --std=gnu++11'.

Changes in 1.2.17 (2015-02-24):

* MacOS X version:

  + Update INSTALL file with current status.

  + Aven.app now has a custom icon.

  + Add icons for all the filetypes supported.

  + Add Finder actions for .svx, .3d, .plt and .pos files.

  + aven: Hide the status bar and tool bar in Full Screen mode, as wx doesn't
    currently do this for us.

  + aven: Fix short-cut for toggling Full Screen mode.

  + aven: Make "About" menu item appear.

  + aven: Fix "Close" button in about dialog.

  + aven: Make custom cursors black with a white outline to match the standard
    OS X cursor.

  + svxedit: Now wrapped up in an application bundle as svxedit.app.  It
    still doesn't really work like a standard app though - e.g. you can't load
    files from Finder (instead run svxedit.app and use File->Open), the font
    size of most menu items is wrong, the icon for the app is the wish icon
    rather than the svxedit icon, shortcuts use Ctrl not the Cmd key, and
    probably more.  I'd probably recommend using another editor (OS X comes
    with TextEdit.app for example).

  + The documentation is now in a "Docs" directory alongside the apps, rather
    than in the rather less obvious "share/doc/survex" directory.

  + Default to building for x86_64, since all modern Macs are 64 bit.

  + Disable use of liblzma when building wxWidgets for OS X, which was
    preventing the build from working on OS X 10.6.8.

  + Download wx sources from SF via redirecting link.  Thanks to David A.
    Riggs.

  + buildmacosx.sh: Handle the mount point for the disk image containing a
    space.

  + Link with a static build of PROJ for doing coordinate system conversions.

  + Build wx with --disable-webview to avoid a compilation failure on OS X
    10.10.1.

  + Use wx-config --cc and --cxx to get the compilers to use for building
    everything else, as wx adds options to them which otherwise cause linking
    errors.

  + The diskimage (.dmg) file is now compressed with bzip2, which gives a
    smaller download.  This means OS X 10.4 is required, but we probably
    already need at least 10.5 because that's the minimum version which the
    wxWidgets build supports by default.

  + Remove unused files and copies of files from the diskimage.

* cavern: If the same leg is repeated consecutively, average the readings and
  treat as a single leg.

* dump3d: Report SEPARATOR used by the file being read.

* aven.svg: Fix visual glitch in SVG icon for aven.  Noted by David A. Riggs.

* aven:

  + Greatly reduce flicker when mouse is moved to the top of the screen in full
    screen mode and the menu bar reappears.

  + For export formats where scaling is supporting, aven now actually uses the
    scale specified in the export dialog (previously it ignored this and used
    1:500).

  + Reimplement animation so that it's based on angular change per unit of
    elapsed time, rather than averaging the time take for the last two scene
    redraws.  This gives smoother animation in the face of variable load and
    scene redraw time, and should be more consistent between platforms.

  + Switching to a point of the compass during auto-rotation now jumps straight
    there rather than the two animations fighting.

  + Reduce the maximum auto-rotation speed, as the previous limit was uselessly
    fast.

  + Disable stepping the rotation angle when animating (previously we only did
    when rotating).

  + Speed up start-up a bit - rather than loading icons from individual PNG
    files on disk, compile them into the aven binary.

* (Unix version): Add "MimeType" field to desktop files so that file
  associations work out of the box with modern desktop environments.

* Add start of Hungarian translation from Imre Balogh.

* Merge in many updates to the Russian translation from "vsuhachev".

* Assorted minor updates to other translations.

* Create scalable (SVG) versions of file type icons.

* doc/manual.sgml: Remove $Id and $Date markers, as they don't get expanded now
  we're using git.

* tests/: Improve test coverage in a few places:

  + Extend tests of fore and back sights to test calibration of the back
    compass.

  + Test "Can't calibrate angular and length quantities together" error.

  + Check that "*set names ." works when "." is also the decimal point.

Changes in 1.2.16 (2014-10-17):

* aven: Add KML export (stations only currently).

* aven: Allow measuring line to measure from anonymous stations.  (Fixes #44)

* aven: Fix corrupted names in exported files.

* aven: Fix error log window under wxWidgets >= 2.9 to include the system
  information before the first log message like it does under wxWidgets 2.8.

* cavern: Add support for "*cs JTSK" and "*cs JTSK03".

* tests/: Improve test coverage.

* Translation updates for many languages, plus the start of translations to
  Greek and Polish.

* Fix to build against wxWidgets 3.0 built with assertions disabled.  Reported
  by Martin Sluka.

* Fix warnings when compiling with clang (which is the default compiler on
  Mac OS X).  Reported by Martin Sluka.

Changes in 1.2.15 (2014-08-14):

* cavern: The *cs command now also supports "long-lat", "s-merc" (for "Web
  Mercator"), EPSG and ESRI codes, "eur79z30", "ijtsk" and "ijtsk03".  This
  means that we now support all the coordinates systems which Therion does,
  except for a few which don't have X=East and Y=North.  The documentation
  for *cs has also been improved.

* aven: We no longer persist full screen mode between runs - it's not a
  standard behaviour of desktop programs, and it's too easy to go into full
  screen mode from the menu and then not be able to get out again because you
  don't know the required key shortcut. (ticket#39)

* aven: When in full screen mode, moving the mouse to the top of the screen now
  makes the menu bar appear.  This provides a non-shortcut way out of full
  screen mode, as well as making it easier to perform other operations while in
  full screen mode.  The current implementation gives an annoyingly flickery
  transition, but hopefully we can improve this in future. (ticket#39)

* (MacOS X version): If built with wxWidgets >= 3.1.0 (which is still in
  development), we now call EnableFullScreenView() which improves the full
  screen mode experience on OS X 10.7 and later.

* img library: Improve documentation for img_ERROR_INFO.

* tests/: Ship some missing .out files and compare.tst.

* tests/: cavern.tst testcase back2 is now actually used.  Fix a bug in this
  testcase, and extend it to cover a variant of the situation reported as a bug
  in therion by Bill Gee to the therion list.

* (Linux version) survex.spec: Add run-time requirement on proj and proj-epsg
  for the survex package and on tk for the svxedit package.

Changes in 1.2.14 (2014-07-05):

* img library: Add ability to store a PROJ4 string describing the coordinate
  system in use in 3d v8 files.

* aven: If the 3d file specifies a coordinate system, then use it for exporting
  to formats which need to know (currently GPX).  If the input file doesn't
  specify the coordinate system, allow the user to enter a PROJ4 string in the
  export dialog.

* aven: You can now quickly zoom to a particular area by holding down the
  "Shift" key and dragging with the left mouse button to create a rectangular
  "rubber band box" around the area you wish to zoom to.  If you release the
  "Shift" key while still dragging, the box is centred on the start point
  rather than having one corner there.

* aven: Fix exporting of passage tubes in elevations and extended elevations
  - previously up and down were getting drawn across the page!

* aven: Fix "Cancel" to work on the print/export dialog, broken by changes in
  1.2.13.  (Reported by Brian Clipstone)

* aven: Fix the conditions on which the menu item "Cancel measuring line" is
  enabled - previously it was hard to actually cancel it via the menu.
  Reported by Hugh St Lawrence.

* aven: Fix wx assertion failures when showing hit test debug view on platforms
  such as 64-bit Linux.

* aven: When viewing from above, show "Plan" above the "clino" which indicates
  the tilt angle (instead of "Elevation -90°").

* aven: The extended font data now loads faster, and also uses less memory on
  64-bit platforms.

* aven: Dragging the vertical divider between the side panel and the 3D view
  now only updates when you finish the drag, as redrawing continuously just
  looks clunky except on an ultra-fast machine.

* aven: (German translation) Abbreviate "Blickrichtung" so it doesn't overfill
  the space available in the aven UI.

* cavern: Add a *cs command to allow setting the coordinate system for *fix
  commands, and the coordinate system used for processed survey data.  The
  latter is now stored in 3d v8 format files.

* cavern: Add support for 'L' flag (exclude from length) in Compass .dat files
  and handle it in the same way as the "DUPLICATE" flag in .svx files.

* cavern: If there's more than one *fix command with coordinates, still
  actually fix the second and subsequent ones, to avoid triggering bogus errors
  about unconnected surveys.

* cavern: If there's more than one *fix command with coordinates, report the
  station name of the previous one, plus the file and line number where it was.

* cavern: Fix handling of the rather contrived case of *fix with no coordinates
  followed by *solve and then another *fix with no coordinates not to access
  freed memory.

* dump3d: Report any specified coordinate system.

* doc/3dformat.htm: Update to document how the coordinate system is stored.

* (Microsoft Windows version): Include dump3d in the installer.

* Fix a compiler warning.

* Improve test coverage.

Changes in 1.2.13 (2014-05-15):

* aven: Fix --print option to wait for printing to happen before exiting
  (previously it would exit right after opening the print dialog, so you
  couldn't actually print anything out using it).

* aven: Increase the threshold for how close the pointer needs to be to a
  station from 5 pixels to 7 to try to help touchscreen users.  Reported by
  Hugh St Lawrence.

* aven: Add "fat finger" mode, toggled by pressing F2, to allow investigating
  if increasing the minimum pointer to station threshold helps Hugh's problems
  with using aven on a touch screen device.

* aven: The measuring line was unable to see stations which had just been
  revealed by toggling surface or underground legs on - this is now fixed.

* aven: Add "hit test grid debug" mode, which shows the hit test grid and how
  many entries are in each box (toggled by F3).

* aven: Pressing F4 now allows the user to toggle wxWidgets assertion messages
  off and back on.

* aven: Create the empty hit-test grid data structure lazily, to reduce start
  up time a little.

* cavern: Improve messages which talk about "tags" and/or "prefixes" in *begin
  and *end commands to instead talk about "survey names".

* cavern: For ages cavern has warned if you reentered a survey, but this
  warning was suppressed if it occurred at the same line of the same file as
  the survey was first entered, but this can only happen if you include the
  same survey file more than once, which isn't a sensible thing to do for a
  file with actual survey data in (you might reasonably do it to set up survey
  grade details or something like that).  The warning is now given in this
  situation too.

* cavern: After 5 warnings about reentering a survey we give up warning about
  it, but we used to keep reporting where the survey was originally entered -
  this secondary diagnostic message is now silenced when the main message is.

* (Microsoft Windows version): Compile C code with optimisation on.

* Add the start of a Russian translation, with messages take from therion.

* Minor translation updates to French.

* Fix compiler warning from GCC.

* Testsuite improvements:

  + Test that "..." anon station works.

  + cavern.tst: Check number of errors returned by all testcases which should
    fail and give an error count.

  + cavern.tst: Fix to actually fully test everything when builddir != srcdir.

Changes in 1.2.12 (2014-04-14):

* aven: Fix measuring line to show change in altitude rather than altitude
  itself (accidentally broken by changes in 1.2.11).  Reported by Brian
  Clipstone.

* aven: Fix printing when built with wxWidgets 3.0.

* aven: Several visual improvements to printouts:

  + Move the numbers below the scale bar down a little so that they don't
    overlap the scale bar ticks.

  + Set the clipping region after we draw the page border and info box to avoid
    clipping the border in print preview.

  + Tidy up the appearance of the compass and elevation arrow.

* aven: Fix to build with libav 10.  Reported by Moritz Muehlenhoff in
  <http://bugs.debian.org/739332>.

* aven: Fix to build with older libav where avcodec_free_frame() isn't
  available.

* (Linux version) survex.spec: Update spec file used for building RPM packages.

* (Unix version): Add "Keywords:" entry to .desktop files.

* (Unix version): Enable large file support, mostly to support filing systems
  which return 64 bit inode values, such as CIFS mounts.

* (Microsoft Windows version): Only allow "A-Z" or "a-z" for driver letters,
  rather than any character which is a letter in the current locale.

* Various translation updates.

Changes in 1.2.11 (2014-01-28):

* aven: Fix wxWidgets assertion when double clicking on an anonymous station.
  Reported by Kevin Dixon.

* aven: Embed the font data for the first 256 Unicode characters for use in the
  survey pane into the compiled aven binary to reduce start up overhead.  Any
  additional characters needed are loaded from a data file only if/when a
  character >= U+100 is actually needed (as before).

* aven: Fix display of Unicode characters above 256 when there's a character
  <= 256 earlier in the same string.

* aven: Use the actual width of Unicode characters above 256 rather than
  assuming they are 16 pixels wide.

* aven: If full screen, don't show the side panel when a new file is opened
  (e.g. via Ctrl+O).

* aven: Don't give an assertion failure when showing passages for a cave with
  no vertical extent.  Reported by Jonny Prouty.

* aven: Change terminology in print dialog - say "legend" instead of "info
  box".

* aven: Add option to show the tilt angle as a percentage gradient.

* aven: Show the units (degrees, grads, or percent) for the tilt and bearing
  indicators.

* aven: All length units are now translatable.

* aven: Split log_fl_error helper function out of CHECK_GL_ERROR macro, which
  will reduce code size and also the number of deprecation warnings about
  gluErrorString on Mac OS X 10.9.

* (Microsoft Windows version): aven: Try to work around redraw issues related
  to the measuring line by redrawing the whole window, which doesn't seem to be
  measurably slower.

* cavern: If *units is used to try to set units for LEVEL, PLUMB, or POSITION,
  give an error rather than quietly ignoring the attempt.

* cad3d: Make cad3d remap control characters and spaces in station names when
  generating PLT output in the same way aven does.

* Various translation updates (particular thanks to Eric Madelaine and Dennis
  Baudys), including the start of a Bulgarian translation, with messages taken
  from Therion and elsewhere.

* (Microsoft Windows version): On Microsoft Windows 2000 and newer, use
  GetUserDefaultUILanguage() to get the UI language to use.  For older
  versions, continue to use GetUserDefaultLCID().

* (Microsoft Windows version): The Indonesian translation will now be used
  automatically when the system language is set to Indonesian.

* (Mac OS X version): Fix to build with wx 3.0.0 on OS X 10.9.  Thanks to David
  A. Riggs for his work on this.

* (Mac OS X version): Update buildmacosx.sh script to use wx 3.0.0, and add a
  checksum check for the downloaded wx sources.

* Fix a lot of the compiler warnings when building with clang.

* doc/manual.sgml: Add missing quantities to the list documented as accepted by
  *units: LEFT, RIGHT, UP/CEILING, DOWN/FLOOR (missing entirely);
  BACKCOMPASS/BACKBEARING, BACKCLINO/BACKGRADIENT (missing from the main list,
  mentioned in list of the units that can be set for them); COUNT (missing
  alternative name for COUNTER); DX/EASTING, DY/NORTHING, DZ/ALTITUDE
  (incorrectly listed as X, Y, Z).  Reported by Jonny Prouty.

* Test suite: Improve test coverage for cavern.

Changes in 1.2.10 (2014-01-15):

* aven: Fix assertion if two mouse buttons are held down at the same time.
  If dragging with more than one mouse button held down, releasing one causes
  another which is still held down to take effect.  Reported by Brian
  Clipstone.

* aven: If we fail to start the external editor when the user clicks on an
  error or warning from cavern, show an error box.

* aven: If the survey has a title, add it as a top-level <title> element to
  exported SVG files.

* aven: Escape '<', '>', and '&' in labels in exported SVG files.

* aven: In GPX export, set the <time> element to the datestamp from the 3d
  file.

* aven: Don't try to write the title if it isn't set or is empty when exporting
  GPX files.

* aven: Don't bother looking up the printer page setup info when exporting.

* (Microsoft Windows version): aven: Fix crash on "File->Print" or
  "File->Export" under Windows XP, reported by Brian Clipstone.

* (Microsoft Windows version): aven: Fix error dialog about an incorrectly
  encoded filename which could occur if run without being asked to load a file
  on startup.

* (Microsoft Windows version): aven: Compile with optimisation on.

* img library, aven: Although processed CMAP data files are often referred to
  as "CMAP .XYZ files", it seems that actually, the extension .XYZ isn't used,
  rather .SHT (shot variant, produced by CMAP v16 and later), .UNA (unadjusted)
  and .ADJ (adjusted) extensions are.  Since we've long checked for .XYZ, we
  continue to do so in case anyone is relying on it, but also check for the
  other extensions.

* img library: Add new "datestamp_numeric" field to struct img giving the
  datestamp as a time_t in UTC (or (time_t)-1 if there's no datestamp or we
  failed to convert it).  For .3d >= v8, this field is reliable.  We attempt to
  convert date strings in .3d <= v7 and CMAP XYZ files, but may get the
  timezone wrong.

* img library: Fix my_strcasecmp() to handle top-bit set characters better.

* cavern: Fix NULL pointer dereference when processing Compass DAT file without
  'SURVEY DATE:'.

* doc/manual.sgml: Update references to Survex 1.1 which should be to 1.2.

* doc/manual.sgml: Note the station length limit Smaps used.

* Fix some compiler warnings if built with glibc's fortify source feature
  enabled.

Changes in 1.2.9 (2014-01-08):

* Document --3d-version in cavern man page and the manual.

* aven: Fix compilation error in movie export code with recent libavi.

* aven: Fix warning on stderr when export a movie as MPEG.

* img library: In non-hosted mode, don't define GETC and PUTC if they're
  already defined, to allow easy overriding with getc_unlocked() and
  putc_unlocked() (which are significantly faster on Linux).

* img library: In non-hosted mode, check that int is at least 32 bits,
  and if not, use long.  In practice, platforms with 16 bit int are mostly
  obsolete, but it's not hard to be portable here.

* img library: Add test that img.c and img.h compile in non-hosted mode
  (regression test for issue fixed in 1.2.8).

* (Microsoft Windows version): aven is now built with wxWidgets 3.0.0.

* Update translations from launchpad and from existing similar messages.

* Fix some compiler warnings.

Changes in 1.2.8 (2013-10-29):

* cavern: Fix handling of anonymous wall stations ('..' by default) to
  implicitly set the SPLAY leg flag, as was intended.  Reported by Thomas
  Holder.

* cavern: Tweak .err file output not to lose the space in front of certain
  statistics when the value gets large.

* cavern: Eliminate redundant progress message when solving simultaneous
  equations.

* aven: Add a format drop down to the export dialog, and only show fields which
  are meaningful and supported for the currently selected export format.  The
  format defaults to that used most recently.  The "Elements" and "View" boxes
  have been swapped in the print and export dialogs as that layout works much
  better when the "View" box is hidden.

* aven: Changing checkboxes in the print or export dialog didn't work in 1.2.7
  - now works again.  Reported by Anthony Day.

* aven: Add GPX export (based on findentrances patch from Olaf Kähler).  In
  this release the projection which the survey coordinates are in defaults
  to the BMN M31 grid used in the Totes Gebirge in Austria.  On Unix, you
  can edit ~/.aven and add a new line setting 'input_projection' to a PROJ
  projection string.  The ability to specify this projection in a better
  way is coming soon.

* aven: New export options "Origin in centre" and "Full coordinates" - the
  latter fixes #10.  GPX and PLT output implicitly force "full coordinates".

* aven: The "Sketch" vector drawing program got renamed to "Skencil" some
  time ago, so update references.

* aven: Make the Presentation->Play menu item a checkbox, to avoid a warning
  with wxMSW 2.9.5.  Reported by Brian Clipstone.

* aven: Make right click in an empty presentation mark the current position and
  open it to edit, instead of crashing.

* aven: Update movie export code to work with latest libav API.  Reported by
  Sebastian Ramacher.

* aven: Improve reporting of errors during the process of exporting a movie.

* aven: Don't try to close the movie if we aren't producing one.

* aven: Fix assertion failure when double-clicking on the survey with wx2.9.

* aven: Fix to build with wxMSW 2.9.5.

* aven: Fix to build with wx 2.9.5 with wx2.8 compatibility disabled.

* cad3d: The "Sketch" vector drawing program got renamed to "Skencil" some time
  ago, so add a new --skencil option to specify this output format.  The old
  name (--sketch) is still recognised for compatibility.

* cad3d: Make --marker-size work for Skencil and SVG output.

* dump3d: Make --show-dates option show dates for XSECT.

* img library:

  + Fix to work once more when used outside of Survex (missing definition of
    max() macro and a bad call to free() in img_close() for a file opened for
    reading).

  + Use lround() instead of round(), and make the tests around whether we use
    the library function or the our fallback implementation saner.

  + Fix // comments in C code for portability to pre-C99 compilers which don't
    support these as an extension.

  + Can now be compiled as C++ as well as as C.

* (Microsoft Windows version): The installer is now built with a newer version
  of Innosetup, and includes translations for all the languages which Survex
  itself has any translations for.

* (Microsoft Windows version): aven is now built with wxWidgets 2.9.5.

* Minor translation updates.

* tests/Makefile.am: Distribute files for "normal_bad" testcase.

Changes in 1.2.7 (2013-07-27):

* Add support for anonymous stations, which are indicated by one, two or three
  separator characters - with the default separator of '.', that means '.',
  '..', and '...' are anonymous stations.  Single separator ('.' by default)
  is an anonymous non-wall point, double separator ('..' by default)
  is an anonymous wall point at the end of an implicit splay), and triple
  separator ('...' by default) is an anonymous point (with nothing special about
  the leg).  A new *alias command allows '-' to be mapped to '..' for
  compatibility with pocket topo: *alias station - ..

* New version 8 of the 3d format:

  + Supports new flags img_SFLAG_ANON and img_SFLAG_WALL.

  + New explicit file-wide flag for 'this is an extended elevation', rather
    than modifying the survey title to indicate this.

  + The survey prefix is often unchanged from one leg to the next, so use a
    spare flag to compactly indicate when there's no label change.

  + The data style of each leg is now stored.

  + The "processed at" time is stored as seconds since 1970 rather than a
    human-readable string.

  + Since 3d v8 features significant changes to the format, the format
    documentation for v7 and earlier has been split off into 3dformat-old.htm.

* img library:

  + New station flags img_SFLAG_ANON and img_SFLAG_WALL.

  + Handle .pos files containing unnamed stations - don't suck the next line in
    as the station name, and set img_SFLAG_ANON for them.

  + Repurpose the long unused fBinary parameter to img_open_write() as a flags
    parameter, and add img_FFLAG_EXTENDED to specify that this is an extended
    elevation, in place of appending " (extended)" to the title.  Internally we
    still append this to the title (and remove it upon reading) when writing
    3d v7 or earlier, but for the new 3d v8 format, this flag is stored
    explicitly in the file.

  + img.h: Add comments for the lists of "Leg flags" and "Station flags".

* aven:

  + We now require at least wxWidgets 2.8.0 - it was released over 6 years ago
    now, and the wx developers consider even 2.8 to be rather long in the
    tooth.  We stopped testing building with wxWidgets 2.6 some time ago, and
    formally dropping support for older versions allows a number of workarounds
    to be removed from the aven source code.  Also, features deprecated in
    wxWidgets 2.9 are no longer used in our code.

  + Don't run incremental search on every key-press, as on a slow machine the
    short initial search(es) will take a while but not be useful.  Instead only
    actually run the search when we're told there are no more key-presses
    queued up.

  + Implement support for including cross-section information in exported SVG
    and DXF files (ticket#4).  The DXF export is untested currently.

  + Show splay legs faded by default, with menu options to hide them or show
    them like other legs.

  + Speed up loading a .3d file with cross-sections by using a map to convert
    station names to positions.

  + In the cavern log window, don't highlight a file:linenumber if there's no
    message after it, which avoids highlighting the "Included from" lines
    wrongly.

  + Fix not to crash when trying to report an error while starting up.

  + (MacOS X version): Change the menu shortcut for "Full Screen Mode" to be
    the OS X standard shortcut Shift-Command-F (previously we used F11, but
    that's used by the desktop).

  + Add checks for errors when reading the font file.

  + Remove useless extra quoting when invoking vim to show the location of an
    error from cavern.

  + Include GL/gl.h before GL/glext.h (needed on Debian wheezy).

  + Use wxValidator to simplify keeping svxPrintDlg member variables and fields
    in the dialog in sync.

* cavern:

  + Demote errors about invalid dates to warnings, since we've accepted *date
    for ages without any checks on the value, and so existing datasets
    probably contain invalid dates and dates in other formats.  (ticket#19)

  + New *alias command allows '-' to be mapped to '..' for compatibility with
    pocket topo: *alias station - ..

  + We want to warn if there's a clino reading which it would be impossible to
    have read from the instrument (e.g. on a -90 to 90 degree scale you can't
    read "93" (it's probably a typo e.g. for "39").  However, the gradient
    reading from a topofil is typically in the range 0 to 180, with 90 being
    horizontal.  Really we should allow the valid range to be explicitly
    specified, but for now we infer it from the zero error - if this is within
    45 degrees of 90 then we assume the instrument can read between 0 and 180
    degrees.

  + If the survey isn't all connected, still run survey tree checks and report
    errors and/or warnings which might suggest typo locations.  Thanks to Kevin
    Dixon for the report which highlighted this issue.

  + Report a warning if *begin SURVEY has a separator character in SURVEY.

  + Report column numbers as well as line numbers for some cavern errors and
    warnings.

  + Adjust width of node stats table to fit longest count when there are more
    than 9999 of a particular order of node.

  + If the argument to *include has an opening double quote but the closing
    double quote is missing, then skip trying to open the file.

  + Move "Station X referred to just once" warning after non-existent survey
    check - if both fire, the non-existent survey error is likely to be more
    relevant.

  + We no longer follow an error for a bad reading in passage data with a bogus
    "End of line not blank" error, but instead check the remaining readings on
    the same line.

  + We no longer follow an error about OMIT for a required reading with a bogus
    "End of line not blank" error.

  + Report an error if the scale factor in *calibrate is zero - it doesn't make
    sense and probably means someone reversed the arguments to *calibrate.

  + Report the parent include files starting from the outermost, as that's more
    logical when there are multiple levels involved.

  + If we were expecting a numeric field and instead get something which starts
    with '+', '-', or '.' but which isn't a number, then fix the error to
    include that character in the token reported.

  + Simplify handling of quantity lists to only recognise 'DEFAULT' as the
    first item.

* cad3d: Check for errors from img_rewind() and report them.

* dump3d:

  + Build, install and package dump3d as standard - it's useful for grabbing
    info from 3d files in scripts.

  + Add --show-dates option.

  + Show only 2 decimal places on coordinates and passage dimensions.

  + Report the data style of legs.

  + Report if the file is an extended elevation.

  + Report img_STOP as STOP rather than CODE_0xffffffff.

* Test suite:

  + cavern.tst: Fix equatenosuchstn testcase (added in 1.2.6) to normalise the
    expected output so it passes reliably.

  + cavern.tst: Run diffpos <expected> <actual> so the reports of 'Added' and
    'Deleted' stations upon failure are the more natural way round.

  + Add more testcases, expand some existing testcases, and add expected output
    for more.

* (Microsoft Windows version): Use wx-config's --cc and --cxx flags to find the
  appropriate C and C++ compilers to use, and link mingw build statically to
  avoid needing the libgcc DLL (which newer GCC seems to have by default).

* (Unix version): When determining the character set for command-line tools,
  check environmental variable LANG after LC_ALL and LC_CTYPE.

* When determining the language, check environmental variable LC_ALL before
  LC_MESSAGES and LANG (but after SURVEXLANG).

* If we don't find the message file, only give an error if it was specified
  with SURVEXLANG, since that is an explicit instruction to Survex, whereas
  LANG, LC_ALL and LC_MESSAGES are essentially system "preferred locale"
  settings.

* There are a handful of hard-coded English message strings for reporting
  errors trying loading message files, etc.  These are all now ASCII, as if we
  fail trying to open a message file, it's more likely the encoding isn't
  set correctly.

* Prune strings we are no longer using and are probably unlikely to use again
  into a new file po_codes_dead, so that translators don't get presented with
  them to translate.

* Merge lots of translation updates.  Most translations are now complete or
  close to complete.

* Add start of Indonesian translation from Arief Setiadi Wibowo.

* Fix various compiler warnings when building from source.

* Include scripts gdtconvert and gen_img2aven in the source distribution.

Changes in 1.2.6 (2012-02-23):

* (Mac OS X version): Fix so that cavern finds its messages when run by aven.

* (Microsoft Windows version): Include JPEG images for aven in the installer
  package (ticket#35).

* cavern: If we have a reference to a station in a non-existent survey, give a
  helpful error rather than saying the station hasn't been exported from the
  survey.  (Bug reported by Martin Green via email)

* aven: Fix to build with a non-Unicode wxWidgets library.  Patch from Olaf
  Kahler.

* findentrances: Add findentrances utility from Olaf Kahler which produces a
  .gpx file with waypoints for entrances.  This needs libproj so is disabled
  by default for this release - to enable it install the development stuff for
  libproj and build survex with:

      make FINDENTRANCES=findentrances
      make install FINDENTRANCES=findentrances

* dump3d: Add support for showing img_ERROR_INFO items.

* doc/3dformat.htm: Merge in some improvements from Mike McCombe.

* Incorporate a French translation from launchpad I'd previously copied the
  English version of by mistake.  Attempt to correct mistranslation of "survey
  file".

Changes in 1.2.5 (2012-01-03):

* aven:

  + The survey tree in the left panel is now in sorted order once more.

  + No longer fails with an assertion if used for a long time (we were leaking
    an OpenGL list each time one had to be regenerated).

  + Now builds with newer FFmpeg library.

  + Draw measuring line in front of the indicators rather than behind them.

  + Loading a new file (or reloading the current one) no longer invalidates
    the OpenGL lists for the compass and clino, so will be a fraction faster.

* Improve handling of attempts to look up translated messages before the
  message subsystem is fully initialised (which only happens if there's an
  error early on).

* Improve the survex(7) man page text, and fix it to be marked as section 7 in
  the man page source as well as in the filename.

Changes in 1.2.4 (2012-01-01):

* aven:

  + A change in 1.2.3 meant that aven tried to use OpenGL before it was
    initialised, which doesn't cause problems in some machines, but causes aven
    to abort on others.  This is now fixed, and there's a check in place to
    help avoid similar issues in future. (ticket#34)

  + Always use metres or feet for the depth colour key, and chose a consistent
    precision by looking at the depth range. (ticket#30)

  + Show the depth units below the colour bar rather than after every value.

  + When zooming way in, stay in metres rather than switching to cm.

  + On the scale bar, say “1 mile” rather than “1 miles”.

* Translation updates for Catalan, French and Slovak.

Changes in 1.2.3 (2011-12-31):

* Fix to build with wxWidgets 2.9.2.

* (Mac OS X version):

  + Processing .svx files from aven now works.

  + Remove spurious blank lines from the licence text in "Get Info".

  + Don't create the help menu at all, as it is empty (because the "About"
    entry goes elsewhere) and sometimes seems to appear in the UI.

  + INSTALL.OSX: Update to reflect current status.

* aven:

  + Fix Y coordinates of surface surveys on printouts.  (Closes #32)

  + Improvements to text plotted on the survey pane:

    - Support plotting Unicode character points > 256 by lazily loading the
      data for them from the font file and plotting them with a direct call to
      glBitmap(), which is slower but doesn't require a display list per
      character.

    - Adjust the spacing from fixed width to putting a one pixel gap either
      side of each one character (so two between adjacent glyphs).  Mostly this
      reduces the horizontal width, but it adds a pixel for characters like "m"
      and two in a few cases.

    - Fix .pixelfont file generation to correctly handle characters wider than
      8 pixels.

  + Fix expected cross shape so don't always reject using texture mapping to
    draw crosses.

  + As we read a survey file, eliminate tubes consisting of zero XSECTs as well
    as those consisting of just one.  Previously we would trip over the empty
    tube later.  Such tubes can for example be created by extend if a splay shot
    is the start or end of a tube.

  + Make the green colour used for entrances in the survey tree the same
    (slightly darker than before) green used for the entrance blobs.

  + Report the version of the library we're actually running with if built
    against wx >= 2.9.2.  Make it clear that the version reported is the
    version *built* with for wx < 2.9.2.

* extend:

  + Copy the end markers for passage tubes.

  + Preserve left and right data for tubes (previously they were set to -1.0
    which means "no info").

* img library: Fix incorrect comment in img.h which claimed that img_XFLAG_END
  was no longer used - it certainly is!

* Use curly double quotes instead of "`" and "'" to quote filenames, etc in
  messages, and curly single right quote instead of straight ASCII apostrophe.
  Fall back to using straight ASCII versions if we can't represent them in the
  current character set.

* Translation updates for Catalan, French, Slovak and Spanish.

* Test suite:

  + Add test coverage for interleaved diving data.

  + Add testcase for diving data with topofil-style distance.

Changes in 1.2.2 (2011-10-06):

* aven:

  + Replace the textured-mapped font drawing with an approach based on
    glBitmap.  This doesn't suffer from the character alignment issues which
    the textured-mapped fonts had, and is actually significantly faster on some
    machines.  The current font used is (mostly) fixed-width, but this isn't an
    inherent limitation - it was just the easiest font data to convert to a
    usable format.

  + Fix assertion failure due to rounding differences on loading certain .3d
    files.  (ticket#26)

  + Fix assertion failure when turning on 3D passages if they stick out higher
    or lower than any station.  (ticket#29)

  + Fix grid not to disappear when blobs are turned on and blobs are drawn
    using lines.

  + If a degree sign isn't available in the character set in use, transliterate
    it to 'dg' rather than skipping it.

  + Fix message which should have been a degree sign but got lost in the format
    change for 1.2.0 and then got reassigned in 1.2.1.  Externally, this means
    that bearings in the status bar now have a degree sign after them if they
    are in degrees rather than nothing (1.2.0) or "&Hide Compass" (1.2.1).

  + Fix print dialog to calculate the scale required for "One page" right
    before it calculates how many pages are required, so we don't end up
    something other than 1x1 being shown when the user changes settings.

  + Update the calculations for picking a scale and for deciding how many
    pages are needed to take into account the change in info box height made
    in 1.2.1.

Changes in 1.2.1 (2011-10-04):

* Translation updates for US English.

* aven:

  + Rename the "depth bar" to "colour key" in documentation, menus, etc since
    it now shows colours for dates and errors as well as depths.

  + In the colour key for "colour by date", change "No info" to "Undated".

  + Remove the dark grey background from the colour key and just put a single
    pixel black border around the colours.  This is more in keeping with the
    other controls, and means the colours are now on a black background so more
    visually similar to the survey legs.

  + Move the colour key's "Undated"/"Not in loop" entry down a little to
    improve the appearance.  Make each section a pixel taller.

  + Allow "Colour by X" to be selected even if there's no data for X or only a
    single value of X used (the colour key is much smaller in these cases, and
    does still provide some useful information).

  + Fix incorrect calculation of depth colouring for survey legs which straddle
    a depth band boundary.

  + The scale bar, compass, clino, and colour key now all have right click
    menus which allow related actions to be performed (especially handy in
    full-screen mode).

  + Improve the font used on the survey pane - it now contains the '-'
    character (so the clino now shows negative angles as negative, and dates
    in the colour key are now hyphenated).  Also the spacing and alignment
    are a little better, though still not perfect.

  + PLT file export now handles spaces and control characters in station names
    by escaping them with '%' as in URLs.

  + Pressing "Enter" on a station in the tree control now centres the view on
    that station.

  + The scale bar is now cached in an OpenGL display list since it often gets
    redrawn exactly the same - for example, when rotating, panning, etc.

  + Pressing "F5" forces all cached OpenGL drawing lists to be invalidated and
    then forces a refresh of the survey pane.  This is intended as a debugging
    aid - if pressing F5 changes the display at all then there's a missing case
    where a list should have been invalidated (please report if you find such
    a case as it is a bug).

  + We now automatically track which OpenGL display lists need to be
    invalidated on window width or height changes.

  + Increase scale bar maximum width from 65% of the window width to 75% as it
    was in 1.0.x (except that if that would overlap the clino we now reduce
    that proportion down until it reaches 50%).  Make the limit of zooming in
    the same as in 1.0.x.  (ticket#23)

  + (Linux version): Previously wxGTK didn't really handle showing a dialog if
    the application was fullscreen (the dialog got opened under the main
    window!)  To work around this, aven would switch out of full screen mode
    temporarily while showing a dialog.  This case works properly with recent
    wxGTK, so disable our workaround with versions we know work.  Also, apply
    the workaround only for wxGTK, not everywhere except on Microsoft Windows
    as there's no reason to think we need it for other platforms.

  + Grey out the "View North" action when we're already viewing North, and
    similarly for other compass points.

  + (Mac OS X and Microsoft Windows versions): Fix missing newline to OpenGL
    info in the "About" dialog.

  + Fix to set the correct filename on the root of the survey tree - previously
    the filename of the previous file loaded was used!

  + The movie export code now works with newer versions of the FFmpeg libraries
    as well as still working with older versions.

  + Fix mixed up messages - the print dialog now says "View" on the left
    subgroup of controls rather than some unrelated message.

  + On printouts, combine the "Plan View"/"Elevation" info box field with the
    field which gives the bearing and reduce the height on the info box by the
    removed field, so it's now 3cm for plans and elevations, as for extended
    elevations.  Report the tilt angle for tilted elevations which it seems has
    been missing for ages (it's not in recent 1.0.x either).

  + Tweak the exact positioning of informational text on printouts to look
    nicer and make better use of the available space.

  + Add keyboard mnemonics to the "Plan" and "Elevation" buttons in the print
    dialog.

  + Make the sign of the tilt angle for printouts consistent with the sign
    shown by the "clino" in the survey pane.

  + In the "Print" dialog, when in plan view disable the "Plan view" button,
    and similarly for the "Elevation" button.

  + (Microsoft Windows version): Sort out appearance of custom cursors.

  + If a label isn't valid UTF-8 or CP1252, fall back to ISO8859-1.

  + (Mac OS X version): F11 puts aven into full screen mode, but apparently
    you can't get out again easily, so add code to explicitly check for F11
    being pressed and toggle full screen.

* (Linux version): Fix the RPM .spec file for where man pages now get installed
  and package aven.svg and the vim support files.  (Fixes from James Begley)

* "make check" now performs several checks on the translation files.

* More messages are now available to be translated.

* cavern: Fix reporting of ranges of survey coordinates, which was broken by
  the message handling changes in 1.2.0.

* Fix warning when compiling with GCC.

* INSTALL: Mention building wxWidgets with --enable-unicode.  Mention using
  sudo for installing on Unix.

* In the manual, replace the instructions for building from source with a
  pointer to the clearer instructions in INSTALL.

* In the manual, make it clear that installing with administrator rights
  also applies to newer platforms than XP.

* doc/TODO.htm: Update.

Changes in 1.2.0 (2011-09-20):

* Translation updates for Catalan, French, Romanian, Spanish, Slovak, and US
  English.

* tests/smoke.tst: aven no longer requires an X display for --help or
  --version, so replace skip of this check with a check that this remains the
  case.

* We now use the standard .po and .pot file formats for storing translations
  (rather than the Survex-specific messages.txt format), and then translate
  these into Survex's .msg format.

* (Unix version): Move survex man page to section 7 (since it isn't documenting
  an actual command).

* (Unix version): Write each generated man page to a temporary file, then
  atomically rename, to avoid leaving an empty or partial man page behind if
  docbook-to-man dies (1.1.16 had an empty cad3d.1, and we want to avoid a
  recurrence of that).

* (Unix version): Default to installing docs into /usr/share/doc/survex rather
  than /usr/doc/survex.

* aven:

  + Fix handling of accented characters in the survey pane.

  + Aven icon redrawn in SVG format - it's now a vector image which looks
    nicer at larger sizes.

  + Explicitly request double-buffering, which seems to be needed for systems
    with GLX >= 1.3.

  + Fix crash while trying to load certain .3d files.

  + Movie export code updated to work with more recent versions of FFmpeg.
    Currently this is disabled in Microsoft Windows builds, pending getting the
    required libraries set up for building releases.

  + Reporting of errors during movie export improved.

  + Force playback speed to "x1" during movie export.

  + Use stock IDs for buttons where appropriate - such buttons may now be
    rendered with icons on some platforms.

  + If a label isn't valid UTF-8, treat it as CP1252 (the Microsoft superset of
    ISO8859-1).

  + (Unix version): Remove special handling for toggling "full screen" on wxGTK
    as it's no longer required with modern versions.

  + Don't redraw the survey on every mouse movement in the survey pane unless
    the measuring line is (or just was) active.  (ticket #17)

* cavern:

  + Drop "non-fatal" from the report of how many errors there were at the end
    of the run - it just confuses users - we won't even get here if there's a
    fatal error!

  + Add --3d-version option to allow the user to specify the version of the 3d
    format to output.  (ticket#21)

* img library:

  + Make the highest and lowest valid values for img_output_version available
    in img.h as IMG_VERSION_MIN and IMG_VERSION_MAX.

* (Mac OS X version): Fix buildmacosx.sh script to check where the temporary
  volume actually gets mounted.  Fix URL for downloading wxWidgets.

Changes in 1.1.16 (2011-05-16):

* Translation updates for German, Spanish, Italian, Portuguese, Brazilian
  Portuguese, and US English.

* Use horizontal ellipses character rather than '...' and right arrow character
  rather than '->' where these characters are available.

* (Unix version): Link with -lGL, if it exists, to support linking with gold or
  GNU ld --as-needed (Debian bug #615781).

* img.c:

  + Fix code typo for IMG_API_VERSION == 0 case.

  + Fix code typo in code used when IMG_HOSTED isn't defined.

* doc/TODO.htm: Remove entries which have now been done.

* (Microsoft Windows version): aven: We now include all the available
  translations for messages from wxWidgets, which means that standard widgets
  will appear translated where available even if Survex messages aren't
  translated.

Changes in 1.1.15 (2010-10-15):

* aven:

  + In the cavern log window, change the "Rerun" button to "Reprocess" to
    follow terminology in manual and elsewhere.  Fixes ticket#15.

  + When displaying output from cavern, don't update the window after every
    line, but only when we don't have data from cavern pending.  Hopefully
    addresses ticket#12.

  + If we aren't using GL_POINTS for blobs, draw them using a series of
    abutting lines rather than with gluDisk which is faster and gives a
    consistent shape.

  + Check whether blobs and crosses actually render correctly as points/point
    sprites, and if they don't, fall back to drawing them with lines.  The
    best method is cached on disk, and rechecked automatically if the graphics
    hardware is changed or the drivers upgraded.

  + Fix non-USE_FNT case to work again (it's limited to ISO-8859-1 characters
    though, so we still enable USE_FNT by default).

  + Don't offer "All files" wildcard in presentation save dialog.

  + (Microsoft Windows): Handle filenames with non-Latin1 characters in in
    more places.

  + (Microsoft Windows): Quote filenames with spaces and metacharacters in
    when running cavern from aven.  Fixes ticket#11.

* editwrap: (Microsoft Windows): Handle filenames with non-Latin1 characters.

* diffpos: Handle files with duplicate labels in better - extend generates
  duplicate labels when it breaks a loop.

* Enable eswap-break testcase now that diffpos handles duplicate station names.

* New v7 of .3d format which stores survey dates as number of days since
  January 1st 1900, so we now support dates from 1900-2078 (rather than
  1970-2037) with a smaller file size.  The img API is now versioned - you
  can select the new "version 1" by compiling with -DIMG_API_VERSION=1, which
  gives the survey dates in days in days1 and days2 instead of as time_t
  values in date1 and date2.  Fixes ticket#14.

* Consistently use http://survex.com/ rather than http://www.survex.com/ - the
  former has been the canonical name for some time, with www.survex.com just
  redirecting to it.

* (Unix version): Use unlocked file I/O if available, which can be much faster
  in some cases (we don't need the locking as we don't do multithreaded file
  I/O).

* (Mac version): Fix compilation failure due to clash with Point in Mac OS X
  headers.

* (Mac version): buildmacosx.sh now works again.

* Most tests weren't actually running any testcases (looks like a sh
  portability issue).  This is now fixed, and fortunately all tests still pass.

* Include the extra .isl translation files for Innosetup in the source archive.

Changes in 1.1.14 (2010-07-26):

* Restore compatibility with wxWidgets 2.6 (1.1.13 required wxWidgets 2.8).

* aven:

  + After processing survey data, if there were warnings or errors, add a
    "Rerun" button to allow easy reprocessing after fixing problems.  If there
    were only warnings, also add an "OK" button to allow moving on to viewing
    the processed survey data (fixes ticket#13).

  + Optimise updating of the cavern log window (hopefully fixes ticket#12).

  + Fix links in cavern log window to link from exactly '<file>:<line>' (and
    not the ': ' after), and to make the title for the terminal the
    warning/error message.  Avoid false positives by checking that '<line>' is
    a number.

  + Don't double escape the contents of href and target in links in the cavern
    log window.

  + Improve handling of the splitter window, fixing behavioural glitches in
    various cases.

  + Highlight stations matching any current search when a file is loaded.
    (ticket#9)

  + (Mac version): Fix build issue due to Mac OS X polluting the global
    namespace with its own "Point" class.

  + (Unix version): The Gnome print dialog has its own preview window so
    suppress ours if using the Gnome one.

  + (Unix version): Link aven with -lGLU which SuSE Linux needs.

  + (Microsoft Windows version): Fix handling of a double-click on the survey
    tree when built with wxWidgets >= 2.8.11.

* cavern: Report relevant file and line number for three warnings which didn't
  give them before.

* (Unix and Mac versions): configure: Update the wx-config probing code -
  wxmac-config etc aren't present with newer wxWidgets versions so there's no
  point looking for them now.

* (Mac version): buildmacosx.sh: This script builds a diskimage with Survex in
  for easy installation.  Update it to work with the latest Survex versions
  (use WX_CONFIG not WXCONFIG; use a Unicode build of wxWidgets; if building a
  private wxWidgets, use 2.8.11 not 2.7.0-1).

* manual:

  + Correctly capitalise "GTK".

  + Note that on Linux we only regularly test builds with the GTK+ version
    (change taken from 1.0).

* Fixed the cad3d man page, which was an empty file in 1.1.13.

Changes in 1.1.13 (2010-06-16):

* Say "wxWidgets" instead of "wxWindows" consistently.

* img.c: Fix small memory leak (filename_opened member).

* cad3d, aven: Fix export to SVG when a label contains a '%' character.

* aven:

  + wxWidgets 2.6.0 or newer is now required.

  + A "Unicode" build of wxWidgets is now supported.  An "ANSI" build may still
    work but hasn't been tested recently (all packaged versions of wxWidgets
    seem to be Unicode now).

  + Fix potential uses of uninitialised variables which may have been causing
    occasional glitches when loading a file on start-up.

  + Improvements to the handling of the font used for plotting labels and other
    text on the survey pane:

    - Loading the font file is more efficient.

    - Character spacing is improved.

    - Default font is now anti-aliased.

  + "About" dialog:

    - Add "Copy" button to copy the system info to the clipboard for easier
      bug reporting.

    - List OpenGL extensions last, since there are usually lots of them with a
      modern gfx card.

    - Fix 100% CPU usage while the "About" dialog is open.

  + Processing .svx files:

    - Passing a .svx file on the command line now works better.

    - Put the survey data log window in a splitter in the usual frame rather
      than opening a separate frame for it.

    - Auto-scroll the log window until we've reported a warning or error.

    - Fix small memory leak.

  + The presentation filename now defaults to using the basename of the
    currently loaded dataset, but we always prompt before we first save with
    such a name.

  + Reduce memory usage when saving a screenshot.

  + Allow "Toggle Fullscreen" to work even if no survey is loaded now that we
    persist the window size (and maximised or fullscreen state) between
    invocations.

  + Fix reporting of OpenGL errors.

  + Fix glitches when tilting while looking East.

  + Added Portuguese and Slovak translations of wxWidgets messages.

* Documentation:

  + Rationalise manual formats - replace PostScript with PDF and drop RTF.

  + Drop the "alternative manual formats" self-extracting zip file - people
    will generally just want one of the formats, so downloading several
    together isn't very useful.

  + 3dformat.htm: Update for v6 format (thanks to Mike McCombe).

  + GPL.htm: Replace HTML version of licence with a link to the version on
    the FSF website.

  + ChngeLog.htm: Stop generating an HTML version of the ChangeLog - it's too
    low level to be of interest to non-developers, and developers can look at
    the source code.

* (Unix version): configure: New preferred name for specifying wx-config script
  is WX_CONFIG.  WXCONFIG still supported for compatibility.

* (Linux version): Source RPM package dropped as you can just build an RPM
  package from the source tarball.

* (Microsoft Windows version): The installer is now created with a newer
  version of InnoSetup, which gives a 10% smaller download.

Changes in 1.1.12 (2007-02-07):

* aven:

  + Remember the window size or maximised/fullscreen state between invocations.

  + Add options dialog to "Export" similar to the one for "Print".

  + The "number of pages required" in the print dialog now updates when you
    change what is to be shown (underground legs/surface legs/station
    names/crosses).

Changes in 1.1.11 (2006-11-25):

* Updated Czech, Spanish, and Slovak translations.

* (MacOS X version): Assorted OS X specific tweaks and fixes.

* aven:

  + Pick a smaller and clearer font for labels.

  + Fix character spacing.

  + Tweak display of bearing and elevation angles to look nicer with
    proportional fonts.

  + Use the title from the 3d (or plt, etc) file for the window title
    rather than the filename.

  + Show distances to 2 decimal places rather than the nearest integer.

  + Only consider underground legs when calculating the depth bands and
    depth colouring.

  + Add "Colour by Error".

  + Add entry for "white" in date and error keys.

  + When setting the view to a single point, don't change the scale.

  + If reloading the same file, don't change the view

  + Fix filetypes selector in open dialog.

  + Fix the charset we use for aven in certain cases.

  + Call msg_init before using msg_lang or it won't ever be set!

  + Pass wx the full language code to initialise the C library locale.

  + Fix bug in generating prefix tree view which could lead to a bogus
    leading dot on some survey names (bug probably introduced in 1.1.10).

  + "New Presentation" now ensures that the side panel is open

  + Fix updating of cached opengl lists when the view is reset to the
    default.

* Ignore LANG if it starts with a digit to avoid problems with bogus value for
  LANG which AutoCAD installation seems to set on MS Windows.

* (Unix version): configure: Allow SGMLTOOLS and DOCBOOK_TO_MAN to be
  specified.  Either/both can be set to ":".

* dump3d: Report unknown (to dump3d) codes returned by img.

* img library: Flag all stations as underground in the old "ASCII" .3d format.

Changes in 1.1.10 (2006-07-14):

* aven: Clicking on a survey name in the survey tree now highlights it in
  the map view.  Double-clicking zooms the view to show the clicked survey
  highlighted.  Clicking the root clears the highlighting and double-clicking
  the root restores the default view.  To expand/collapse a branch, click
  on the "[+]" or "[-]" icon to the left of the survey name.

* aven: The measuring line can now measure to anywhere in plan or elevation
  view (not just to a station!)  In plan view the horizontal distance and
  bearing are shown, while in elevation view the vertical distance is shown.

* aven: Moving the mouse over a station in the survey view now highlights
  that station in the survey tree (though it may not be visible if the
  survey(s) it is in aren't expanded).

* aven: Clicking on a station to centre the view now moves the mouse pointer
  to the new location of the station (except on Mac OS X where this isn't
  allowed).

* aven: Fix which presentation toolbar buttons are shown as depressed.

* Fix infinite loop reading 3d files with LRUD data (bug introduced in 1.1.9).

* vim files are now installed with the correct paths (bug introduced in 1.1.9).

Changes in 1.1.9 (2006-07-04):

* (Unix version): Install desktop files for aven and svxedit contributed to the
  Ubuntu package by Phil Bull, and corresponding pixmaps.

* Fix img to filter out cross-sections which don't match the subsurvey (if
  specified).  The API now returns img_XSECT_END to mark the end of a
  passage rather than setting a flag on the last img_XSECT of the passage.

* Enhance integration with the vim editor - this can now colour .err files, run
  cavern from vim and parse error output, and run aven from vim.  Tweak the
  existing vim mode for .svx files to fix a few minor bugs and add support for
  the new "*data passage" style.

* aven: fix drawing of the "blob" end of the measuring line on graphics cards
  which can't draw large enough blobs for us.

* aven: sort out confusion about what encoding everything is in which means
  that the distance measured by the measuring line actually gets displayed
  and also fixes problems with empty menu items in non-English locales in
  some cases.

* aven: redraw grey background after a menu is closed over the aven window
  with no survey loaded.

* aven: fix bug which caused printing to crash (introduced in 1.1.8).

* aven: avoid crash on some machines when opening "About" dialog before having
  loaded a survey.

* aven: Translate "Plan" and "Elevation" buttons in print view dialog.

* (Unix version): aven: Fix character set handling of cavern output.

* cavern: Report an error if a cross-section is specified for a station which
  doesn't exist.

* Updated French and Italian translations.

* (Unix version): aven: Fix "Can't open message file `en_US' using path
  `${prefix}/share/survex'" error.

* Fix bug in 3d file reading on 64 bit platforms when used in STANDALONE mode
  (doesn't affect Survex itself, but other applications which use img.c should
  update their copy).

* (Unix version): Add checks that wxWidgets is a non-unicode version (wx 2.6
  and later are caught by configure, whereas older wx versions are caught when
  trying to compile).

Changes in 1.1.8 (2006.06.30):

* Drop support for building with wxWidgets versions prior to 2.4.0
  (which was released on 2003-01-07).

* aven: Printing through aven now uses settings from the "[aven]" section
  of print.ini, and support for hierarchical sections (using "like=")
  has been disabled.

* aven: Change mouse actions to be compatible with those in Survex 1.0.
  The mousewheel now zooms in/out (it doesn't do anything in 1.0) and
  left drag is now smart about not rotating and zooming at the same
  time.

* aven: Highlighting stations now happens as you type, and pressing
  "Enter" or clicking the "Find" button now pans and zooms to show the
  highlighted stations.

* aven: Left-clicking away from a station now cancels measuring line.

* aven: Setting view to North, South, East, or West is now animated like
  the tilt from plan to elevation.

* aven: Fix presentation saving to also write "." for decimal points and
  presentation loading to accept either "." or ",".

* (Unix version): aven: Add text for all toolbar items so that aven
  will work with the Gnome desktop preference for displaying toolbars as
  icons with text or just text (wxWidgets needs fixing first though).

* (Unix version): aven: Remove the ability to detach the menu bar (yell
  if you actually used it and I'll restore it!)

* aven: Add "all survey files" option to the "open file" dialog.

* (MS Windows version): aven: Fix cursor keys to pan survey.

* (MS Windows version): Built with wxWidgets 2.6.3 instead of 2.6.2.

* (MS Windows version): Fix installer to work on Windows 2000 or XP if
  run by an unprivileged user.

* (MS Windows version): Upgrade to the latest version of InnoSetup (the
  installer builder we use) and include new installer translations for
  UK English, Spanish, Brazilian Portuguese, Italian, Romanian, and Slovak.

* (MS Windows version): aven: Include Catalan and Brazilian Portuguese
  translations of messages for wxWidgets (the GUI library we use).

* aven: Disable "Highlight exported points" if there aren't any.

* Updates to French translation from Michel Bovey.  Also updates to German,
  Italian, Catalan, Spanish, and Romanian translations.

* (Unix version): test suite: fix smoke test to pass even without X running
  (it was meant to but the code had a bug).

* aven: Check if OpenGL is available and exit cleanly with a helpful error
  if it isn't.

* (Unix version): aven: Fix --help and --version to work without a working
  X display (provided it's built with wxWidgets 2.5.1 or newer).

* aven: Automatically select the presentation tab of the notebook when the user
  selects "New Presentation" or "Open Presentation".

* aven: Fix "Delete" in the presentation list to not get passed on (and so not
  reset to default view as well).

* aven: Fix Ctrl+Insert in the presentation list not to segfault if the list is
  empty.

* aven: Fix Cursor Up and Down in the presentation list to move the highlight
  up and down instead of being passed on and moving the survey.

* aven: Improve SVG output compatibility.  Tested with Mozilla Firefox 1.5,
  Adobe's SVG browser plugin, Gimp 2.2.8, Gqview 2.0.0, Opera 8.5,
  Safari 2.0.3, and InkScape 0.42.

* aven: Put a 5mm border around exported SVG files to allow for station markers
  and non-zero width lines.

* aven: Fix crash when exporting as SVG or Sketch if labels or surface data
  was turned on.

* aven: Actually close the file we're exporting which fixes problems with it
  not always being fully written.

Changes in 1.1.7 (2005.10.18):

* cavern: Add validity checking for dates in *date commands (with feature
  test in testsuite).  A date entered as just "year" or "year.month" now
  becomes a date range for the relevant period (previously it became a single
  date near the middle of that period).

* extend: Fixed 2 uninitialised flags (should fix erratic behaviour on
  with MS Windows).

* extend: Default output name for a file called input.3d is now input_extend.3d
  rather than just extend.3d (which was annoying if you wanted to extend
  several surveys in the same directory).

* aven: OpenGL 2.0 always includes support for point sprites so rework
  our check for them to include that knowledge.

* aven: Regenerate depth bar if user switches to/from metric units.

* aven: Don't clear the "there" mark just because the mouse pointer has
  moved off a station.

* aven: When processing a .svx file, put the resultant .3d file in the
  same directory (since that's where we then try to load it from).

* aven: Fix labelling of date colouring on 32 bit platforms.

* aven: If "colour by date" is on and we load a survey with no date info
  (or all surveyed on the same date) then set "colour by none".

* aven: Make the error dialog modal and remove a signal handler once it
  has fired to prevent endless (or seemingly endless) cascades of error
  dialogs.

* aven: Enforce a minimum object volume diameter of 1m to avoid problems
  if a survey file with only one station in is loaded.

* aven: Fix problems with indicators disappearing when we're drawing
  blobs and/or crosses the slow (but always supported) way.  (Problem
  introduced in 1.1.6).

* (Unix version): aven: Really stop setting extra toolbar margin when using
  GTK2.0.  The attempt to fix this in 1.1.3 failed because __WXGTK12__ is
  set for GTK+ 1.2 or *any later release* so is true for GTK+ 2.0 too!

* (Unix version): aven: Add details of which of wxGTK, wxMotif, and wxX11
  we've been compiled with, and which GTK+/Motif version where appropriate.

* (Unix version): Fixed build on Fedora Core 3.

* documentation: Updates to 3d file format specification from Mike McCombe.

Changes in 1.1.6 (2005.10.10):

* (MS Windows version): Distribution is about a third smaller than 1.1.5
  (mostly because mingwm10.dll is no longer required).

* aven: If aven is asked to load a .svx, .dat, or .mak file, run cavern on
  it, showing cavern's output in a window (with errors and warnings clickable
  to load the offending file into an editor), and then loading the resulting
  3d file.

* aven: Added "Colour by Date" option.

* aven: Disable "Colour by Depth" option if there's no elevation variation.

* aven: Don't crash if trying to load a survey with no elevation variation.
  Instead turn off depth colouring.

* aven: Export as HPGL added.

* aven: Improved update of mouse coordinates and measuring line (thanks to
  Martin Green).

* aven: Show the coordinates of either the mouse pointer or the nearest
  survey station to it (if there is one near enough).  Showing both was
  confusing and meant the status bar overflowed on smaller displays.

* aven: When printing an extended elevation, don't show bearing and elevation.

* aven: Don't lock "flat" surveys which aren't extended elevations - a
  flat survey with LRUD data isn't flat any more!

* aven: When we have to draw blobs and crosses the slow way (because the
  graphics hardware doesn't support the fast way), draw them so that they
  should appear at the correct depth into the 3D scene instead of on top
  of everything else.

* aven: Make "play presentation backwards" icon green to match the other
  presentation icons.

* (MS Windows version): aven: Mouse clicks on the survey view now set the
  keyboard focus there.

* (MS Windows version): aven: Fix first redraw of a newly loaded survey.

* (MS Windows version): aven: Fix redrawing of measuring line.

* cavern: Store dates for img_XSECT.

* cavern: Fixed small one-off memory leak if you specify -o more than once.

* (Unix version): Check environmental variable LC_MESSAGES when deciding what
  language to use for messages.

* (MS Windows version): "Print" on a 3d file now prints through aven rather
  than the separate printer driver (Unix has done this for some time).

* Removed old printer drivers.

* img library: When creating a 3d file, ignore img_XSECT if we've been asked
  to write a file format version which doesn't support it.

Changes in 1.1.5 (2005.09.20):

* (MS Windows version): aven: Fixed crash on start-up (introduced in 1.1.4).

* aven: Make blobs round like they are in Survex 1.0.

* aven: If the graphics drivers don't support drawing blobs using OpenGL
  point markers, fall back to drawing filled circles.

* aven: If the graphics drivers support it, draw crosses as texture mapped
  OpenGL point markers which is much faster.

* aven: Cross size increased to match Survex 1.0.

* aven: We must update which blobs are displayed if display of surface or
  underground legs is toggled.

* cavern: Fix handling of a *solve followed by survey data, none of which is
  attached to the previous data.

* cavern: Fixed "No survey data" error when a *solve is followed by another
  *solve (or the implicit solve at the end of processing) with no data between
  them.

Changes in 1.1.4 (2005.09.19):

* aven: Added Aven's icon to the "About" dialog.

* aven: Use localised character for the decimal point (e.g. "," in most
  continental European countries).

* aven: Previously the survey tree would get focus and then take keypresses
  (e.g. "P", "L", "Delete").  Now we pass most keypresses across so they
  operate on the cave, and transfer the input focus across when we do.

* aven: Make pressing "Return" in the tree control expand/collapse a subtree.

* aven: Speed up intialisation by delaying creation of OpenGL lists until
  they're needed.

* aven: Added Mark Shinwell's bounding box with shadow of the survey.

* aven: Disable the "Tubes" button/menu item when there's no LRUD data.

* aven: Reworded "Restore Default Settings" as "Restore Default View".

* (Unix version): aven: Set sensible default margins for printing and preserve
  any margin values the user specifies between runs (previously margins
  defaulted to 0 each time aven was run).

* Documentation: Document *DATA PASSAGE in the manual.

Changes in 1.1.3 (2005.09.07):

* (Microsoft Windows version): Fixed build problems.

* cavern: Allow OMIT character (-) for left/right/up/down.

* aven: Remove an unnecessary menu separator.

* aven: Fix "Find" and "Hide" toolbar buttons to work with GTK2.0.

* aven: Make the tooltip for "Hide" show the number of found stations.

* aven: If * or ? is used in a glob-style pattern, force a non-substring match.

* aven: Enable "New Presentation" when there's a 3d file loaded, rather than
  when there's a presentation loaded.

* aven: Make entrances green in side panel tree list to match green blobs used
  in cave view.

* aven: Don't show surface labels if we're not showing surface data, etc.

* aven: Merge "Start Rotation" and "Stop Rotation" into "Toggle Rotation" and
  make "Space" the key for this.  Keep Return working "Stop Rotation" so
  existing users are happy, but don't advertise it.

* aven: Normalise filename by adding any extension used, and use the normalised
  filename for file history and window title.

* (Unix version): aven: Stop setting extra toolbar margin when using GTK2.0
  as the toolbar buttons already have a sensible margin - the extra margin is
  only needed with GTK1.2.

* aven: Fix handling of plumb legs in tube model.

* aven: Fixed swapped L and R in tube model.

* extend: Preserve UD cross-section information in extended elevation.

* extend: Add new messages for John Pybus' enhancements.

Changes in 1.1.2 (never formally released):

* Added support for LRUD data in .svx files, in .3d files, and aven can
  now load and display it on screen and on printouts.  The ability to "fake"
  LRUD data in aven is gone for now but will reappear in some form later.

* cavern: Removed support for writing Chasm's 3dx format.  We're going to
  fold any desirable missing chasm functionality into aven.

* aven: Rearranged mouse actions as discussed on the mailing list.  Added
  cursors for each different mouse action to help the user learn what each
  does.  Also added cursors for the "compass" and "clino" as well as the
  scalebar to suggest to the user that they can be dragged to change the view.

* (Unix version): aven: Don't segfault if LANG isn't a known language.

* tests/smoketest.tst: If X windows is running, check that we can run aven
  with --help and --version.

* tests/cavern.tst: Fixed cavern.tst to warn if it is skipping a test because
  no results are listed for it.  This revealed that there was a "newline" test
  which should have been called "badnewline", and was a broken testcase too!
  Fixed all these problems.

* cavern: Applied Simeon Warner's patch for handling backcompass, backclino,
  and omitted forward compass/clino readings in Compass DAT files.  Added
  a feature test for this to the testsuite.

* It no longer makes sense to have an option not to build aven or to build aven
  without OpenGL so remove old machinery for this from configure and the
  sources.

* (Unix version): configure: Check if "-lXxf86vm" is needed.

* configure: Better output for strcasecmp test.

* aven: Fix crosses to work much better.  Not a total fix - their position
  in the Z buffer isn't correct and they're rather slow to plot.

* aven: Don't regenerate the hittest grid every time the mouse moves while
  animating, which solves the mysterious pausing effect (thanks go to Martin
  Green for spotting this!)  Also clear all the status bar coordinates when
  animating.

* aven: Sort out clashing menu shortcuts in some languages.

* aven: Fixed compilation problem on x86_64

* SPUD: Pruned out stuff which has been done or which is not actually relevant
  to this branch.

* Merge various changes from 1.0 branch:

  + aven: Port over "printing from aven" functionality.

  + aven: Port over "export as" functionality,

  + Add David Loeffler's vim mode for .svx files.

* aven: Fix check for whether a label is behind us in perspective view.

* aven: Don't use an opengl list for drawing the indicators - we typically make
  a new list each time we plot them anyway.

* Remove lingering traces of support for RISC OS and pre-386 MSDOS

* aven: Set icon on non-Windows platforms too.  This means that with
  WindowMaker on Unix you get an icon on the AppIcon by default.

* configure: Update wxWindows checks to handle newer wx versions.

* Make all maintainer perl scripts "use bytes;" to avoid utf-8 double encoding
  problems.  They also all require Perl 5.8 now (hopefully this isn't an issue
  for anyone building from CVS).

* acinclude.m4: Quote macro name for fix autotools warning.

* Documentation: "tilt up" is "'" not ",".

* aven: Add support for mousewheels (to tilt the cave).

* aven: Fixed twisted transitions to and from pitches in certain cases.

* aven: Pick a sensible initial window size when the user's desktop is spread
  over more than one monitor (works best with wx2.5 or newer, but try to do
  better with wx2.4 or earlier as well).

* aven: Initialise GfxCore slightly later to avoid visual glitch from notebook
  contents being visible before any survey is loaded.

* aven: Allow a coloured texture to be used

* aven: Don't initialise until we have data (to the user, this means the window
  is default colour (grey for most systems) not black until a survey is
  loaded).

* aven: Fixed weird "shadowed" icons.

Changes in 1.1.1 (2004-10-06):

* (Microsoft Windows version): aven: Hopefully fix loading a survey file at
  startup.

* aven: Delay loading the bitmap for the "About" dialog until it is first
  needed.  We want start up to be as quick as possible.

Changes between 1.0.32 and 1.1.0 (never formally released):

* NOTE: Survex 1.1.X releases are development snapshots made available for
  the purposes of allowing wider testing and getting more user feedback.  Once
  the code has stabilised the version number will be raised to 1.2.0.

* aven: Now uses OpenGL for 3d rendering - you may need to install drivers if
  you're using Windows 95 - these can be obtained from:
  http://download.microsoft.com/download/win95upg/info/1/W95/EN-US/Opengl95.exe

* aven: Solid passages - passage dimensions are currently inferred from
  the leg length (pretty effective as you can measure longer legs in
  larger passages).  Use of real LRUD data coming soon...

* aven: Depth colouring is now continuously varying.

* aven: Colour by depth can now be turned off (and there's the start of a
  framework for properly implementing colour by date, error, etc).

* aven: Find stations moved onto the toolbar and now uses a simple wildcarded
  match (? matches any character, * matches any number of characters).

* aven: We now use the status bar for coordinates, distances, etc to make
  better use of screen space.

* aven: Full screen mode (F11).

* aven: Perspective view.

* aven: Context sensitive cursor shape - needs more work.

* aven: Mouse actions changed (hopefully they're now more natural, but
  you may find the change disorientating - feedback wanted on this).

* aven: Added "presentations" which allow you to set up fly-through paths
  and load/save/run them.

* aven: A presentation can be exported as a movie file.

* aven: Added Save screenshot facility.

* aven: Depth fogging option.

* aven: Added Smooth Lines option.

* aven: Added Textured Walls option.

* aven: If a survey has surface legs but no underground legs, default to
  showing the surface legs.

* cavern: Dates given to *date are now stored in the 3d file.
survex-1.4.17/doc/diffpos.rst0000664000175000017500000000156314756732050011572 diffpos ------- ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``diffpos`` `FILE1` `FILE2` [`THRESHOLD`] ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ Diffpos reports stations which are in one file but not the other, and also stations which have moved by more than a specified threshold distance in X, Y, or Z. `THRESHOLD` is a distance in metres and defaults to 0.01m if not specified. Note that the input files can be any format the "img" library can read (and can be different formats), so it works with Survex ``.3d`` and ``.pos`` files, Compass ``.plt`` and ``.plf`` files, CMAP ``.sht``, ``.adj`` and ``.una`` files. ~~~~~~~ OPTIONS ~~~~~~~ ``--help`` display short help and exit ``--version`` output version information and exit .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``cavern``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/maillist.rst0000664000175000017500000000136114756732050011752 ============ Mailing List ============ The best way to contact the authors and other Survex users is the Survex mailing list - for details visit: https://survex.com/maillist.html We'd be delighted to hear how you get on with Survex and welcome comments and suggestions for improvements. And we'd love you to contribute your skills to help make Survex even better. Point out areas of the documentation which could be made clearer, or sections which are missing entirely. Download test releases, try them out, and let us know if you find problems or have suggestions for improvements. If there's no translation to your language, you could provide one. Or if you're a developer, *"Say it with code"*. There's plenty to do, so feel free to join in. survex-1.4.17/doc/compass.rst0000664000175000017500000003265414765126030011605 ==================== Larry Fish's Compass ==================== Survex can read Compass survey data - it supports survey data files and project files (``.DAT`` and ``.MAK files``), closed data files (``.CLP``), and processed survey data (``.PLT`` and ``.PLF`` files). Survex 1.4.6 made significant improvements to this support so we recommend using this version or newer if you're working with Compass data. -------------------- Compass .MAK support -------------------- A Compass ``.MAK`` file defines a survey project to process, and specifies one or more ``.DAT`` files to process, along with coordinate systems and fixed points. You can process a ``.MAK`` file with cavern or aven as if it were a ``.svx`` file. Survex understands most MAK file features. Known current limitations and assumptions: - Survex handles the UTM zone and datum provided the combination can be expressed as an EPSG code (lack of any EPSG codes for a datum suggests it's obsolete; lack of a code for a particular datum+zone combination suggests the zone is outside of the defined area of use of the datum). Example Compass files we've seen use "North American 1927" outside of where it's defined for use, presumably because some users fail to change the datum from Compass' default. To enable reading such files we return a PROJ4 string of the form "+proj=utm ..." for "North American 1927" and "North American 1983" for UTM zones which don't have an EPSG code. Please let us know if support for additional cases which aren't currently supported would be useful to you. - The ``@`` command which specifies a base location to calculate magnetic declinations at is handled, provided the datum and UTM zone are supported (see previous bullet point). The UTM convergence angle specified as part of this command is ignored as Survex knows how to calculate it. - Link stations are ignored. These have two uses in Compass. They were a way to allow processing large surveys on computers from last century which had limited memory. Survex can easily handle even the largest surveys on current hardware and ignoring them is not a problem in this case. The other use is they provide a way to process surveys together which use the same station names for different stations. In this case we recommend writing a ``.svx`` file to replace the MAK file which wraps the ``*include`` of each DAT file in ``*begin survey1``/``*end survey1``, etc so that stations have unique qualified names. Then the link stations can be implemented using e.g. ``*equate survey1.XX1 survey2.XX1``. This example from the Compass documentation: :: #FILE1.DAT; /no links #FILE2.DAT,A22,A16; #FILE3.DAT,A16,B14; would look like this: :: *begin file1 *include FILE1.DAT *end file1 *begin file2 *include FILE2.DAT *end file2 *equate file1.A22 file2.A22 *begin file3 *include FILE3.DAT *end file3 *equate file1.A16 file3.A16 *equate file2.B14 file3.B14 Note that the ``.svx`` version is able to more precisely represent what's actually required here - in the MAK version "you must carry ``A16`` into ``FILE2`` even though ``FILE2`` doesn't need it for its own processing". If you want the exact analog of the MAK version you can change the ``A16`` equate to: :: *equate file1.A16 file2.A16 file3.A16 - The following commands (and any other unknown commands) are currently ignored: ``%`` (Convergence angle (file-level)), ``*`` (Convergence angle (non file-level)), ``!`` (Project parameters) -------------------- Compass .DAT support -------------------- A Compass ``.DAT`` file contains unprocessed survey data. You can process a ``.DAT`` file with cavern or aven as if it were a ``.svx`` file. You can even use ``*include compassfile.dat`` or ``*include compassproject.mak`` in a ``.svx`` file and it'll work, which allows combining separate cave survey projects maintained in Survex and Compass. One point to note when doing so (this tripped us up!) is that station names in Compass are case sensitive and so Survex reads ``.DAT`` files with the equivalent of ``*case preserve``. The default in ``.svx`` files is ``*case lower`` so this won't work :: *fix CE1 0 0 0 *include datfilewhichusesCE1.dat because ``CE1`` in the ``*fix`` is actually interpreted as ``ce1``. The solution is to turn on preserving of case while you fix the point like so: :: *begin *case preserve *fix CE1 0 0 0 *end *include datfilewhichusesCE1.dat If you want to be able to refer to the fixed point from Survex data too then you can add in a ``*equate`` to a lower-case name to achieve that: :: *begin *case preserve *fix CE1 0 0 0 *equate CE1 ce1 *end *include datfilewhichusesCE1.dat *include svxfilewhichusesce1.svx Or if you're just wanting to link a Compass survey to a Survex one, you can use a ``*equate`` with ``*case preserve on``: :: *begin *case preserve *equate CE1 ce1 *end *include datfilewhichusesCE1.dat *include svxfilewhichusesce1.svx Survex understands most DAT file features. Known current limitations and assumptions: - The cave name, survey short name, survey comment and survey team information are currently ignored (because this information isn't currently saved in the ``.3d`` file even for ``.svx`` files). - Survey date January 1st 1901 is treated as "no date specified", since this is the date Compass stores in this situation, and it seems very unlikely to occur in real data. - Passage dimensions are currently ignored. - Shot flag ``C`` in Compass causes flagged legs to not be subject to loop closure. Survex currently sets the SDs of such legs to 1mm, so flagged legs can still move slightly during loop closure. (Since 1.4.16; earlier versions ignored this flag entirely.) - Shot flag ``L`` is mapped to Survex's "duplicate" leg flag. - Shot flag ``P`` is mapped to Survex's "surface" leg flag. The Compass documentation describes shot flag ``P`` as "Exclude this shot from plotting", but the suggested use for it is for surface data, and shots flagged ``P`` "[do] not support passage modeling". Even if it's actually being used for a different purpose, Survex programs don't show surface legs by default so the end effect is at least to not plot as intended. - Shot flag ``S`` is mapped to Survex's "splay" leg flag. - Surveys which indicate a depth gauge was used for azimuth readings are marked as ``STYLE_DIVING`` in the ``.3d`` file. - Compass seems to quietly ignore a shot with the same "from" and "to" station. This seems likely to be a mistake in the data so Survex 1.4.12 and later warn about this in a Compass DAT file (in native Survex data this is treated as an error, which is how older Survex versions treat it in Compass DAT files). -------------------- Compass .CLP support -------------------- A Compass .CLP file contains raw survey data after adjusting for loop closure. The actual format is otherwise identical to a Compass ``.DAT`` file, and Survex 1.4.6 and later support processing a .CLP file with cavern or aven as if it were a ``.svx`` file (the extra support is to recognise the ``.CLP`` extension, and to not apply the instrument corrections a second time). You can even use ``*include compassfile.clp`` in a ``.svx`` file and it'll work, which allows combining separate cave survey projects maintained in Survex and Compass. Usually it is preferable to process the survey data without loop closure adjustments (i.e. ``.DAT``) so that when new data is added errors get distributed appropriately across old and new data, but it might be useful to use the ``.CLP`` file if you want to keep existing stations at the same adjusted positions, for example to be able to draw extensions on an existing drawn-up survey which was processed with Compass. Another possible reason to use the data from a ``.CLP`` file is if that's all you have because the original ``.DAT`` file has been lost! ------------------------- Compass .PLF/.PLT support ------------------------- A Compass ``.PLT`` file contains processed survey data. The extension ``.PLF`` is also used for "special feature files" which have essentially the same format. Survex supports both reading and writing these files, each of which are documented in separate sections below. Reading Compass .PLF/.PLT ========================= You can load these files with ``aven`` as if they were .3d files, and similarly for other Survex tools which expect a .3d file such as ``survexport``, ``extend``, ``diffpos``, ``3dtopos`` and ``dump3d``. (This support is actually provided by Survex's img library, so other programs which use this library should also be able to read Compass ``.PLT`` files without much extra work.) Survex understands most PLT file features. Known current limitations and assumptions: - Survey date January 1st 1901 is treated as "no date specified", since this is the date Compass stores in this situation, and it seems very unlikely to occur in real data. - Passage dimensions are translated to passage tubes, but Survex may interpret them differently from Compass. - Shot flag ``C`` is ignored. It only seems to be useful in unprocessed survey data. - Shot flag ``L`` is mapped to Survex's "duplicate" leg flag. - Shot flag ``P`` and plot command ``d`` are mapped to Survex's "surface" leg flag. The Compass documentation describes shot flag ``P`` as "Exclude this shot from plotting", but the suggested use for it is for surface data, and shots flagged ``P`` "[do] not support passage modeling". Even if it's actually being used for a different purpose, Survex programs don't show surface legs by default so the end effect is at least to not plot as intended. Stations are flagged as surface and/or underground based on whether they are at the ends of legs flagged surface or non-surface (a station at the boundary can be flagged as both). - Shot flag ``S`` is mapped to Survex's "splay" leg flag. A station at the far end of a shot flagged ``S`` gets the "station on wall" flag set since the Compass PLT format specification says: "The shot is a "splay" shot, which is a shot from a station to the wall to define the passage shape." - Stations with "distance from entrance" of zero are flagged as entrances. - Stations which are present in multiple surveys are flagged as exported (like when ``*infer exports on`` is in effect in ``.svx`` files). - Stations listed as fixed points are flagged as fixed points. - If a PLT file only uses one datum and UTM zone combination and it is supported (the same combinations are supported as for MAK files) then they are converted to the appropriate EPSG code or PROJ4 string and this is reported as the coordinate system. Please let us know if support for additional cases which aren't currently supported would be useful to you. Files with multiple datums could be handled too, but we'd need to convert coordinates to a common coordinate system in the img library, which would need it to depend on PROJ. Please let us know if support for mixed datums would be useful to you. Exporting Compass .PLT ====================== Survex can also create PLT files via ``aven``'s File->Export feature, and also from the command line via ``survexport --plt``. This export was originally added to allow importing data from Survex into Carto. The principal author of Carto has sadly died and it seems Carto is no longer actively developed, but we've left this support in place in case it is useful - the generated files can be used with Compass itself for example, though they are currently rather crudely structured. Here are some notes on this support: - The whole Survex survey tree is exported as a single survey. - Compass station names can't contain spaces, so any spaces (and also ASCII control characters) are in station names are replaced by ``%`` follow by two lowercase hex digits giving the byte value (like the escaping used in URLs). ``%`` itself is also escaped as ``%25``. - The full Survex station name include survey prefixes is used - no attempt is currently made to shorten station names to fit within the 12 character limit documented for the Compass PLT format. If you export a single survey the names should be short enough, but exporting the whole of a complex survey project will likely give names longer than 12 characters. - Anonymous stations are given a name ``%:`` followed by a number starting from one and incrementing for each anonymous station (Compass doesn't allow empty station names, and these invented names can't collide with actual station names). Since Survex 1.4.10 (1.4.6 implemented support for exporting anonymous stations to PLT, but with names which typically exceeded the documented 12 character limit of the format). - Passage data is not included in the export (each exported leg has dummy LRUD readings of all ``-9`` which is needed to avoid a bug in some versions of Compass which don't cope with legs without LRUD). - Survex's "surface" leg flag is mapped to Compass shot flag ``P``. The Compass documentation describes shot flag ``P`` as "Exclude this shot from plotting", but the suggested use for it is for surface data, and shots flagged ``P`` "[do] not support passage modeling". Since Survex 1.4.10. - Survex's "splay" leg flag is mapped to Compass shot flag ``S``. Since Survex 1.4.10. - Survex's "duplicate" leg flag is mapped to Compass shot flag ``L``. Since Survex 1.4.10. - The Datum and UTM zone information is not currently set in exported PLT files. survex-1.4.17/doc/extend.rst0000664000175000017500000000556414756732050011434 extend ------ ~~~~~~~~ SYNOPSIS ~~~~~~~~ ``extend`` [--survey=\ `SURVEY`] [--specfile=\ `ESPEC_FILE`] [--show-breaks] `INPUT_FILE` [`OUTPUT_3D_FILE`] ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ ``INPUT_FILE`` can be a Survex ``.3d`` file, a Compass ``.plt`` file or a CMAP ``.sht`` file (all Survex programs which read ``.3d`` files can also transparently handle these formats). If no ``--specfile`` option (or short option ``-p``) is given, extend starts with the highest station marked as an entrance which has at least one underground survey leg attached to it. If there are no such stations, the highest deadend station in the survey (or the highest station if there are no deadends) is used. Extend puts the first station on the left, then folds each leg out individually to the right, breaking loops arbitrarily (usually at junctions). If the output filename is not specified, extend bases the output filename on the input filename, but replacing the extension with ``_extend.3d``. For example, ``extend deep_pit.3d`` produces an extended elevation called ``deep_pit_extend.3d``. The ``--survey=``\ `SURVEY` option (short option ``-s``) restricts processing to the survey `SURVEY` including any sub-surveys. If you pass ``--show-breaks`` (short option ``-b``) then a leg flagged as "surface survey" will be added between each point at which a loop has been broken - this can be very useful for visualising the result in aven. This approach suffices for simple caves or sections of cave, but for more complicated situations human intervention is required. More complex sections of cave can be handled with a specfile giving directions to switch the direction of extension between left and right, to explicitly specify the start station, or to break the extension at particular stations or legs. The specfile is in a format similar to cavern's data format: :: ; This is a comment ; start the elevation at station entrance.a *start entrance.a ;this is a comment after a command ; start extending leftwards from station half-way-down.5 *eleft half-way-down.5 ; change direction of extension at further-down.8 *eswap further-down.8 ; extend right from further-down.junction, but only for ; the leg joining it to very-deep.1, other legs continuing ; as before *eright further-down.junction very-deep.1 ; break the survey at station side-loop.4 *break side-loop.4 ; break survey at station side-loop.junction but only ; for leg going to complex-loop.2 *break side-loop.junction complex-loop.2 This approach requires some trial and error, but gives useful results for many caves. The most complex systems would benefit from an interactive interface to select and view the breaks and switches of direction. .. only:: man ~~~~~~~~ SEE ALSO ~~~~~~~~ ``aven``\ (1), ``cavern``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/index.htm.in0000664000175000017500000000200614765126030011620 @PRETTYPACKAGE@ @VERSION@ Documentation Access to mailing lists and downloads are available at the Survex web site.

@PRETTYPACKAGE@ @VERSION@ Documentation

Documentation of use to Developers

survex-1.4.17/doc/survex.rst0000664000175000017500000000172614756732050011475 survex ------ ~~~~~~~~~~~ DESCRIPTION ~~~~~~~~~~~ ``Survex`` is a suite of programs for processing, viewing and printing cave survey data. The individual programs each have a man page, and there's also a comprehensive manual, available in HTML, PDF, and plain text formats. The manual is located in |PKGDOCDIR_EXPANDED| and can also be found online at: *https://survex.com/docs.html* ~~~~~~~ OPTIONS ~~~~~~~ These programs follow the usual GNU command line syntax, with long options starting with two dashes (``--``). All commands support the options described below; for a complete description of options for a particular command, see the man page for it or the manual. ``--help`` display short help and exit ``--version`` output version information and exit ~~~~~~~~ SEE ALSO ~~~~~~~~ ``The Survex Manual`` (located in |PKGDOCDIR_EXPANDED|), ``aven``\ (1), ``cavern``\ (1), ``diffpos``\ (1), ``dump3d``\ (1), ``extend``\ (1), ``sorterr``\ (1), ``survexport``\ (1) survex-1.4.17/doc/survex.70000664000175000017500000000346214766657177011053 .\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "SURVEX" "7" "Mar 20, 2025" "" "Survex" .SH NAME survex \- cave surveying software .SH DESCRIPTION .sp \fBSurvex\fP is a suite of programs for processing, viewing and printing cave survey data. .sp The individual programs each have a man page, and there\(aqs also a comprehensive manual, available in HTML, PDF, and plain text formats. The manual is located in \fI/usr/local/share/doc/survex\fP and can also be found online at: \fIhttps://survex.com/docs.html\fP .SH OPTIONS .sp These programs follow the usual GNU command line syntax, with long options starting with two dashes (\fB\-\-\fP). All commands support the options described below; for a complete description of options for a particular command, see the man page for it or the manual. .INDENT 0.0 .TP .B \fB\-\-help\fP display short help and exit .TP .B \fB\-\-version\fP output version information and exit .UNINDENT .SH SEE ALSO .sp \fBThe Survex Manual\fP (located in \fI/usr/local/share/doc/survex\fP), \fBaven\fP(1), \fBcavern\fP(1), \fBdiffpos\fP(1), \fBdump3d\fP(1), \fBextend\fP(1), \fBsorterr\fP(1), \fBsurvexport\fP(1) .SH COPYRIGHT 1998-2025 .\" Generated by docutils manpage writer. . survex-1.4.17/doc/datafile.rst0000664000175000017500000020647414766152432011722 ----------------- Survex data files ----------------- Survey data is entered in the form of text files. You can use any text editor you like for this, so long as it has the capability of writing a plain text file in UTF-8 or ASCII encoding. The data format is very flexible; unlike some other cave surveying software, Survex does not require survey legs to be rearranged to suit the computer, and the ordering of instrument readings on each line is fully specifiable. So you can enter your data much as it appears on the survey notes, which is important in reducing the opportunities for transcription errors. Also all the special characters are user-definable - for example, the separators can be spaces and tabs, or commas (e.g. when exporting from a spreadsheet), etc; the decimal point can changed to be a comma (as used in continental Europe), or a slash (sometimes used for clarity in written survey notes), or anything else you care to choose. This flexibility means that it should be possible to read in data from almost any sort of survey data file without much work. Survex places no restrictions on you in terms of the ordering of survey legs. You can enter or process data in any order and Survex will read it all in before determining how it is connected. You can also use the hierarchical naming so that you do not need to worry about using the same station name twice. The usual arrangement is to have one file which lists all the others that are included (e.g., ``161.svx``). Then ``cavern 161`` will process all your data. To just process a section use the filename for that section, e.g. ``cavern dtime`` will process the dreamtime file/section of Kaninchenhöhle. To help you out, if the survey has no fixed points and you are using Survex's default unspecified coordinate system, ``cavern`` will pick a station and fix it at (0,0,0) (and print a info message to this effect). It is up to you what data you put in which files. You can have one file per trip, or per area of the cave, or just one file for the whole cave if you like. On a large survey project it makes sense to group related surveys in the same file or directory. Readings ======== Blank lines (i.e. lines consisting solely of ``BLANK`` characters) are ignored, except that in interleaved data a blank line ends the current traverse. The last line in the file need not be terminated by an end of line character. All fields on a line must be separated by at least one ``BLANK`` character. An ``OMIT`` character (default ``-``) indicates that a field is omitted. If the field is not optional, then an error is given. Survey Station Names ==================== Survex has a powerful system for naming stations. It uses a hierarchy of survey names, similar to the nested folders your computer stores files in. So point 6 in the entrance survey of Kaninchenhöhle (cave number 161) can just be referred to as station 6 in the context of that particular survey, but it has the fully qualified name: 161.entrance.6 This seems a natural way to refer to station names. It also means that it is very easy to include more levels, for example if you want to plot all the caves in the area you just list them all in another file, specifying a new prefix. So to group 3 nearby caves on the Loser Plateau you would use a file like this:: *begin Loser *include 161 *include 2YrGest *include 145 *end Loser The entrance series point mentioned above would now be referred to as: Loser.161.entrance.6 You do not have to use this system at all, and can just give all stations unique identifiers if you like: 1, 2, 3, 4, 5, ... 1381, 1382 or AA06, AA07, P34, ZZ6, etc. Station and survey names may contain any alphanumeric characters and additionally any characters in ``NAMES`` (default ``_`` and ``-``). Alphabetic characters may be forced to upper or lower case by using the ``*case`` command. Station names may be any length - if you want to only treat the first few characters as significant you can get cavern to truncate the names using the ``*truncate`` command. If you have survey data which uses ``.`` as part of the station name (for example, if you use the Toporobot convention of naming stations along a side passage from station ``6`` as ``6.1``, ``6.2``, ``6.3``, etc) then there are two sensible options: * You can change the separator to a different character which you don't want to use in station names (e.g. ``:``) and set ``.`` as an allowed name character like so:: *set separator : *set names ._- Note that the character(s) listed replace those previously allowed, so here we have explicitly list ``_`` and ``-`` as still allowed in station names to effectively add ``.``. If you want to do this, you should use Survex 1.4.6 or later. 1.4.12 also fixed a bug with survey filtering when loading ``.3d`` files which use a separator other than ``.``. * You can use a different character instead of ``.`` for naming such side-passage stations, e.g. ``6_1``, ``6_2``, etc. This has the advantage of working with older Survex versions. Anonymous Stations ------------------ Survex supports the concept of anonymous survey stations, that is survey stations without a name. Each time an anonymous station name is used it represents a different point. Currently three types of anonymous station are supported, referred to by one, two or three separator characters - with the default separator of ``.``, that means ``.``, ``..``, and ``...`` are anonymous stations. Their meanings are: Single separator (``.`` by default) An anonymous non-wall point at the end of an implicit splay. Double separator (``..`` by default) An anonymous wall point at the end of an implicit splay. Triple separator (``...`` by default) An anonymous point with no implicit flags on the leg (intended for cases like a disto leg along a continuing passage). You can map ``-`` to ``..`` (for compatibility with data from pocket topo) using the command:: *alias station - .. Support for anonymous stations and for ``*alias station - ..`` was added in Survex 1.2.7. Support for anonymous stations in the ``cartesian`` data style was added in Survex 1.4.10. Numeric fields ============== Measurements start with an optional ``PLUS`` or ``MINUS`` character (``+`` and ``-`` by default), and have an optional decimal point (represented by a ``DECIMAL`` character, default: ``.``) which may be embedded, leading or trailing. No spaces are allowed between the various elements. All of these are valid examples: +47, 23, -22, +4.5, 1.3, -0.7, +12., 23., -34, +.15, .4, -.05 In formal syntax that's either: ``[|] [ [ ] ]`` or ``[|] `` Accuracy ======== Accuracy assessments may be provided or defaulted for any survey leg. These determine the distribution of loop closure errors over the legs in the loop. See ``*SD`` for more information. Cavern Commands =============== Commands in ``.svx`` files are introduced by an asterisk (by default - this can be changed using the ``set`` command). The commands are documented below in a common format: - Command Name - Syntax - Example - Validity - Description - Caveats - See Also ALIAS ----- Syntax ``*alias station `` ``*alias station `` Example :: *begin parsons_nose *alias station - .. 1 2 12.21 073 -12 2 - 4.33 011 +02 2 - 1.64 180 +03 2 3 6.77 098 -04 *end parsons_nose Description ``*alias`` allows you to map a station name which appears in the survey data to a different name internally. At present, you can only create an alias of ``-`` to ``..``, which is intended to support the pocket topo style notation of ``-`` being a splay to an anonymous point on the cave wall. You can also unalias ``-`` with ``*alias station -``. Aliases are scoped by ``*begin``/``*end`` blocks - when a ``*end`` is reached, the aliases in force at the corresponding ``*begin`` are restored. ``*alias`` was added in Survex 1.2.7. See Also ``*begin``, ``*end`` BEGIN ----- Syntax ``*begin `` ``*begin`` Example :: *begin littlebit 1 2 10.23 106 -02 2 3 1.56 092 +10 *end littlebit :: ; length of leg across shaft estimated *begin *sd tape 2 metres 9 10 6. 031 -07 *end Description ``*begin`` stores the current values of the current settings such as instrument calibration, data format, and so on. These stored values are restored after the corresponding ``*end``. If a survey name is given, this is used inside the ``*begin``/``*end`` block, and the corresponding ``*end`` should have the same survey name. ``*begin``/``*end`` blocks may be nested to indefinite depth. See Also ``*end``, ``*prefix`` CARTESIAN --------- Syntax ``*cartesian grid`` ``*cartesian magnetic`` ``*cartesian true`` ``*cartesian grid `` ``*cartesian magnetic `` ``*cartesian true `` Example :: *cartesian magnetic :: *cartesian true 90 degrees Description ``*cartesian`` specifies which North cartesian data is aligned to, and can optionally specify an extra rotation to apply. The default is that it's aligned with True North. Notes on the different North options: ``GRID`` North in the current input coordinate system (as set by e.g. ``*cs UTM30``). If no input or output coordinate system is set then this is the same as ``TRUE`` since in Survex's default unspecified coordinate system True North is the same as Grid North. ``MAGNETIC`` Magnetic North. If using automatically calculated declinations then this will be calculated at the ``*date`` in effect for each cartesian data reading. ``TRUE`` True North. If no input or output coordinate system is set then this is the same as ``GRID`` since in Survex's default unspecified coordinate system True North is the same as Grid North. ``*cartesian`` was added in Survex 1.4.10. Prior to this cartesian data was documented as aligned with True North, but if an output coordinate system was specified it was actually aligned with this (which was not intended and doesn't really make sense since changing the output coordinate system would rotate cartesian data by the difference in grid convergence). See Also ``*cs``, ``*data cartesian``, ``*date``, ``*declination`` CALIBRATE --------- Syntax ``*calibrate `` ``*calibrate `` ``*calibrate `` ``*calibrate `` ``*calibrate default`` Example :: *calibrate tape +0.3 Description ``*calibrate`` is used to specify instrument calibrations, via a zero error and an optional scale factor (which defaults to 1.0 if not specified). Without an explicit calibration the zero error is 0.0 and the scale factor is 1.0. ```` is one or more of: ============ =========== Quantity Aliases ============ =========== LENGTH TAPE BEARING COMPASS GRADIENT CLINO BACKLENGTH BACKTAPE BACKBEARING BACKCOMPASS BACKGRADIENT BACKCLINO COUNT COUNTER LEFT   RIGHT   UP CEILING DOWN FLOOR DEPTH   EASTING DX NORTHING DY ALTITUDE DZ DECLINATION   ============ =========== The specified calibration is applied to each quantity in the list, which is handy if you use the same instrument to measure several things, for example:: *calibrate left right up down +0.1 You need to be careful about the sign of the ZeroError. Survex follows the convention used with scientific instruments - the ZeroError is what the instrument reads when measuring a reading which should be zero. So for example, if your tape measure has the end missing, and you are using the 30cm mark to take all measurements from, then a zero distance would be measured as 30cm and you would correct this with:: *CALIBRATE tape +0.3 If you tape was too long, starting at -20cm (it does happen!) then you can correct it with:: *CALIBRATE tape -0.2 Note: ZeroError is irrelevant for Topofil counters and depth gauges since pairs of readings are subtracted. In the first form in the synopsis above, the zero error is measured by the instrument itself (e.g. reading off the number where a truncated tape now ends) and any scale factor specified applies to it, like so (Scale defaults to 1.0):: Value = ( Reading - ZeroError ) * Scale In the second form above (supported since Survex 1.2.21), the zero error has been measured externally (e.g. measuring how much too long your tape is with a ruler) - the units of the zero error are explicitly specified and any scale factor is not applied to it:: Value = ( Reading * Scale ) - ZeroError With the default scale factor of 1.0 the two forms are equivalent, though they still allow you to document how the zero error has been determined. With older Survex versions, you would specify the magnetic declination (difference between True North and Magnetic North) by using ``*calibrate declination`` to set an explicit value (with no scale factor allowed). Since Survex 1.2.22, it's recommended to instead use the new ``*declination`` command instead - see the documentation of that command for more details. See Also ``*declination``, ``*units`` CASE ---- Syntax ``*case preserve`` ``*case toupper`` ``*case tolower`` Example :: *begin bobsbit ; Bob insists on using case sensitive station names *case preserve 1 2 10.23 106 -02 2 2a 1.56 092 +10 2 2A 3.12 034 +02 2 3 8.64 239 -01 *end bobsbit Description ``*case`` determines how the case of letters in survey names is handled. By default all names are forced to lower case (which gives a case insensitive match), but you can tell cavern to force to upper case, or leave the case as is (in which case ``2a`` and ``2A`` will be regarded as different). See Also ``*truncate`` COPYRIGHT --------- Syntax ``*copyright `` ``*copyright - `` Example :: *begin littlebit *copyright 1983 CUCC 1 2 10.23 106 -02 2 3 1.56 092 +10 *end littlebit :: *copyright 1976-2024 "CUCC Expo" Validity valid at the start of a ``*begin``/``*end`` block. Description ``*copyright`` allows the copyright information to be recorded in a way that can be automatically collated. The date can be specified as a single year or a range of years. Two digit years are not allowed and the end of the range can not be before the start. The text is expected to identify the copyright holder - typically it will be the name of a person or group. Unless it is a single word you should put double quotes around it. Prior to Survex 1.4.17 there weren't any checks of the syntax. Essentially ``*copyright`` used to be treated like a named comment line. With Survex 1.4.17 and later you'll get a warning for an empty ``*copyright``, for an invalid date, or if you open but fail to close double quotes around the text. These diagnostic messages were made warnings to avoid breaking processing of existing datasets which might contain ``*copyright`` lines which don't conform with the defined syntax (especially as the format of the date and text fields were not documented prior to 1.4.17). See Also ``*begin`` CS -- Syntax ``*cs `` ``*cs out `` Example :: *cs UTM60S *fix beehive 313800 5427953 20 :: ; Output in the coordinate system used in the Totes Gebirge in Austria *cs out custom "+proj=tmerc +lat_0=0 +lon_0=13d20 +k=1 +x_0=0 +y_0=-5200000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232" Description ``*cs`` allows the coordinate systems used for fixed points and for processed survey data to be specified. The "input" coordinate system is set with ``*cs`` and you can change it between fixed points if you have some fixed points in different coordinate systems to others. The "output" coordinate system is set with ``*cs out`` and is what the survey data is processed in and the coordinate system used for resultant ``.3d`` file (which means Aven knows how to translate coordinates to allow export to formats such as GPX and KML, and to overlay terrain data and other geodata). The output coordinate system must be in metres with axis order (East, North, Up), so for example ``*cs out long-lat`` isn't valid because it isn't in metres, while ``*cs out jtsk`` isn't valid because the axes point West and South. ``*cs`` was added in Survex 1.2.14, but handling of fixed points specified with latitude and longitude didn't work until 1.2.21. Also ``*fix`` with standard deviations specified also didn't work until 1.2.21. The currently supported coordinate systems are: * ``EPSG:`` followed by a positive integer code. EPSG codes cover most coordinate systems in use. The website https://epsg.io/ is a useful resource for finding the EPSG code you want. For example, ``EPSG:4167`` is NZGD2000. Supported since Survex 1.2.15. * ``CUSTOM`` followed by a PROJ string (like in the example above). * ``ESRI:`` followed by a positive integer code. ESRI codes are used by ArcGIS to specify coordinate systems (in a similar way to EPSG codes) and PROJ supports many of them. Supported since Survex 1.2.15. * ``EUR79Z30`` for UTM zone 30, EUR79 datum. Supported since Survex 1.2.15. * ``IJTSK`` for the modified version of the Czechoslovak S-JTSK system where the axes point East and North. Supported since Survex 1.2.15. * ``IJTSK03`` for a variant of IJTSK. Supported since Survex 1.2.15. * ``JTSK`` for the Czechoslovak S-JTSK system. Its axes point West and South, so it's not supported as an output coordinate system. Supported since Survex 1.2.16. * ``JTSK03`` for a variant of JTSK. Supported since Survex 1.2.16. * ``LONG-LAT`` for longitude/latitude. The WGS84 datum is assumed. NB ``*fix`` expects the coordinates in the order x,y,z which means longitude (i.e. E/W), then latitude (i.e. N/S), then altitude. Supported since Survex 1.2.15. * ``OSGB:`` followed by a two letter code for the UK Ordnance Survey National Grid. The first letter should be 'H', 'N', 'O', 'S' or 'T'; the second any letter except 'I'. For example, ``OSGB:SD``. Supported since Survex 1.2.15. * ``S-MERC`` for the "Web Mercator" spherical mercator projection, used by online map sites like OpenStreetMap, Google maps, Bing maps, etc. Supported since Survex 1.2.15. * ``UTM`` followed by a zone number (1-60), optionally followed by "N" or "S" specifying the hemisphere (default is North). The WGS84 datum is assumed. A potential source of confusion here is the `Military Grid Reference System `__ which divides each UTM zone into latitude bands represented by a letter suffix, so here 33S and 33N have different meanings to those in Survex - they are both parts of UTM zone 33, but both are in the Northern hemisphere (33S is around Sicily, 33N around Cameroon). To use such coordinates in Survex, replace suffixes "C" to "M" with "S", and "N" to "X" with "N". By default, Survex works in an unspecified coordinate system (and this was the only option before ``*cs`` was added). However, it's useful for the coordinate system which the processed survey data is in to be specified if you want to use the processed data in ways which required knowing the coordinate system (such as exporting a list of entrances for use in a GPS). You can now do this by using ``*cs out``. It is also useful to be able to take coordinates for fixed points in whatever coordinate system you receive them in and put them directly into Survex, rather than having to convert with an external tool. For example, you may have your GPS set to show coordinates in UTM with the WGS84 datum, even though you want the processed data to be in some local coordinate system. Someone else may provide GPS coordinates in yet another coordinate system. You just need to set the appropriate coordinate system with ``*cs`` before each group of ``*fix`` commands in a particular coordinate system. If you're going to make use of ``*cs``, then a coordinate system must be specified for everything, so a coordinate system must be in effect for all ``*fix`` commands, and you must set the output coordinate system before any points are fixed. Also, if ``*cs`` is in use, then you can't omit the coordinates in a ``*fix`` command, and a fixed point won't be invented if none exists. If you use ``*cs out`` more than once, the second and subsequent commands are silently ignored - this makes it possible to combine two datasets with different ``*cs out`` settings without having to modify either of them. Something to be aware of with ``*cs`` is that altitudes are currently assumed to be "height above the ellipsoid", whereas GPS units typically give you "height above sea level", or more accurately "height above a particular geoid". This is something we're looking at how best to address, but you shouldn't need to worry about it if your fixed points are in the same coordinate system as your output, or if they all use the same ellipsoid. For a more detailed discussion of this, please see: https://expo.survex.com/handbook/survey/coord.htm See Also ``*declination auto``, ``*fix`` DATA ---- Syntax ``*data \n", fh); fputs("\n", fh); fputs("\n", fh); // Set up styles for surface legs and splays. fputs("\n", fh); fputs("\n", fh); // FIXME: does KML allow bounds? // NB Lat+long bounds are not necessarily the same as the bounds in survex // coords translated to WGS84 lat+long... } void KML::start_pass(int) { if (linestring_flags) { fputs("\n", fh); linestring_flags = 0; } } void KML::line(const img_point *p1, const img_point *p, unsigned flags, bool fPendingMove) { if (linestring_flags && linestring_flags != (flags & (LEGS|SURF|SPLAYS))) { fputs("\n", fh); linestring_flags = 0; fPendingMove = true; } if (fPendingMove) { if (linestring_flags == 0) { linestring_flags = (flags & (LEGS|SURF|SPLAYS)); if (flags & SURF) { fputs("" "#surf" "", fh); } else if (flags & SPLAYS) { fputs("" "#splay" "", fh); } else { fputs("", fh); } } else { fputs("\n", fh); } if (clamp_to_ground) { fputs("\n", fh); } else { fputs("absolute\n", fh); } PJ_COORD coord{{p1->x, p1->y, p1->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } PJ_COORD coord{{p->x, p->y, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } void KML::xsect(const img_point *p, double angle, double d1, double d2) { if (clamp_to_ground) { fputs("", fh); } else { fputs("absolute", fh); } double s = sin(rad(angle)); double c = cos(rad(angle)); { PJ_COORD coord{{p->x + s * d1, p->y + c * d1, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f ", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } { PJ_COORD coord{{p->x - s * d2, p->y - c * d2, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } fputs("\n", fh); } void KML::wall(const img_point *p, double angle, double d) { if (!in_wall) { if (clamp_to_ground) { fputs("", fh); } else { fputs("absolute", fh); } in_wall = true; } double s = sin(rad(angle)); double c = cos(rad(angle)); PJ_COORD coord{{p->x + s * d, p->y + c * d, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } void KML::passage(const img_point *p, double angle, double d1, double d2) { double s = sin(rad(angle)); double c = cos(rad(angle)); PJ_COORD coord1{{p->x + s * d1, p->y + c * d1, p->z, HUGE_VAL}}; coord1 = proj_trans(pj, PJ_FWD, coord1); if (coord1.xyzt.x == HUGE_VAL || coord1.xyzt.y == HUGE_VAL || coord1.xyzt.z == HUGE_VAL) { // FIXME report errors } double x1 = coord1.xyzt.x; double y1 = coord1.xyzt.y; double z1 = coord1.xyzt.z; PJ_COORD coord2{{p->x - s * d2, p->y - c * d2, p->z, HUGE_VAL}}; coord2 = proj_trans(pj, PJ_FWD, coord2); if (coord2.xyzt.x == HUGE_VAL || coord2.xyzt.y == HUGE_VAL || coord2.xyzt.z == HUGE_VAL) { // FIXME report errors } double x2 = coord2.xyzt.x; double y2 = coord2.xyzt.y; double z2 = coord2.xyzt.z; // Define each passage as a multigeometry comprising of one quadrilateral // per section. This prevents invalid geometry (such as self-intersecting // polygons) being created. if (!in_passage){ in_passage = true; fputs("\n", fh); } else { if (clamp_to_ground) { fputs("" "\n", fh); } else { fputs("absolute" "\n", fh); } // Draw anti-clockwise around the ring. fprintf(fh, "%.8f,%.8f,%.2f\n", v2.GetX(), v2.GetY(), v2.GetZ()); fprintf(fh, "%.8f,%.8f,%.2f\n", v1.GetX(), v1.GetY(), v1.GetZ()); fprintf(fh, "%.8f,%.8f,%.2f\n", x1, y1, z1); fprintf(fh, "%.8f,%.8f,%.2f\n", x2, y2, z2); // Close the ring. fprintf(fh, "%.8f,%.8f,%.2f\n", v2.GetX(), v2.GetY(), v2.GetZ()); fputs("" "\n", fh); } v2 = Vector3(x2, y2, z2); v1 = Vector3(x1, y1, z1); } void KML::tube_end() { if (in_passage){ fputs("\n", fh); in_passage = false; } if (in_wall) { fputs("\n", fh); in_wall = false; } } void KML::label(const img_point *p, const wxString& str, int /*sflags*/, int type) { const char* s = str.utf8_str(); PJ_COORD coord{{p->x, p->y, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.8f,%.8f,%.2f", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); html_escape(fh, s); fputs("", fh); // Add a "pin" symbol with colour matching what aven shows. switch (type) { case FIXES: fputs("#fix", fh); break; case EXPORTS: fputs("#exp", fh); break; case ENTS: fputs("#ent", fh); break; } fputs("\n", fh); } void KML::footer() { if (linestring_flags) fputs("\n", fh); fputs("\n", fh); } survex-1.4.17/src/netskel.c0000664000175000017500000007766114766442114011255 /* netskel.c * Survex network reduction - remove trailing traverses and concatenate * traverses between junctions * Copyright (C) 1991-2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* #define BLUNDER_DETECTION */ #if 0 #define DEBUG_INVALID 1 #define VALIDATE 1 #define DUMP_NETWORK 1 #endif #include #include "validate.h" #include "debug.h" #include "cavern.h" #include "commands.h" #include "datain.h" #include "filename.h" #include "message.h" #include "filelist.h" #include "img_for_survex.h" #include "netartic.h" #include "netbits.h" #include "netskel.h" #include "network.h" #include "osalloc.h" #include "out.h" #define sqrdd(X) (sqrd((X)[0]) + sqrd((X)[1]) + sqrd((X)[2])) typedef struct Stack { struct Link *join1, *join2; struct Stack *next; } stack; typedef struct StackTr { struct Link *join1; struct StackTr *next; } stackTrail; /* string used between things in traverse printouts eg \1 - \2 - \3 -...*/ static const char *szLink = " - "; static const char *szLinkEq = " = "; /* use this one for equates */ #if 0 #define fprint_prefix(FH, NAME) do {\ (fprint_prefix)((FH), (NAME));\ fprintf((FH), " [%p]", (void*)(NAME));\ } while (0) #endif static stack *ptr; /* Ptr to TRaverse linked list for in-between travs */ static stackTrail *ptrTrail; /* Ptr to TRaverse linked list for trail travs*/ static void remove_trailing_travs(void); static void remove_travs(void); static void replace_travs(void); static void replace_trailing_travs(void); static void write_passage_models(void); static void concatenate_trav(node *stn, int i); static void err_stat(int cLegsTrav, double lenTrav, double eTot, double eTotTheo, double hTot, double hTotTheo, double vTot, double vTotTheo); extern void solve_network(void) { /* We can't average across solving to fix positions. */ clear_last_leg(); if (stnlist == NULL && fixedlist == NULL) { if (cSolves == 0) fatalerror(/*No survey data*/43); /* We've had a *solve followed immediately by another *solve (or the * implicit *solve at the end of the data). Don't moan about that. */ return; } ptr = NULL; ptrTrail = NULL; dump_network(); if (!fixedlist && cSolves == 0 && !pcs->proj_str && !proj_str_out) { /* If there are no fixed points and we haven't already solved to find * some station positions, and there's no specified coordinate system, * then we pick a station and fix it at (0,0,0). * * We do this first so the solving part is just like the standard case - * this avoid problems, such as sub-nodes of the invented fix having been * removed. It also means we can fix the "first" station, which makes * more sense to the user. * * Note that articulate() checks for and deals with any survey legs not * connected to fixed points. */ node *stn_to_fix = NULL; /* New stations are pushed onto the head of the list, so the * first station added is the last in the list. */ for (node *stn = stnlist; stn; stn = stn->next) { /* Prefer a station with legs attached when choosing one to fix * so that if there's a hanging station on a nosurvey leg we pick * the main clump of survey data. */ if (stn_to_fix && !stn->leg[0]) continue; stn_to_fix = stn; } /* If we've got nosurvey legs, then the station we find to fix could * have no real legs attached. */ SVX_ASSERT2(nosurveyhead || stn_to_fix->leg[0], "no fixed stns, but we've got a zero node!"); SVX_ASSERT2(stn_to_fix, "no stations left in net!"); compile_diagnostic_pfx(DIAG_INFO, stn_to_fix->name, /*Survey has no fixed points. Therefore I’ve fixed %s at (0,0,0)*/72, sprint_prefix(stn_to_fix->name)); static const double origin[3] = { 0.0, 0.0, 0.0 }; fix_station(stn_to_fix->name, origin); // We should not set the FIXED flag for the invented fix though. stn_to_fix->name->sflags &= ~BIT(SFLAGS_FIXED); } ++cSolves; remove_trailing_travs(); validate(); dump_network(); remove_travs(); validate(); dump_network(); remove_subnets(); validate(); dump_network(); articulate(); validate(); dump_network(); replace_subnets(); validate(); dump_network(); replace_travs(); validate(); dump_network(); replace_trailing_travs(); validate(); dump_network(); /* Now write out any passage models. */ write_passage_models(); } static void remove_trailing_travs(void) { node *stn; /* TRANSLATORS: In French, Eric chose to use the terminology used by * toporobot: "sequence" for the English "traverse", which makes sense * (although toporobot actually uses this term to mean something more * specific). Feel free to follow this lead if you can't think of a better * term - these messages mostly indicate how processing is progressing. * * A trailing traverse is a dead end back to a junction. */ out_current_action(msg(/*Removing trailing traverses*/125)); FOR_EACH_STN(stn, stnlist) { if (one_node(stn)) { int i = 0; int j; node *stn2 = stn; stackTrail *trav; #if PRINT_NETBITS printf("Removed trailing trav "); #endif do { struct Link *leg; #if PRINT_NETBITS print_prefix(stn2->name); printf("<%p>",stn2); fputs(szLink, stdout); #endif remove_stn_from_list(&stnlist, stn2); leg = stn2->leg[i]; j = reverse_leg_dirn(leg); stn2 = leg->l.to; i = j ^ 1; /* flip direction for other leg of 2 node */ /* stop if fixed or 3 or 1 node */ } while (two_node(stn2) && !fixed(stn2)); /* put traverse on stack */ trav = osnew(stackTrail); trav->join1 = stn2->leg[j]; trav->next = ptrTrail; ptrTrail = trav; /* We want to keep all 2-nodes using legs 0 and 1 and all one nodes * using leg 0 so we may need to swap leg j with leg 2 (for a 3 node) * or leg 1 (for a fixed 2 node) */ if ((j == 0 && !one_node(stn2)) || (j == 1 && three_node(stn2))) { /* i is the direction to swap with */ i = (three_node(stn2)) ? 2 : 1; /* change the other direction of leg i to use leg j */ reverse_leg(stn2->leg[i])->l.reverse += j - i; stn2->leg[j] = stn2->leg[i]; j = i; } stn2->leg[j] = NULL; #if PRINT_NETBITS print_prefix(stn2->name); printf("<%p>",stn2); putnl(); #endif } } } static void remove_travs(void) { node *stn; /* TRANSLATORS: In French, Eric chose to use the terminology used by * toporobot: "sequence" for the English "traverse", which makes sense * (although toporobot actually uses this term to mean something more * specific). Feel free to follow this lead if you can't think of a better * term - these messages mostly indicate how processing is progressing. */ out_current_action(msg(/*Concatenating traverses*/126)); FOR_EACH_STN(stn, fixedlist) { for (int d = 0; d <= 2; d++) { linkfor *leg = stn->leg[d]; if (!leg) break; if (!(leg->l.reverse & FLAG_REPLACEMENTLEG)) concatenate_trav(stn, d); } } FOR_EACH_STN(stn, stnlist) { if (!three_node(stn)) continue; for (int d = 0; d <= 2; d++) { linkfor *leg = stn->leg[d]; if (!(leg->l.reverse & FLAG_REPLACEMENTLEG)) concatenate_trav(stn, d); } } } static void concatenate_trav(node *stn, int i) { int j; stack *trav; node *stn2; linkfor *newleg, *newleg2; stn2 = stn->leg[i]->l.to; /* If the traverse is already a single leg there's nothing to do (this * may also be an already-replaced traverse). */ if (!two_node(stn2) || fixed(stn2)) return; trav = osnew(stack); newleg2 = (linkfor*)osnew(linkcommon); #if PRINT_NETBITS printf("Concatenating trav "); print_prefix(stn->name); printf("<%p>",stn); #endif newleg2->l.to = stn; newleg2->l.reverse = i | FLAG_REPLACEMENTLEG; trav->join1 = stn->leg[i]; j = reverse_leg_dirn(stn->leg[i]); SVX_ASSERT(j == 0 || j == 1); newleg = copy_link(stn->leg[i]); while (1) { stn = stn2; #if PRINT_NETBITS fputs(szLink, stdout); print_prefix(stn->name); printf("<%p>",stn); #endif /* Check if we've reached the end of this traverse. */ if (!two_node(stn) || fixed(stn)) break; remove_stn_from_list(&stnlist, stn); i = j ^ 1; /* flip direction for other leg of 2 node */ stn2 = stn->leg[i]->l.to; j = reverse_leg_dirn(stn->leg[i]); addto_link(newleg, stn->leg[i]); } trav->join2 = stn->leg[j]; trav->next = ptr; ptr = trav; newleg->l.to = stn; newleg->l.reverse = j | FLAG_DATAHERE | FLAG_REPLACEMENTLEG; newleg2->l.to->leg[reverse_leg_dirn(newleg2)] = newleg; /* i.e. stn->leg[i] = newleg; with original stn and i */ stn->leg[j] = newleg2; #if PRINT_NETBITS PUTCHAR(' '); print_var(&(newleg->v)); printf("\nStacked "); print_prefix(newleg2->l.to->name); printf(",%d-", reverse_leg_dirn(newleg2)); print_prefix(stn->name); printf(",%d\n", j); #endif } #ifdef BLUNDER_DETECTION /* expected_error is actually squared... */ /* only called if fhErrStat != NULL */ static void do_gross(delta e, delta v, node *stn1, node *stn2, double expected_error) { double hsqrd, rsqrd, s, cx, cy, cz; double tot; int i; bool output = false; prefix *name1 = stn1->name, *name2 = stn2->name; #if 0 printf( "e = ( %.2f, %.2f, %.2f )", e[0], e[1], e[2] ); printf( " v = ( %.2f, %.2f, %.2f )\n", v[0], v[1], v[2] ); #endif hsqrd = sqrd(v[0]) + sqrd(v[1]); rsqrd = hsqrd + sqrd(v[2]); if (rsqrd == 0.0) return; cx = v[0] + e[0]; cy = v[1] + e[1]; cz = v[2] + e[2]; s = (e[0] * v[0] + e[1] * v[1] + e[2] * v[2]) / rsqrd; tot = 0; for (i = 2; i >= 0; i--) tot += sqrd(e[i] - v[i] * s); if (tot <= expected_error) { if (!output) { fprint_prefix(fhErrStat, name1); fputs("->", fhErrStat); fprint_prefix(fhErrStat, name2); } fprintf(fhErrStat, " L: %.2f", sqrt(tot)); /* checked - works */ fprintf(fhErrStat, " (%.2fm -> %.2fm)", sqrt(sqrdd(v)), sqrt(sqrdd(v)) * (1 - s)); output = true; } s = sqrd(cx) + sqrd(cy); if (s > 0.0) { s = hsqrd / s; SVX_ASSERT(s >= 0.0); s = sqrt(s); s = 1 - s; tot = sqrd(cx * s) + sqrd(cy * s) + sqrd(e[2]); if (tot <= expected_error) { double newval, oldval; if (!output) { fprint_prefix(fhErrStat, name1); fputs("->", fhErrStat); fprint_prefix(fhErrStat, name2); } fprintf(fhErrStat, " B: %.2f", sqrt(tot)); /* checked - works */ newval = deg(atan2(cx, cy)); if (newval < 0) newval += 360; oldval = deg(atan2(v[0], v[1])); if (oldval < 0) oldval += 360; fprintf(fhErrStat, " (%.2fdeg -> %.2fdeg)", oldval, newval); output = true; } } if (hsqrd > 0.0) { double nx, ny; s = (e[0] * v[1] - e[1] * v[0]) / hsqrd; nx = cx - s * v[1]; ny = cy + s * v[0]; s = sqrd(nx) + sqrd(ny) + sqrd(cz); if (s > 0.0) { s = rsqrd / s; SVX_ASSERT(s >= 0); s = sqrt(s); tot = sqrd(cx - s * nx) + sqrd(cy - s * ny) + sqrd(cz - s * cz); if (tot <= expected_error) { if (!output) { fprint_prefix(fhErrStat, name1); fputs("->", fhErrStat); fprint_prefix(fhErrStat, name2); } fprintf(fhErrStat, " G: %.2f", sqrt(tot)); /* checked - works */ fprintf(fhErrStat, " (%.2fdeg -> %.2fdeg)", deg(atan2(v[2], sqrt(v[0] * v[0] + v[1] * v[1]))), deg(atan2(cz, sqrt(nx * nx + ny * ny)))); output = true; } } } if (output) fputnl(fhErrStat); } #endif static void replace_travs(void) { stack *ptrOld; node *stn1, *stn2, *stn3; int i, j, k; double eTot = 0, lenTrav = 0, lenTot; double eTotTheo = 0; double vTot = 0, vTotTheo = 0, hTot = 0, hTotTheo = 0; delta e, sc; bool fEquate; /* used to indicate equates in output */ int cLegsTrav = 0; bool fArtic; /* TRANSLATORS: In French, Eric chose to use the terminology used by * toporobot: "sequence" for the English "traverse", which makes sense * (although toporobot actually uses this term to mean something more * specific). Feel free to follow this lead if you can't think of a better * term - these messages mostly indicate how processing is progressing. */ out_current_action(msg(/*Calculating traverses*/127)); if (!pimg) { char *fnm = add_ext(fnm_output_base, EXT_SVX_3D); filename_register_output(fnm); pimg = img_open_write_cs(fnm, s_str(&survey_title), proj_str_out, img_FFLAG_SEPARATOR(output_separator)); if (!pimg) fatalerror(img_error(), fnm); free(fnm); } if (!fhErrStat && !fSuppress) fhErrStat = safe_fopen_with_ext(fnm_output_base, EXT_SVX_ERRS, "w"); /* First do all the one leg traverses */ for (stn1 = fixedlist; stn1; stn1 = stn1->next) { #if PRINT_NETBITS printf("One leg traverses from "); print_prefix(stn1->name); printf(" [%p]\n", stn1); #endif for (i = 0; i <= 2; i++) { linkfor *leg = stn1->leg[i]; if (leg && data_here(leg) && !(leg->l.reverse & (FLAG_REPLACEMENTLEG | FLAG_FAKE))) { SVX_ASSERT(fixed(stn1)); SVX_ASSERT(!fZeros(&leg->v)); stn2 = leg->l.to; if (TSTBIT(leg->l.flags, FLAGS_SURFACE)) { stn1->name->sflags |= BIT(SFLAGS_SURFACE); stn2->name->sflags |= BIT(SFLAGS_SURFACE); } else { stn1->name->sflags |= BIT(SFLAGS_UNDERGROUND); stn2->name->sflags |= BIT(SFLAGS_UNDERGROUND); } img_write_item(pimg, img_MOVE, 0, NULL, POS(stn1, 0), POS(stn1, 1), POS(stn1, 2)); if (leg->meta) { pimg->days1 = leg->meta->days1; pimg->days2 = leg->meta->days2; } else { pimg->days1 = pimg->days2 = -1; } pimg->style = (leg->l.flags >> FLAGS_STYLE_BIT0) & 0x07; img_write_item(pimg, img_LINE, leg->l.flags & FLAGS_MASK, sprint_prefix(stn1->name->up), POS(stn2, 0), POS(stn2, 1), POS(stn2, 2)); if (!(leg->l.reverse & FLAG_ARTICULATION)) { #ifdef BLUNDER_DETECTION delta err; int do_blunder; #else if (fhErrStat) { fprint_prefix(fhErrStat, stn1->name); fputs(szLink, fhErrStat); fprint_prefix(fhErrStat, stn2->name); } #endif subdd(&e, &POSD(stn2), &POSD(stn1)); subdd(&e, &e, &leg->d); if (fhErrStat) { eTot = sqrdd(e); hTot = sqrd(e[0]) + sqrd(e[1]); vTot = sqrd(e[2]); #ifndef NO_COVARIANCES /* FIXME: what about covariances? */ hTotTheo = leg->v[0] + leg->v[1]; vTotTheo = leg->v[2]; eTotTheo = hTotTheo + vTotTheo; #else hTotTheo = leg->v[0] + leg->v[1]; vTotTheo = leg->v[2]; eTotTheo = hTotTheo + vTotTheo; #endif #ifdef BLUNDER_DETECTION memcpy(&err, &e, sizeof(delta)); do_blunder = (eTot > eTotTheo); fputs("\ntraverse ", fhErrStat); fprint_prefix(fhErrStat, stn1->name); fputs("->", fhErrStat); fprint_prefix(fhErrStat, stn2->name); fprintf(fhErrStat, " e=(%.2f, %.2f, %.2f) mag=%.2f %s\n", e[0], e[1], e[2], sqrt(eTot), (do_blunder ? "suspect:" : "OK")); if (do_blunder) do_gross(err, leg->d, stn1, stn2, eTotTheo); #endif err_stat(1, sqrt(sqrdd(leg->d)), eTot, eTotTheo, hTot, hTotTheo, vTot, vTotTheo); } } } } } while (ptr != NULL) { /* work out where traverse should be reconnected */ linkfor *leg = ptr->join1; leg = reverse_leg(leg); stn1 = leg->l.to; i = reverse_leg_dirn(leg); leg = ptr->join2; leg = reverse_leg(leg); stn2 = leg->l.to; j = reverse_leg_dirn(leg); #if PRINT_NETBITS printf(" Trav "); print_prefix(stn1->name); printf("<%p>[%d]%s...%s", stn1, i, szLink, szLink); print_prefix(stn2->name); printf("<%p>[%d]\n", stn2, j); #endif if (!fixed(stn1)) { SVX_ASSERT(!fixed(stn2)); goto skip_hanging_traverse; } SVX_ASSERT(fixed(stn2)); /* calculate scaling factors for error distribution */ eTot = 0.0; hTot = vTot = 0.0; SVX_ASSERT(data_here(stn1->leg[i])); if (fZeros(&stn1->leg[i]->v)) { sc[0] = sc[1] = sc[2] = 0.0; } else { subdd(&e, &POSD(stn2), &POSD(stn1)); subdd(&e, &e, &stn1->leg[i]->d); eTot = sqrdd(e); hTot = sqrd(e[0]) + sqrd(e[1]); vTot = sqrd(e[2]); divds(&sc, &e, &stn1->leg[i]->v); } #ifndef NO_COVARIANCES /* FIXME: what about covariances? */ hTotTheo = stn1->leg[i]->v[0] + stn1->leg[i]->v[1]; vTotTheo = stn1->leg[i]->v[2]; #else hTotTheo = stn1->leg[i]->v[0] + stn1->leg[i]->v[1]; vTotTheo = stn1->leg[i]->v[2]; #endif eTotTheo = hTotTheo + vTotTheo; cLegsTrav = 0; lenTrav = 0.0; img_write_item(pimg, img_MOVE, 0, NULL, POS(stn1, 0), POS(stn1, 1), POS(stn1, 2)); fArtic = stn1->leg[i]->l.reverse & FLAG_ARTICULATION; free(stn1->leg[i]); stn1->leg[i] = ptr->join1; /* put old link back in */ free(stn2->leg[j]); stn2->leg[j] = ptr->join2; /* and the other end */ #ifdef BLUNDER_DETECTION delta err; int do_blunder; memcpy(&err, &e, sizeof(delta)); do_blunder = (eTot > eTotTheo); if (fhErrStat && !fArtic) { fputs("\ntraverse ", fhErrStat); fprint_prefix(fhErrStat, stn1->name); fputs("->", fhErrStat); fprint_prefix(fhErrStat, stn2->name); fprintf(fhErrStat, " e=(%.2f, %.2f, %.2f) mag=%.2f %s\n", e[0], e[1], e[2], sqrt(eTot), (do_blunder ? "suspect:" : "OK")); } #endif while (true) { int reached_end; prefix *leg_pfx; fEquate = true; /* get next node in traverse * should have stn3->leg[k]->l.to == stn1 */ stn3 = stn1->leg[i]->l.to; k = reverse_leg_dirn(stn1->leg[i]); SVX_ASSERT2(stn3->leg[k]->l.to == stn1, "reverse leg doesn't reciprocate"); reached_end = (stn3 == stn2 && k == j); if (data_here(stn1->leg[i])) { leg_pfx = stn1->name->up; leg = stn1->leg[i]; #ifdef BLUNDER_DETECTION if (do_blunder && fhErrStat) do_gross(err, leg->d, stn1, stn3, eTotTheo); #endif if (!reached_end) adddd(&POSD(stn3), &POSD(stn1), &leg->d); } else { leg_pfx = stn3->name->up; leg = stn3->leg[k]; #ifdef BLUNDER_DETECTION if (do_blunder && fhErrStat) do_gross(err, leg->d, stn1, stn3, eTotTheo); #endif if (!reached_end) subdd(&POSD(stn3), &POSD(stn1), &leg->d); } lenTot = sqrdd(leg->d); if (!fZeros(&leg->v)) fEquate = false; if (!reached_end) { add_stn_to_list(&fixedlist, stn3); if (!fEquate) { mulsd(&e, &leg->v, &sc); adddd(&POSD(stn3), &POSD(stn3), &e); } } if (!(leg->l.reverse & (FLAG_REPLACEMENTLEG | FLAG_FAKE))) { if (TSTBIT(leg->l.flags, FLAGS_SURFACE)) { stn1->name->sflags |= BIT(SFLAGS_SURFACE); stn3->name->sflags |= BIT(SFLAGS_SURFACE); } else { stn1->name->sflags |= BIT(SFLAGS_UNDERGROUND); stn3->name->sflags |= BIT(SFLAGS_UNDERGROUND); } SVX_ASSERT(!fEquate); SVX_ASSERT(!fZeros(&leg->v)); if (leg->meta) { pimg->days1 = leg->meta->days1; pimg->days2 = leg->meta->days2; } else { pimg->days1 = pimg->days2 = -1; } pimg->style = (leg->l.flags >> FLAGS_STYLE_BIT0) & 0x07; img_write_item(pimg, img_LINE, leg->l.flags & FLAGS_MASK, sprint_prefix(leg_pfx), POS(stn3, 0), POS(stn3, 1), POS(stn3, 2)); } /* FIXME: equate at the start of a traverse treated specially * - what about equates at end? */ if (stn1->name != stn3->name && !(fEquate && cLegsTrav == 0)) { /* (node not part of same stn) && * (not equate at start of traverse) */ #ifndef BLUNDER_DETECTION if (fhErrStat && !fArtic) { if (!prefix_ident(stn1->name)) { /* FIXME: not ideal */ fputs("", fhErrStat); } else { fprint_prefix(fhErrStat, stn1->name); } fputs(fEquate ? szLinkEq : szLink, fhErrStat); if (reached_end) { if (!prefix_ident(stn3->name)) { /* FIXME: not ideal */ fputs("", fhErrStat); } else { fprint_prefix(fhErrStat, stn3->name); } } } #endif if (!fEquate) { cLegsTrav++; lenTrav += sqrt(lenTot); } } else { #if SHOW_INTERNAL_LEGS if (fhErrStat && !fArtic) fprintf(fhErrStat, "+"); #endif if (lenTot > 0.0) { #if DEBUG_INVALID fprintf(stderr, "lenTot = %8.4f ", lenTot); fprint_prefix(stderr, stn1->name); fprintf(stderr, " -> "); fprint_prefix(stderr, stn3->name); #endif BUG("during calculation of closure errors"); } } if (reached_end) break; i = k ^ 1; /* flip direction for other leg of 2 node */ stn1 = stn3; } /* endwhile */ if (cLegsTrav && !fArtic && fhErrStat) err_stat(cLegsTrav, lenTrav, eTot, eTotTheo, hTot, hTotTheo, vTot, vTotTheo); skip_hanging_traverse: ptrOld = ptr; ptr = ptr->next; free(ptrOld); } /* Leave fhErrStat open in case we're asked to close loops again... */ } static void err_stat(int cLegsTrav, double lenTrav, double eTot, double eTotTheo, double hTot, double hTotTheo, double vTot, double vTotTheo) { double E = sqrt(eTot / eTotTheo); double H = sqrt(hTot / hTotTheo); double V = sqrt(vTot / vTotTheo); if (!fSuppress) { double sqrt_eTot = sqrt(eTot); fputnl(fhErrStat); fprintf(fhErrStat, msg(/*Original length %6.2fm (%3d legs), moved %6.2fm (%5.2fm/leg). */145), lenTrav, cLegsTrav, sqrt_eTot, sqrt_eTot / cLegsTrav); if (lenTrav > 0.0) { fprintf(fhErrStat, msg(/*Error %6.2f%%*/146), 100 * sqrt_eTot / lenTrav); } else { /* TRANSLATORS: Here N/A means "Not Applicable" -- it means the * traverse has zero length, so error per metre is meaningless. * * There should be 4 spaces between "Error" and "N/A" so that it lines * up with the numbers in the message above. */ fputs(msg(/*Error N/A*/147), fhErrStat); } fputnl(fhErrStat); fprintf(fhErrStat, "%f\n", E); fprintf(fhErrStat, "H: %f V: %f\n", H, V); fputnl(fhErrStat); } img_write_errors(pimg, cLegsTrav, lenTrav, E, H, V); } static void replace_trailing_travs(void) { stackTrail *ptrOld; node *stn1, *stn2; linkfor *leg; int i; /* TRANSLATORS: In French, Eric chose to use the terminology used by * toporobot: "sequence" for the English "traverse", which makes sense * (although toporobot actually uses this term to mean something more * specific). Feel free to follow this lead if you can't think of a better * term - these messages mostly indicate how processing is progressing. * * A trailing traverse is a dead end back to a junction. */ out_current_action(msg(/*Calculating trailing traverses*/128)); while (ptrTrail != NULL) { leg = ptrTrail->join1; leg = reverse_leg(leg); stn1 = leg->l.to; if (!fixed(stn1)) { // This happens in a component which wasn't attached to fixed points. goto skip; } i = reverse_leg_dirn(leg); #if PRINT_NETBITS printf(" Trailing trav "); print_prefix(stn1->name); printf("<%p>", stn1); printf("%s...\n", szLink); printf(" attachment stn is at (%f, %f, %f)\n", POS(stn1, 0), POS(stn1, 1), POS(stn1, 2)); #endif /* We may have swapped the links round when we removed the leg. If * we did then stn1->leg[i] will be in use. The link we swapped * with is the first free leg */ if (stn1->leg[i]) { /* j is the direction to swap with */ int j = (stn1->leg[1]) ? 2 : 1; /* change the other direction of leg i to use leg j */ reverse_leg(stn1->leg[i])->l.reverse += j - i; stn1->leg[j] = stn1->leg[i]; } stn1->leg[i] = ptrTrail->join1; img_write_item(pimg, img_MOVE, 0, NULL, POS(stn1, 0), POS(stn1, 1), POS(stn1, 2)); while (1) { prefix *leg_pfx; int j; leg = stn1->leg[i]; stn2 = leg->l.to; j = reverse_leg_dirn(leg); if (data_here(leg)) { leg_pfx = stn1->name->up; adddd(&POSD(stn2), &POSD(stn1), &leg->d); #if 0 printf("Adding leg (%f, %f, %f)\n", leg->d[0], leg->d[1], leg->d[2]); #endif } else { leg_pfx = stn2->name->up; leg = stn2->leg[j]; subdd(&POSD(stn2), &POSD(stn1), &leg->d); #if 0 printf("Subtracting reverse leg (%f, %f, %f)\n", leg->d[0], leg->d[1], leg->d[2]); #endif } add_stn_to_list(&fixedlist, stn2); if (!(leg->l.reverse & (FLAG_REPLACEMENTLEG | FLAG_FAKE))) { if (TSTBIT(leg->l.flags, FLAGS_SURFACE)) { stn1->name->sflags |= BIT(SFLAGS_SURFACE); stn2->name->sflags |= BIT(SFLAGS_SURFACE); } else { stn1->name->sflags |= BIT(SFLAGS_UNDERGROUND); stn2->name->sflags |= BIT(SFLAGS_UNDERGROUND); } } if (!(leg->l.reverse & (FLAG_REPLACEMENTLEG | FLAG_FAKE))) { SVX_ASSERT(!fZeros(&leg->v)); if (leg->meta) { pimg->days1 = leg->meta->days1; pimg->days2 = leg->meta->days2; } else { pimg->days1 = pimg->days2 = -1; } pimg->style = (leg->l.flags >> FLAGS_STYLE_BIT0) & 0x07; img_write_item(pimg, img_LINE, leg->l.flags & FLAGS_MASK, sprint_prefix(leg_pfx), POS(stn2, 0), POS(stn2, 1), POS(stn2, 2)); } /* stop if not 2 node */ if (!two_node(stn2)) break; stn1 = stn2; i = j ^ 1; /* flip direction for other leg of 2 node */ } skip: ptrOld = ptrTrail; ptrTrail = ptrTrail->next; free(ptrOld); } /* write out connections with no survey data */ while (nosurveyhead) { nosurveylink *p = nosurveyhead; if (!fixed(p->fr) || !fixed(p->to)) { goto skip_nosurvey; } if (TSTBIT(p->flags, FLAGS_SURFACE)) { p->fr->name->sflags |= BIT(SFLAGS_SURFACE); p->to->name->sflags |= BIT(SFLAGS_SURFACE); } else { p->fr->name->sflags |= BIT(SFLAGS_UNDERGROUND); p->to->name->sflags |= BIT(SFLAGS_UNDERGROUND); } img_write_item(pimg, img_MOVE, 0, NULL, POS(p->fr, 0), POS(p->fr, 1), POS(p->fr, 2)); if (p->meta) { pimg->days1 = p->meta->days1; pimg->days2 = p->meta->days2; } else { pimg->days1 = pimg->days2 = -1; } pimg->style = img_STYLE_NOSURVEY; img_write_item(pimg, img_LINE, (p->flags & FLAGS_MASK), sprint_prefix(p->fr->name->up), POS(p->to, 0), POS(p->to, 1), POS(p->to, 2)); skip_nosurvey: nosurveyhead = p->next; free(p); } /* write stations to .3d file and free legs and stations */ for (stn1 = fixedlist; stn1; stn1 = stn1->next) { int d; SVX_ASSERT(fixed(stn1)); if (stn1->name->stn == stn1) { int sf = stn1->name->sflags; /* take care of unused fixed points */ if (!TSTBIT(sf, SFLAGS_SOLVED)) { const char * label = NULL; if (TSTBIT(sf, SFLAGS_ANON)) { label = ""; } else if (prefix_ident(stn1->name)) { label = sprint_prefix(stn1->name); } if (label) { /* Set flag to stop station being rewritten after *solve. */ stn1->name->sflags = sf | BIT(SFLAGS_SOLVED); sf &= SFLAGS_MASK; if (stn1->name->max_export) sf |= BIT(SFLAGS_EXPORTED); img_write_item(pimg, img_LABEL, sf, label, POS(stn1, 0), POS(stn1, 1), POS(stn1, 2)); } } } /* update coords of bounding box, ignoring the base positions * of points fixed with error estimates and only counting stations * in underground surveys. * * NB We don't set SFLAGS_UNDERGROUND for the anchor station for * a point fixed with error estimates, so this test will exclude * those too, which is what we want. */ if (TSTBIT(stn1->name->sflags, SFLAGS_UNDERGROUND)) { for (d = 0; d < 3; d++) { if (POS(stn1, d) < min[d]) { min[d] = POS(stn1, d); pfxLo[d] = stn1->name; } if (POS(stn1, d) > max[d]) { max[d] = POS(stn1, d); pfxHi[d] = stn1->name; } } /* Range without anonymous stations at offset 3. */ if (!TSTBIT(stn1->name->sflags, SFLAGS_ANON)) { for (d = 0; d < 3; d++) { if (POS(stn1, d) < min[d + 3]) { min[d + 3] = POS(stn1, d); pfxLo[d + 3] = stn1->name; } if (POS(stn1, d) > max[d + 3]) { max[d + 3] = POS(stn1, d); pfxHi[d + 3] = stn1->name; } } } } if (stn1->leg[0]) { // Track range of coordinates for all stations with legs so we can // report approximate full range of convergence values. for (d = 0; d < 3; d++) { if (POS(stn1, d) < min[d + 6]) { min[d + 6] = POS(stn1, d); pfxLo[d + 6] = stn1->name; } if (POS(stn1, d) > max[d + 6]) { max[d + 6] = POS(stn1, d); pfxHi[d + 6] = stn1->name; } } } for (i = 0; i <= 2; i++) { leg = stn1->leg[i]; /* only want to think about forwards legs */ if (leg && data_here(leg)) { linkfor *legRev; node *stnB; int iB; stnB = leg->l.to; iB = reverse_leg_dirn(leg); legRev = stnB->leg[iB]; SVX_ASSERT2(legRev->l.to == stn1, "leg doesn't reciprocate"); SVX_ASSERT(fixed(stn1)); if (!(leg->l.flags & (BIT(FLAGS_DUPLICATE)|BIT(FLAGS_SPLAY)| BIT(FLAGS_SURFACE)))) { /* check not an equating leg, or one inside an sdfix point */ if (!(leg->l.reverse & (FLAG_REPLACEMENTLEG | FLAG_FAKE))) { totadj += sqrt(sqrd(POS(stnB, 0) - POS(stn1, 0)) + sqrd(POS(stnB, 1) - POS(stn1, 1)) + sqrd(POS(stnB, 2) - POS(stn1, 2))); total += sqrt(sqrdd(leg->d)); totplan += hypot(leg->d[0], leg->d[1]); totvert += fabs(leg->d[2]); } } free(leg); free(legRev); stn1->leg[i] = stnB->leg[iB] = NULL; } } } /* The station position is attached to the name, so we leave the names and * positions in place - they can then be picked up if we have a *solve * followed by more data */ for (stn1 = fixedlist; stn1; stn1 = stn2) { stn2 = stn1->next; stn1->name->stn = NULL; free(stn1); } fixedlist = NULL; } static void write_passage_models(void) { lrudlist * psg = model; while (psg) { lrudlist * oldp; lrud * xsect = psg->tube; int xflags = 0; while (xsect) { lrud *oldx; prefix *pfx; const char *name; pimg->l = xsect->l; pimg->r = xsect->r; pimg->u = xsect->u; pimg->d = xsect->d; if (xsect->meta) { pimg->days1 = xsect->meta->days1; pimg->days2 = xsect->meta->days2; } else { pimg->days1 = pimg->days2 = -1; } pfx = xsect->stn; name = sprint_prefix(pfx); oldx = xsect; xsect = xsect->next; free(oldx); if (!pfx->pos) { /* TRANSLATORS: e.g. the user specifies a passage cross-section at * station "entrance.27", but there is no station "entrance.27" in * the centre-line. */ compile_diagnostic_pfx(DIAG_ERR, pfx, /*Cross section specified at non-existent station “%s”*/83, name); } else { if (xsect == NULL) xflags = img_XFLAG_END; img_write_item(pimg, img_XSECT, xflags, name, 0, 0, 0); } } oldp = psg; psg = psg->next; free(oldp); } model = NULL; } node * find_non_anon_stn(node *stn) { if (TSTBIT(stn->name->sflags, SFLAGS_ANON)) { /* An anonymous station must be at the end of a trailing traverse * (since the same anonymous station can't be referred to more * than once), and trailing traverses have been removed at this * point. * * However, we may remove a hanging trailing traverse back to an * anonymous station. It's not helpful to fail to point to a * station in such a case so we look through the list of trailing * traverses to find the one which would reattach to this station * and report a station from that traverse instead. */ for (stackTrail* p = ptrTrail; p; p = p->next) { linkfor *leg = ptrTrail->join1; if (reverse_leg(leg)->l.to == stn) { return leg->l.to; } } } return stn; } survex-1.4.17/src/brotate.xbm0000644000175000017500000000157614525274540011601 #define brotate_width 32 #define brotate_height 32 static unsigned char brotate_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0xff, 0x00, 0x08, 0x02, 0x82, 0x00, 0x08, 0x01, 0x84, 0x00, 0x08, 0x02, 0x82, 0x00, 0x08, 0xfc, 0x81, 0x00, 0x28, 0x00, 0xa0, 0x00, 0xd8, 0x00, 0xd0, 0x00, 0x08, 0x03, 0x88, 0x00, 0x00, 0xfc, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x88, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }; survex-1.4.17/src/getopt.c0000644000175000017500000010413214766127201011065 /* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ #if 0 /* Survex doesn't use getopt() so we don't declare it. */ /* This tells Alpha OSF/1 not to define a getopt prototype in . Ditto for AIX 3.2 and . */ #ifndef _NO_PROTO # define _NO_PROTO #endif #endif #ifdef HAVE_CONFIG_H # include #endif #include "message.h" #define _ #if !defined __STDC__ || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ # ifndef const # define const # endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 # include # if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION # define ELIDE_CODE # endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #if 1 /* Survex doesn't use getopt() so we don't declare it. */ /* Don't include stdlib.h for non-GNU C libraries because some of them contain conflicting prototypes for getopt. */ # include # include #endif /* GNU C library. */ #ifdef VMS # include # if HAVE_STRING_H - 0 # include # endif #endif #ifndef _ /* This is for other GNU distributions with internationalized messages. */ # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifndef _ # define _(msgid) gettext (msgid) # endif # else # define _(msgid) (msgid) # endif # if defined _LIBC && defined USE_IN_LIBIO # include # endif #endif #ifndef attribute_hidden # define attribute_hidden #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As `getopt' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Formerly, initialization of getopt depended on optind==0, which causes problems with re-calling getopt as programs generally don't know that. */ int __getopt_initialized attribute_hidden; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ static char *nextchar; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ static enum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } ordering; /* Value of POSIXLY_CORRECT environment variable. */ static char *posixly_correct; #ifdef __GNU_LIBRARY__ /* We want to avoid inclusion of string.h with non-GNU libraries because there are many ways it can cause trouble. On some systems, it contains special magic macros that don't work in GCC. */ # include # define my_index strchr #else # if HAVE_STRING_H # include # else # include # endif /* Avoid depending on library functions or files whose names are inconsistent. */ #if 0 /* Survex doesn't use getopt() so we include . */ #ifndef getenv /* avoid "warning C4273: 'getenv' : inconsistent dll linkage." */ #ifndef __WIN32__ extern char *getenv (); #endif #endif #endif static char * my_index (str, chr) const char *str; int chr; { while (*str) { if (*str == chr) return (char *) str; str++; } return 0; } /* If using GCC, we can safely declare strlen this way. If not using GCC, it is ok not to declare it. */ #ifdef __GNUC__ /* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. That was relevant to code that was here before. */ # if (!defined __STDC__ || !__STDC__) && !defined strlen /* gcc with -traditional declares the built-in strlen to return int, and has done so at least since version 2.4.5. -- rms. */ extern int strlen (const char *); # endif /* not __STDC__ */ #endif /* __GNUC__ */ #endif /* not __GNU_LIBRARY__ */ /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ static int first_nonopt; static int last_nonopt; #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; static int nonoption_flags_max_len; static int nonoption_flags_len; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ #if defined __STDC__ && __STDC__ static void exchange (char **); #endif static void exchange (argv) char **argv; { int bottom = first_nonopt; int middle = last_nonopt; int top = optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) nonoption_flags_len = nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len), '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ first_nonopt += (optind - last_nonopt); last_nonopt = optind; } /* Initialize the internal data when the first call is made. */ #if defined __STDC__ && __STDC__ static const char *_getopt_initialize (int, char *const *, const char *); #endif static const char * _getopt_initialize (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ first_nonopt = last_nonopt = optind; nextchar = NULL; posixly_correct = getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { ordering = REQUIRE_ORDER; ++optstring; } else if (posixly_correct != NULL) ordering = REQUIRE_ORDER; else ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (posixly_correct == NULL && argc == __libc_argc && argv == __libc_argv) { if (nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = nonoption_flags_max_len = strlen (orig_str); if (nonoption_flags_max_len < argc) nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', nonoption_flags_max_len - len); } } nonoption_flags_len = nonoption_flags_max_len; } else nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal (argc, argv, optstring, longopts, longind, long_only) int argc; char *const *argv; const char *optstring; const struct option *longopts; int *longind; int long_only; { int print_errors = opterr; if (optstring[0] == ':') print_errors = 0; if (argc < 1) return -1; optarg = NULL; if (optind == 0 || !__getopt_initialized) { if (optind == 0) optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring); __getopt_initialized = 1; } /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ || (optind < nonoption_flags_len \ && __getopt_nonoption_flags[optind] == '1')) #else # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') #endif if (nextchar == NULL || *nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (last_nonopt > optind) last_nonopt = optind; if (first_nonopt > optind) first_nonopt = optind; if (ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (last_nonopt != optind) first_nonopt = optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (optind < argc && NONOPTION_P) optind++; last_nonopt = optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (optind != argc && !strcmp (argv[optind], "--")) { optind++; if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (first_nonopt == last_nonopt) first_nonopt = optind; last_nonopt = argc; optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (first_nonopt != last_nonopt) optind = first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (ordering == REQUIRE_ORDER) return -1; optarg = argv[optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ nextchar = (argv[optind] + 1 + (longopts != NULL && argv[optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[optind][1] == '-' || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); #else fprintf (stderr, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar += strlen (nextchar); optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); #else fprintf (stderr, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); #else fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar = (char *) ""; optind++; optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *nextchar++; char *temp = my_index (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*nextchar == '\0') ++optind; if (temp == NULL || c == ':') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif #if 0 if (posixly_correct) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: illegal option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); #endif } else #endif { #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } optopt = c; return '?'; } #if 0 /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } nextchar += strlen (nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } nextchar = NULL; return 'W'; /* Let the application handle it. */ } #endif if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*nextchar != '\0') { optarg = nextchar; optind++; } else optarg = NULL; nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; nextchar = NULL; } } return c; } } #if 0 /* Survex doesn't use getopt() so we don't declare it. */ int getopt (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); } #endif #endif /* Not ELIDE_CODE. */ #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ survex-1.4.17/src/filelist.h0000644000175000017500000000176114563510437011411 /* filelist.h * Filename extensions used by Survex programs * Copyright (C) 1993-2001 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #define EXT_SVX_DATA "svx" #define EXT_SVX_3D "3d" #define EXT_SVX_ERRS "err" #define EXT_SVX_POS "pos" #define EXT_SVX_MSG "msg" #define EXT_INI "ini" #define EXT_LOG "log" survex-1.4.17/src/osalloc.h0000664000175000017500000000230514765126030011223 /* osalloc.h * Function prototypes for OS dep. malloc etc - funcs in error.c * Copyright (C) 1996,1997,2001,2003,2004,2010,2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef OSALLOC_H /* only include once */ #define OSALLOC_H #ifdef __cplusplus extern "C" { #endif #include /* Allocate like C++ new -- call osnew() eg. osnew(point) */ #define osnew(T) (T*)osmalloc(sizeof(T)) void *osmalloc(size_t); void *osrealloc(void *, size_t); char *osstrdup(const char *str); #ifdef __cplusplus } #endif #endif survex-1.4.17/src/readval.h0000664000175000017500000000447514766155411011225 /* readval.h * Routines to read a prefix or number from the current input file * Copyright (C) 1991-2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "datain.h" extern int root_depr_count; enum { /* Can the prefix be omitted? If it is, read_prefix() returns NULL. */ PFX_OPT = 1, /* Read a survey? */ PFX_SURVEY = 2, /* Make implicit checks */ PFX_SUSPECT_TYPO = 4, /* Can the deprecated "root" be used? */ PFX_ALLOW_ROOT = 8, /* Warn if the read prefix contains a separator? */ PFX_WARN_SEPARATOR = 16, /* Anonymous stations OK? */ PFX_ANON = 32, /* Read a station? */ PFX_STATION = 0 }; prefix *read_prefix(unsigned flags); // Read a sequence of NAMES characters. Returns NULL if none. // Caller is responsible for calling free() on the returned value. char *read_walls_prefix(void); prefix *read_walls_station(char * const walls_prefix[3], bool anon_allowed, bool *p_new); // Like read_numeric() but doesn't skipblanks() first and can be told to not // allow a sign. real read_number(bool f_optional, bool f_unsigned); real read_quadrant(bool f_optional); real read_numeric(bool f_optional); real read_numeric_multi(bool f_optional, bool f_quadrants, int *p_n_readings); real read_bearing_multi_or_omit(bool f_quadrants, int *p_n_readings); /* Don't skip blanks; can specify diagnostic type and error code. */ unsigned int read_uint_raw(int diag_type, int errmsg, const filepos *fp); unsigned int read_uint(void); int read_int(int min_val, int max_val); void read_string(string *pstr); bool read_string_warning(string *pstr); void read_walls_srv_date(int *py, int *pm, int *pd); survex-1.4.17/src/gpx.cc0000664000175000017500000001302414765126030010523 /* gpx.cc * Export from Aven as GPX. */ /* Copyright (C) 2012 Olaf Kähler * Copyright (C) 2012-2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gpx.h" #include "export.h" // For LABELS, etc #include #include #include #include #include "useful.h" #include #include "aven.h" #include "message.h" #include "osalloc.h" using namespace std; #define WGS84_DATUM_STRING "EPSG:4326" static void html_escape(FILE *fh, const char *s) { while (*s) { switch (*s) { case '<': fputs("<", fh); break; case '>': fputs(">", fh); break; case '&': fputs("&", fh); break; default: PUTC(*s, fh); } ++s; } } static void discarding_proj_logger(void *, int, const char *) { } GPX::GPX(const char * input_datum) { /* Prevent stderr spew from PROJ. */ proj_log_func(PJ_DEFAULT_CTX, nullptr, discarding_proj_logger); pj = proj_create_crs_to_crs(PJ_DEFAULT_CTX, input_datum, WGS84_DATUM_STRING, NULL); if (pj) { // Normalise the output order so x is longitude and y latitude - by // default new PROJ has them switched for EPSG:4326 which just seems // confusing. PJ* pj_norm = proj_normalize_for_visualization(PJ_DEFAULT_CTX, pj); proj_destroy(pj); pj = pj_norm; } if (!pj) { wxString m = wmsg(/*Failed to initialise input coordinate system “%s”*/287); m = wxString::Format(m.c_str(), input_datum); throw m; } } GPX::~GPX() { if (pj) proj_destroy(pj); free((void*)trk_name); } const int * GPX::passes() const { static const int default_passes[] = { LABELS|ENTS|FIXES|EXPORTS, LEGS|SURF, 0 }; return default_passes; } /* Initialise GPX routines. */ void GPX::header(const char * title, time_t datestamp_numeric, double, double, double, double, double, double) { fputs( "\n" "\n", fh); if (title) { fputs("", fh); html_escape(fh, title); fputs("\n", fh); trk_name = osstrdup(title); } if (datestamp_numeric != time_t(-1)) { struct tm * tm = gmtime(&datestamp_numeric); if (tm) { char buf[32]; if (strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%SZ", tm)) { fputs("\n", fh); } } } // FIXME: optional in GPX, but perhaps useful: // // NB Not necessarily the same as the bounds in survex coords translated // to WGS84 lat+long... } void GPX::line(const img_point *p1, const img_point *p, unsigned /*flags*/, bool fPendingMove) { if (fPendingMove) { if (in_trkseg) { fputs("\n", fh); } else { fputs("", fh); if (trk_name) { fputs("", fh); html_escape(fh, trk_name); fputs("", fh); } fputs("\n", fh); in_trkseg = true; } PJ_COORD coord{{p1->x, p1->y, p1->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } PJ_COORD coord{{p->x, p->y, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.2f\n", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); } void GPX::label(const img_point *p, const wxString& str, int /*sflags*/, int type) { const char* s = str.utf8_str(); PJ_COORD coord{{p->x, p->y, p->z, HUGE_VAL}}; coord = proj_trans(pj, PJ_FWD, coord); if (coord.xyzt.x == HUGE_VAL || coord.xyzt.y == HUGE_VAL || coord.xyzt.z == HUGE_VAL) { // FIXME report errors } // %.8f is at worst just over 1mm. fprintf(fh, "%.2f", coord.xyzt.x, coord.xyzt.y, coord.xyzt.z); html_escape(fh, s); fputs("", fh); // Add a "pin" symbol with colour matching what aven shows. switch (type) { case FIXES: fputs("Pin, Red", fh); break; case EXPORTS: fputs("Pin, Blue", fh); break; case ENTS: fputs("Pin, Green", fh); break; } fputs("\n", fh); } void GPX::footer() { if (in_trkseg) fputs("\n", fh); fputs("\n", fh); } survex-1.4.17/src/avenprcore.h0000664000175000017500000000414014765126030011732 /* avenprcore.h * Header file for printer independent parts of Survex printer drivers * Copyright (C) 1994-2002,2004,2005,2012,2013,2014,2015 Olly Betts * Copyright (C) 2004 Philip Underwood * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef survex_included_avenprcore_h #define survex_included_avenprcore_h #include #include "export.h" /* 1: is the default scale */ #define DEFAULT_SCALE 500 /* Height of our footer in mm. */ #define FOOTER_HEIGHT_MM 10 class wxPageSetupDialogData; /* Store everything describing the page layout */ class layout { public: /* caller modifiable bits */ int show_mask = 0; bool SkipBlank = false; bool Border = true; bool Cutlines = true; bool Legend = true; wxString title; wxString datestamp; double Scale = 0.0; double rot = 0.0, tilt = 0.0; enum {PLAN, ELEV, TILT, EXTELEV} view = PLAN; /* internal data, but may be accessed */ double scX = 1.0, scY = 1.0; double xMin = 0.0, xMax = -1.0, yMin = 0.0, yMax = -1.0; double PaperWidth, PaperDepth; int pagesX = 1, pagesY = 1, pages = 1; double xOrg = 0.0, yOrg = 0.0; explicit layout(wxPageSetupDialogData* data); #if 0 void make_calibration(); #endif void pick_scale(int x, int y); void pages_required(); int get_effective_show_mask() const { int result = show_mask; if (view == tilt) { result &= ~(XSECT|WALLS|PASG); } return result; } }; #endif survex-1.4.17/src/z_getopt.c0000664000175000017500000010430614766151654011434 /* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ #if 0 /* Survex doesn't use getopt() so we don't declare it. */ /* This tells Alpha OSF/1 not to define a getopt prototype in . Ditto for AIX 3.2 and . */ #ifndef _NO_PROTO # define _NO_PROTO #endif #endif #ifdef HAVE_CONFIG_H # include #endif #include "message.h" #define _ #if !defined __STDC__ || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ # ifndef const # define const # endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 # include # if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION # define ELIDE_CODE # endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #if 1 /* Survex doesn't use getopt() so we don't declare it. */ /* Don't include stdlib.h for non-GNU C libraries because some of them contain conflicting prototypes for getopt. */ # include # include #endif /* GNU C library. */ #ifdef VMS # include # if HAVE_STRING_H - 0 # include # endif #endif #ifndef _ /* This is for other GNU distributions with internationalized messages. */ # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include # ifndef _ # define _(msgid) gettext (msgid) # endif # else # define _(msgid) (msgid) # endif # if defined _LIBC && defined USE_IN_LIBIO # include # endif #endif #ifndef attribute_hidden # define attribute_hidden #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As `getopt' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Formerly, initialization of getopt depended on optind==0, which causes problems with re-calling getopt as programs generally don't know that. */ int __getopt_initialized attribute_hidden; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ static char *nextchar; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ static enum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } ordering; /* Value of POSIXLY_CORRECT environment variable. */ static char *posixly_correct; #ifdef __GNU_LIBRARY__ /* We want to avoid inclusion of string.h with non-GNU libraries because there are many ways it can cause trouble. On some systems, it contains special magic macros that don't work in GCC. */ # include # define my_index strchr #else # if HAVE_STRING_H # include # else # include # endif /* Avoid depending on library functions or files whose names are inconsistent. */ #if 0 /* Survex doesn't use getopt() so we include . */ #ifndef getenv /* avoid "warning C4273: 'getenv' : inconsistent dll linkage." */ #ifndef __WIN32__ extern char *getenv (); #endif #endif #endif static char * my_index (str, chr) const char *str; int chr; { while (*str) { if (*str == chr) return (char *) str; str++; } return 0; } /* If using GCC, we can safely declare strlen this way. If not using GCC, it is ok not to declare it. */ #ifdef __GNUC__ /* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. That was relevant to code that was here before. */ # if (!defined __STDC__ || !__STDC__) && !defined strlen /* gcc with -traditional declares the built-in strlen to return int, and has done so at least since version 2.4.5. -- rms. */ extern int strlen (const char *); # endif /* not __STDC__ */ #endif /* __GNUC__ */ #endif /* not __GNU_LIBRARY__ */ /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ static int first_nonopt; static int last_nonopt; #ifdef _LIBC /* Stored original parameters. XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ extern int __libc_argc; extern char **__libc_argv; /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ # ifdef USE_NONOPTION_FLAGS /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; static int nonoption_flags_max_len; static int nonoption_flags_len; # endif # ifdef USE_NONOPTION_FLAGS # define SWAP_FLAGS(ch1, ch2) \ if (nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } # else # define SWAP_FLAGS(ch1, ch2) # endif #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ #if defined __STDC__ && __STDC__ static void exchange (char **); #endif static void exchange (argv) char **argv; { int bottom = first_nonopt; int middle = last_nonopt; int top = optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) nonoption_flags_len = nonoption_flags_max_len = 0; else { memset (__mempcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len), '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ first_nonopt += (optind - last_nonopt); last_nonopt = optind; } /* Initialize the internal data when the first call is made. */ #if defined __STDC__ && __STDC__ static const char *_getopt_initialize (int, char *const *, const char *); #endif static const char * _getopt_initialize (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { (void)argc; (void)argv; /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ first_nonopt = last_nonopt = optind; nextchar = NULL; posixly_correct = getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { ordering = REQUIRE_ORDER; ++optstring; } else if (posixly_correct != NULL) ordering = REQUIRE_ORDER; else ordering = PERMUTE; #if defined _LIBC && defined USE_NONOPTION_FLAGS if (posixly_correct == NULL && argc == __libc_argc && argv == __libc_argv) { if (nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = nonoption_flags_max_len = strlen (orig_str); if (nonoption_flags_max_len < argc) nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) nonoption_flags_max_len = -1; else memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), '\0', nonoption_flags_max_len - len); } } nonoption_flags_len = nonoption_flags_max_len; } else nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal (argc, argv, optstring, longopts, longind, long_only) int argc; char *const *argv; const char *optstring; const struct option *longopts; int *longind; int long_only; { int print_errors = opterr; if (optstring[0] == ':') print_errors = 0; if (argc < 1) return -1; optarg = NULL; if (optind == 0 || !__getopt_initialized) { if (optind == 0) optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring); __getopt_initialized = 1; } /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #if defined _LIBC && defined USE_NONOPTION_FLAGS # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ || (optind < nonoption_flags_len \ && __getopt_nonoption_flags[optind] == '1')) #else # define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') #endif if (nextchar == NULL || *nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (last_nonopt > optind) last_nonopt = optind; if (first_nonopt > optind) first_nonopt = optind; if (ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (last_nonopt != optind) first_nonopt = optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (optind < argc && NONOPTION_P) optind++; last_nonopt = optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (optind != argc && !strcmp (argv[optind], "--")) { optind++; if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (first_nonopt == last_nonopt) first_nonopt = optind; last_nonopt = argc; optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (first_nonopt != last_nonopt) optind = first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (ordering == REQUIRE_ORDER) return -1; optarg = argv[optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ nextchar = (argv[optind] + 1 + (longopts != NULL && argv[optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[optind][1] == '-' || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else if (long_only || pfound->has_arg != p->has_arg || pfound->flag != p->flag || pfound->val != p->val) /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, msg(/*%s: option “%s” is ambiguous\n*/300), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind - 1][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); #else fprintf (stderr, msg(/*%s: option “--%s” doesn’t allow an argument\n*/303), argv[0], pfound->name); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("\ %s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); #else fprintf (stderr, msg(/*%s: option “%c%s” doesn’t allow an argument\n*/302), argv[0], argv[optind - 1][0], pfound->name); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar += strlen (nextchar); optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, msg(/*%s: option “%s” requires an argument\n*/305), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif if (argv[optind][1] == '-') { /* --option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); #else fprintf (stderr, msg(/*%s: unrecognized option “--%s”\n*/307), argv[0], nextchar); #endif } else { /* +option or -option */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); #else fprintf (stderr, msg(/*%s: unrecognized option “%c%s”\n*/308), argv[0], argv[optind][0], nextchar); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } nextchar = (char *) ""; optind++; optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *nextchar++; char *temp = my_index (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*nextchar == '\0') ++optind; if (temp == NULL || c == ':') { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; int n; #endif #if 0 if (posixly_correct) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: illegal option -- %c\n"), argv[0], c); #else fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); #endif } else #endif { #if defined _LIBC && defined USE_IN_LIBIO n = __asprintf (&buf, _("%s: invalid option -- %c\n"), argv[0], c); #else fprintf (stderr, msg(/*%s: invalid option -- %c\n*/310), argv[0], c); #endif } #if defined _LIBC && defined USE_IN_LIBIO if (n >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #endif } optopt = c; return '?'; } #if 0 /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]); #endif } nextchar += strlen (nextchar); optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); #endif } nextchar += strlen (nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (print_errors) { #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); #endif } nextchar += strlen (nextchar); return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } nextchar = NULL; return 'W'; /* Let the application handle it. */ } #endif if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*nextchar != '\0') { optarg = nextchar; optind++; } else optarg = NULL; nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (print_errors) { /* 1003.2 specifies the format of this message. */ #if defined _LIBC && defined USE_IN_LIBIO char *buf; if (__asprintf (&buf, _("\ %s: option requires an argument -- %c\n"), argv[0], c) >= 0) { if (_IO_fwide (stderr, 0) > 0) __fwprintf (stderr, L"%s", buf); else fputs (buf, stderr); free (buf); } #else fprintf (stderr, msg(/*%s: option requires an argument -- %c\n*/306), argv[0], c); #endif } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; nextchar = NULL; } } return c; } } #if 0 /* Survex doesn't use getopt() so we don't declare it. */ int getopt (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); } #endif #endif /* Not ELIDE_CODE. */ #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ survex-1.4.17/src/str.h0000664000175000017500000000635514765126030010410 /* dynamic string handling */ /* Copyright (c) Olly Betts 1999, 2001, 2012, 2014, 2024 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef SURVEX_INCLUDED_STR_H #define SURVEX_INCLUDED_STR_H #include #include typedef struct { char *s; int len; int capacity; /* One less than the allocated size! */ } string; // string foo = S_INIT; #define S_INIT { NULL, 0, 0 } void s_expand_(string *pstr, int addition); /* Append a block of text with given length. */ void s_appendlen(string *pstr, const char *s, int s_len); void s_appendn(string *pstr, int n, char c); /* Append another string. */ static inline void s_appends(string *pstr, const string *s) { s_appendlen(pstr, s->s, s->len); } /* Append a C string. */ static inline void s_append(string *pstr, const char *s) { s_appendlen(pstr, s, strlen(s)); } /* Append a character */ static inline void s_appendch(string *pstr, char c) { if (pstr->capacity == pstr->len) s_expand_(pstr, 1); pstr->s[pstr->len++] = c; } /* Truncate string to zero length (and ensure it isn't NULL). */ static inline void s_clear(string *pstr) { if (pstr->s == NULL) s_expand_(pstr, 0); pstr->len = 0; } /* Truncate string */ static inline void s_truncate(string *pstr, int new_len) { if (new_len < pstr->len) { pstr->len = new_len; pstr->s[new_len] = '\0'; } } /* Release allocated memory. */ static inline void s_free(string *pstr) { free(pstr->s); pstr->s = NULL; pstr->len = 0; pstr->capacity = 0; } /* Steal the C string. */ static inline char *s_steal(string *pstr) { char *s = pstr->s; s[pstr->len] = '\0'; pstr->s = NULL; pstr->len = 0; pstr->capacity = 0; return s; } /* Donate a malloc-ed C string. */ static inline void s_donate(string *pstr, char *s) { free(pstr->s); pstr->s = s; pstr->capacity = pstr->len = strlen(s); } static inline int s_len(const string *pstr) { return pstr->len; } static inline bool s_empty(const string *pstr) { return pstr->len == 0; } static inline const char *s_str(string *pstr) { char *s = pstr->s; if (s) s[pstr->len] = '\0'; return s; } static inline bool s_eqlen(const string *pstr, const char *s, int s_len) { return pstr->len == s_len && memcmp(pstr->s, s, s_len) == 0; } static inline bool s_eq(const string *pstr, const char *s) { return strncmp(pstr->s, s, pstr->len) == 0 && s[pstr->len] == '\0'; } static inline char s_back(const string *pstr) { return pstr->s[pstr->len - 1]; } #define S_EQ(PSTR, LITERAL) s_eqlen((PSTR), LITERAL, sizeof(LITERAL "") - 1) #endif // SURVEX_INCLUDED_STR_H survex-1.4.17/src/brotatemask.xbm0000644000175000017500000000161214525274540012444 #define brotatemask_width 32 #define brotatemask_height 32 static unsigned char brotatemask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0xff, 0x00, 0xf8, 0x03, 0xfe, 0x00, 0xf8, 0x01, 0xfc, 0x00, 0xf8, 0x03, 0xfe, 0x00, 0xf8, 0xff, 0xff, 0x00, 0xf8, 0xff, 0xff, 0x00, 0xd8, 0xff, 0xdf, 0x00, 0x08, 0xff, 0x8f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x80, 0x8f, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }; survex-1.4.17/src/wrapaven.c0000664000175000017500000000446014765126030011411 /* wrapaven.c * Set OPENSSL_MODULES to .exe's directory and run real .exe * * Copyright (C) 2002,2010,2014,2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include int APIENTRY wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR lpCmdLine, int nCmdShow) { DWORD len = 256; wchar_t *buf = NULL; (void)hInst; /* suppress compiler warning */ (void)hPrevInst; /* suppress compiler warning */ while (1) { DWORD got; buf = realloc(buf, len * sizeof(wchar_t)); if (!buf) return 1; got = GetModuleFileNameW(NULL, buf, len); if (got < len) { /* Strange Microsoft nastiness - skip prefix "\\?\" if present. */ if (wcsncmp(buf, L"\\\\?\\", 4) == 0) { buf += 4; got -= 4; } wchar_t *p = wcsrchr(buf, L'\\'); wchar_t *e_val = buf; size_t e_len; if (p) { e_len = p - buf; } else { e_val = L"."; e_len = 1; } wchar_t *e = malloc((e_len + strlen("OPENSSL_MODULES=") + 1) * sizeof(wchar_t)); if (!e) return 1; wcscpy(e, L"OPENSSL_MODULES="); memcpy(e + strlen("OPENSSL_MODULES="), e_val, e_len * sizeof(wchar_t)); e[strlen("OPENSSL_MODULES=") + e_len] = L'\0'; _wputenv(e); buf[got - 5] = L'_'; break; } len += len; } /* ShellExecute returns an HINSTANCE for some strange reason - the docs say * the only valid operation is to convert it to "INT_PTR" (which seems to * actually be an integer type. Marvellous. */ if ((INT_PTR)ShellExecuteW(NULL, NULL, buf, lpCmdLine, NULL, nCmdShow) <= 32) { return 1; } return 0; } survex-1.4.17/src/igrf14coeffs.txt0000664000175000017500000012265314765126030012452 # 14th Generation International Geomagnetic Reference Field Schmidt semi-normalised spherical harmonic coefficients, degree n=1,13 # in units nanoTesla for IGRF and definitive DGRF main-field models (degree n=1,8 nanoTesla/year for secular variation (SV)) c/s deg ord IGRF IGRF IGRF IGRF IGRF IGRF IGRF IGRF IGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF DGRF IGRF SV g/h n m 1900.0 1905.0 1910.0 1915.0 1920.0 1925.0 1930.0 1935.0 1940.0 1945.0 1950.0 1955.0 1960.0 1965.0 1970.0 1975.0 1980.0 1985.0 1990.0 1995.0 2000.0 2005.0 2010.0 2015.0 2020.0 2025.0 2025-30 g 1 0 -31543 -31464 -31354 -31212 -31060 -30926 -30805 -30715 -30654 -30594 -30554 -30500 -30421 -30334 -30220 -30100 -29992 -29873 -29775 -29692 -29619.4 -29554.63 -29496.57 -29441.46 -29403.41 -29350.0 12.6 g 1 1 -2298 -2298 -2297 -2306 -2317 -2318 -2316 -2306 -2292 -2285 -2250 -2215 -2169 -2119 -2068 -2013 -1956 -1905 -1848 -1784 -1728.2 -1669.05 -1586.42 -1501.77 -1451.37 -1410.3 10.0 h 1 1 5922 5909 5898 5875 5845 5817 5808 5812 5821 5810 5815 5820 5791 5776 5737 5675 5604 5500 5406 5306 5186.1 5077.99 4944.26 4795.99 4653.35 4545.5 -21.5 g 2 0 -677 -728 -769 -802 -839 -893 -951 -1018 -1106 -1244 -1341 -1440 -1555 -1662 -1781 -1902 -1997 -2072 -2131 -2200 -2267.7 -2337.24 -2396.06 -2445.88 -2499.78 -2556.2 -11.2 g 2 1 2905 2928 2948 2956 2959 2969 2980 2984 2981 2990 2998 3003 3002 2997 3000 3010 3027 3044 3059 3070 3068.4 3047.69 3026.34 3012.20 2981.96 2950.9 -5.3 h 2 1 -1061 -1086 -1128 -1191 -1259 -1334 -1424 -1520 -1614 -1702 -1810 -1898 -1967 -2016 -2047 -2067 -2129 -2197 -2279 -2366 -2481.6 -2594.50 -2708.54 -2845.41 -2991.72 -3133.6 -27.3 g 2 2 924 1041 1176 1309 1407 1471 1517 1550 1566 1578 1576 1581 1590 1594 1611 1632 1663 1687 1686 1681 1670.9 1657.76 1668.17 1676.35 1676.85 1648.7 -8.3 h 2 2 1121 1065 1000 917 823 728 644 586 528 477 381 291 206 114 25 -68 -200 -306 -373 -413 -458.0 -515.43 -575.73 -642.17 -734.62 -814.2 -11.1 g 3 0 1022 1037 1058 1084 1111 1140 1172 1206 1240 1282 1297 1302 1302 1297 1287 1276 1281 1296 1314 1335 1339.6 1336.30 1339.85 1350.33 1363.00 1360.9 -1.5 g 3 1 -1469 -1494 -1524 -1559 -1600 -1645 -1692 -1740 -1790 -1834 -1889 -1944 -1992 -2038 -2091 -2144 -2180 -2208 -2239 -2267 -2288.0 -2305.83 -2326.54 -2352.26 -2380.80 -2404.2 -4.4 h 3 1 -330 -357 -389 -421 -445 -462 -480 -494 -499 -499 -476 -462 -414 -404 -366 -333 -336 -310 -284 -262 -227.6 -198.86 -160.40 -115.29 -81.96 -56.9 3.8 g 3 2 1256 1239 1223 1212 1205 1202 1205 1215 1232 1255 1274 1288 1289 1292 1278 1260 1251 1247 1248 1249 1252.1 1246.39 1232.10 1225.85 1236.06 1243.8 0.4 h 3 2 3 34 62 84 103 119 133 146 163 186 206 216 224 240 251 262 271 284 293 302 293.4 269.72 251.75 245.04 241.80 237.6 -0.2 g 3 3 572 635 705 778 839 881 907 918 916 913 896 882 878 856 838 830 833 829 802 759 714.5 672.51 633.73 581.69 525.60 453.4 -15.6 h 3 3 523 480 425 360 293 229 166 101 43 -11 -46 -83 -130 -165 -196 -223 -252 -297 -352 -427 -491.1 -524.72 -537.03 -538.70 -542.52 -549.6 -3.9 g 4 0 876 880 884 887 889 891 896 903 914 944 954 958 957 957 952 946 938 936 939 940 932.3 920.55 912.66 907.42 902.82 894.7 -1.7 g 4 1 628 643 660 678 695 711 727 744 762 776 792 796 800 804 800 791 782 780 780 780 786.8 797.96 808.97 813.68 809.47 799.6 -2.3 h 4 1 195 203 211 218 220 216 205 188 169 144 136 133 135 148 167 191 212 232 247 262 272.6 282.07 286.48 283.54 282.10 278.6 -1.3 g 4 2 660 653 644 631 616 601 584 565 550 544 528 510 504 479 461 438 398 361 325 290 250.0 210.65 166.58 120.49 86.18 55.8 -5.8 h 4 2 -69 -77 -90 -109 -134 -163 -195 -226 -252 -276 -278 -274 -278 -269 -266 -265 -257 -249 -240 -236 -231.9 -225.23 -211.03 -188.43 -158.50 -134.0 4.1 g 4 3 -361 -380 -400 -416 -424 -426 -422 -415 -405 -421 -408 -397 -394 -390 -395 -405 -419 -424 -423 -418 -403.0 -379.86 -356.83 -334.85 -309.47 -281.1 5.4 h 4 3 -210 -201 -189 -173 -153 -130 -109 -90 -72 -55 -37 -23 3 13 26 39 53 69 84 97 119.8 145.15 164.46 180.95 199.75 212.0 1.6 g 4 4 134 146 160 178 199 217 234 249 265 304 303 290 269 252 234 216 199 170 141 122 111.3 100.00 89.40 70.38 47.44 12.0 -6.8 h 4 4 -75 -65 -55 -51 -57 -70 -90 -114 -141 -178 -210 -230 -255 -269 -279 -288 -297 -297 -299 -306 -303.8 -305.36 -309.72 -329.23 -350.30 -375.4 -4.1 g 5 0 -184 -192 -201 -211 -221 -230 -237 -241 -241 -253 -240 -229 -222 -219 -216 -218 -218 -214 -214 -214 -218.8 -227.00 -230.87 -232.91 -234.42 -232.9 0.6 g 5 1 328 328 327 327 326 326 327 329 334 346 349 360 362 358 359 356 357 355 353 352 351.4 354.41 357.29 360.14 363.26 369.0 1.3 h 5 1 -210 -193 -172 -148 -122 -96 -72 -51 -33 -12 3 15 16 19 26 31 46 47 46 46 43.8 42.72 44.58 46.98 47.52 45.3 -0.5 g 5 2 264 259 253 245 236 226 218 211 208 194 211 230 242 254 262 264 261 253 245 235 222.3 208.95 200.26 192.35 187.86 187.2 0.0 h 5 2 53 56 57 58 58 58 60 64 71 95 103 110 125 128 139 148 150 150 154 165 171.9 180.25 189.01 196.98 208.36 220.0 2.1 g 5 3 5 -1 -9 -16 -23 -28 -32 -33 -33 -20 -20 -23 -26 -31 -42 -59 -74 -93 -109 -118 -130.4 -136.54 -141.05 -140.94 -140.73 -138.7 0.7 h 5 3 -33 -32 -33 -34 -38 -44 -53 -64 -75 -67 -87 -98 -117 -126 -139 -152 -151 -154 -153 -143 -133.1 -123.45 -118.06 -119.14 -121.43 -122.9 0.5 g 5 4 -86 -93 -102 -111 -119 -125 -131 -136 -141 -142 -147 -152 -156 -157 -160 -159 -162 -164 -165 -166 -168.6 -168.05 -163.17 -157.40 -151.16 -141.9 2.3 h 5 4 -124 -125 -126 -126 -125 -122 -118 -115 -113 -119 -122 -121 -114 -97 -91 -83 -78 -75 -69 -55 -39.3 -19.57 -0.01 15.98 32.09 42.9 1.7 g 5 5 -16 -26 -38 -51 -62 -69 -74 -76 -76 -82 -76 -69 -63 -62 -56 -49 -48 -46 -36 -17 -12.9 -13.55 -8.03 4.30 13.98 20.9 1.0 h 5 5 3 11 21 32 43 51 58 64 69 82 80 78 81 81 83 88 92 95 97 107 106.3 103.85 101.04 100.12 99.14 106.2 1.9 g 6 0 63 62 62 61 61 61 60 59 57 59 54 47 46 45 43 45 48 53 61 68 72.3 73.60 72.78 69.55 65.97 64.3 -0.2 g 6 1 61 60 58 57 55 54 53 53 54 57 57 57 58 61 64 66 66 65 65 67 68.2 69.56 68.69 67.57 65.56 63.8 -0.3 h 6 1 -9 -7 -5 -2 0 3 4 4 4 6 -1 -9 -10 -11 -12 -13 -15 -16 -16 -17 -17.4 -20.33 -20.90 -20.61 -19.22 -18.4 0.3 g 6 2 -11 -11 -11 -10 -10 -9 -9 -8 -7 6 4 3 1 8 15 28 42 51 59 68 74.2 76.74 75.92 72.79 72.96 76.7 0.8 h 6 2 83 86 89 93 96 99 102 104 105 100 99 96 99 100 100 99 93 88 82 72 63.7 54.75 44.18 33.30 25.02 16.8 -1.6 g 6 3 -217 -221 -224 -228 -233 -238 -242 -246 -249 -246 -247 -247 -237 -228 -212 -198 -192 -185 -178 -170 -160.9 -151.34 -141.40 -129.85 -121.57 -115.7 1.2 h 6 3 2 4 5 8 11 14 19 25 33 16 33 48 60 68 72 75 71 69 69 67 65.1 63.63 61.54 58.74 52.76 48.9 -0.4 g 6 4 -58 -57 -54 -51 -46 -40 -32 -25 -18 -25 -16 -8 -1 4 2 1 4 4 3 -1 -5.9 -14.58 -22.83 -28.93 -36.06 -40.9 -0.8 h 6 4 -35 -32 -29 -26 -22 -18 -16 -15 -15 -9 -12 -16 -20 -32 -37 -41 -43 -48 -52 -58 -61.2 -63.53 -66.26 -66.64 -64.40 -59.8 0.8 g 6 5 59 57 54 49 44 39 32 25 18 21 12 7 -2 1 3 6 14 16 18 19 16.9 14.58 13.10 13.14 13.60 14.9 0.4 h 6 5 36 32 28 23 18 13 8 4 0 -16 -12 -12 -11 -8 -6 -4 -2 -1 1 1 0.7 0.24 3.02 7.35 8.96 10.9 0.7 g 6 6 -90 -92 -95 -98 -101 -103 -104 -106 -107 -104 -105 -107 -113 -111 -112 -111 -108 -102 -96 -93 -90.4 -86.36 -78.09 -70.85 -64.80 -60.8 0.9 h 6 6 -69 -67 -65 -62 -57 -52 -46 -40 -33 -39 -30 -24 -17 -7 1 11 17 21 24 36 43.8 50.94 55.40 62.41 68.04 72.8 0.9 g 7 0 70 70 71 72 73 73 74 74 74 70 65 65 67 75 72 71 72 74 77 77 79.0 79.88 80.44 81.29 80.54 79.6 -0.1 g 7 1 -55 -54 -54 -54 -54 -54 -54 -53 -53 -40 -55 -56 -56 -57 -57 -56 -59 -62 -64 -72 -74.0 -74.46 -75.00 -75.99 -76.63 -76.9 -0.1 h 7 1 -45 -46 -47 -48 -49 -50 -51 -52 -52 -45 -35 -50 -55 -61 -70 -77 -82 -83 -80 -69 -64.6 -61.14 -57.80 -54.27 -51.50 -48.9 0.6 g 7 2 0 0 1 2 2 3 4 4 4 0 2 2 5 4 1 1 2 3 2 1 0.0 -1.65 -4.55 -6.79 -8.23 -8.8 -0.1 h 7 2 -13 -14 -14 -14 -14 -14 -15 -17 -18 -18 -17 -24 -28 -27 -27 -26 -27 -27 -26 -25 -24.2 -22.57 -21.20 -19.53 -16.85 -14.4 0.5 g 7 3 34 33 32 31 29 27 25 23 20 0 1 10 15 13 14 16 21 24 26 28 33.3 38.73 45.24 51.82 56.45 59.3 0.5 h 7 3 -10 -11 -12 -12 -13 -14 -14 -14 -14 2 0 -4 -6 -2 -4 -5 -5 -2 0 4 6.2 6.82 6.54 5.59 2.36 -1.0 -0.7 g 7 4 -41 -41 -40 -38 -37 -35 -34 -33 -31 -29 -40 -32 -32 -26 -22 -14 -12 -6 -1 5 9.1 12.30 14.00 15.07 15.80 15.8 -0.1 h 7 4 -1 0 1 2 4 5 6 7 7 6 10 8 7 6 8 10 16 20 21 24 24.0 25.35 24.96 24.45 23.56 23.5 0.0 g 7 5 -21 -20 -19 -18 -16 -14 -12 -11 -9 -10 -7 -11 -7 -6 -2 0 1 4 5 4 6.9 9.37 10.46 9.32 6.30 2.5 -0.8 h 7 5 28 28 28 28 28 29 29 29 29 28 36 28 23 26 23 22 18 17 17 17 14.8 10.93 7.03 3.27 -2.19 -7.4 -0.9 g 7 6 18 18 18 19 19 19 18 18 17 15 5 9 17 13 13 12 11 10 9 8 7.3 5.42 1.64 -2.88 -7.21 -11.2 -0.8 h 7 6 -12 -12 -13 -15 -16 -17 -18 -19 -20 -17 -18 -20 -18 -23 -23 -23 -23 -23 -23 -24 -25.4 -26.32 -27.61 -27.50 -27.19 -25.1 0.5 g 7 7 6 6 6 6 6 6 6 6 5 29 19 18 8 1 -2 -5 -2 0 0 -2 -1.2 1.94 4.92 6.61 9.77 14.3 0.9 h 7 7 -22 -22 -22 -22 -22 -21 -20 -19 -19 -22 -16 -18 -17 -12 -11 -12 -10 -7 -4 -6 -5.8 -4.64 -3.28 -2.32 -1.90 -2.2 -0.3 g 8 0 11 11 11 11 11 11 11 11 11 13 22 11 15 13 14 14 18 21 23 25 24.4 24.80 24.41 23.98 23.66 23.1 -0.1 g 8 1 8 8 8 8 7 7 7 7 7 7 15 9 6 5 6 6 6 6 5 6 6.6 7.62 8.21 8.89 9.74 10.9 0.2 h 8 1 8 8 8 8 8 8 8 8 8 12 5 10 11 7 7 6 7 8 10 11 11.9 11.20 10.84 10.04 8.43 7.2 -0.3 g 8 2 -4 -4 -4 -4 -3 -3 -3 -3 -3 -8 -4 -6 -4 -4 -2 -1 0 0 -1 -6 -9.2 -11.73 -14.50 -16.78 -17.49 -17.5 0.0 h 8 2 -14 -15 -15 -15 -15 -15 -15 -15 -14 -21 -22 -15 -14 -12 -15 -16 -18 -19 -19 -21 -21.5 -20.88 -20.03 -18.26 -15.23 -12.6 0.4 g 8 3 -9 -9 -9 -9 -9 -9 -9 -9 -10 -5 -1 -14 -11 -14 -13 -12 -11 -11 -10 -9 -7.9 -6.88 -5.59 -3.16 -0.49 2.0 0.4 h 8 3 7 7 6 6 6 6 5 5 5 -12 0 5 7 9 6 4 4 5 6 8 8.5 9.83 11.83 13.18 12.83 11.5 -0.3 g 8 4 1 1 1 2 2 2 2 1 1 9 11 6 2 0 -3 -8 -7 -9 -12 -14 -16.6 -18.11 -19.34 -20.56 -21.07 -21.8 -0.1 h 8 4 -13 -13 -13 -13 -14 -14 -14 -15 -15 -7 -21 -23 -18 -16 -17 -19 -22 -23 -22 -23 -21.5 -19.71 -17.41 -14.60 -11.76 -9.7 0.4 g 8 5 2 2 2 3 4 4 5 6 6 7 15 10 10 8 5 4 4 4 3 9 9.1 10.17 11.61 13.33 15.28 16.9 0.3 h 8 5 5 5 5 5 5 5 5 5 5 2 -8 3 4 4 6 6 9 11 12 15 15.5 16.22 16.71 16.16 14.94 12.7 -0.5 g 8 6 -9 -8 -8 -8 -7 -7 -6 -6 -5 -10 -13 -7 -5 -1 0 0 3 4 4 6 7.0 9.36 10.85 11.76 13.65 14.9 0.1 h 8 6 16 16 16 16 17 17 18 18 19 18 17 23 23 24 21 18 16 14 12 11 8.9 7.61 6.96 5.69 3.62 0.7 -0.6 g 8 7 5 5 5 6 6 7 8 8 9 7 5 6 10 11 11 10 6 4 2 -5 -7.9 -11.25 -14.05 -15.98 -16.59 -16.8 0.0 h 8 7 -5 -5 -5 -5 -5 -5 -5 -5 -5 3 -4 -4 1 -3 -6 -10 -13 -15 -16 -16 -14.9 -12.76 -10.74 -9.10 -6.90 -5.2 0.3 g 8 8 8 8 8 8 8 8 8 7 7 2 -1 9 8 4 3 1 -1 -4 -6 -7 -7.0 -4.87 -3.54 -2.02 -0.34 1.0 0.3 h 8 8 -18 -18 -18 -18 -19 -19 -19 -19 -19 -11 -17 -13 -20 -17 -16 -17 -15 -11 -10 -4 -2.1 -0.06 1.64 2.26 2.90 3.9 0.2 g 9 0 8 8 8 8 8 8 8 8 8 5 3 4 4 8 8 7 5 5 4 4 5.0 5.58 5.50 5.33 5.03 4.7 0.0 g 9 1 10 10 10 10 10 10 10 10 10 -21 -7 9 6 10 10 10 10 10 9 9 9.4 9.76 9.45 8.83 8.36 8.0 0.0 h 9 1 -20 -20 -20 -20 -20 -20 -20 -20 -21 -27 -24 -11 -18 -22 -21 -21 -21 -21 -20 -20 -19.7 -20.11 -20.54 -21.77 -23.44 -24.8 0.0 g 9 2 1 1 1 1 1 1 1 1 1 1 -1 -4 0 2 2 2 1 1 1 3 3.0 3.58 3.45 3.02 2.84 3.0 0.0 h 9 2 14 14 14 14 14 14 14 15 15 17 19 12 12 15 16 16 16 15 15 15 13.4 12.69 11.51 10.76 11.04 12.1 0.0 g 9 3 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -25 -5 -9 -13 -12 -12 -12 -12 -12 -10 -8.4 -6.94 -5.27 -3.22 -1.48 -0.2 0.0 h 9 3 5 5 5 5 5 5 5 5 5 29 12 7 2 7 6 7 9 9 11 12 12.5 12.67 12.75 11.74 9.86 8.3 0.0 g 9 4 12 12 12 12 12 12 12 11 11 3 10 2 1 10 10 10 9 9 9 8 6.3 5.01 3.13 0.67 -1.14 -2.5 0.0 h 9 4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -9 2 6 0 -4 -4 -4 -5 -6 -7 -6 -6.2 -6.72 -7.14 -6.74 -5.13 -3.4 0.0 g 9 5 1 1 1 1 1 1 1 1 1 16 5 4 4 -1 -1 -1 -3 -3 -4 -8 -8.9 -10.76 -12.38 -13.20 -13.22 -13.1 0.0 h 9 5 -2 -2 -2 -2 -2 -2 -2 -3 -3 4 2 -2 -3 -5 -5 -5 -6 -6 -7 -8 -8.4 -8.16 -7.42 -6.88 -6.20 -5.3 0.0 g 9 6 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 1 -1 -1 0 -1 -1 -1 -2 -1 -1.5 -1.25 -0.76 -0.10 1.08 2.4 0.0 h 9 6 8 8 8 8 9 9 9 9 9 9 8 10 9 10 10 10 9 9 9 8 8.4 8.10 7.97 7.79 7.79 7.2 0.0 g 9 7 2 2 2 2 2 2 3 3 3 -4 -2 2 -2 5 3 4 7 7 7 10 9.3 8.76 8.43 8.68 8.82 8.6 0.0 h 9 7 10 10 10 10 10 10 10 11 11 6 8 7 8 10 11 11 10 9 8 5 3.8 2.92 2.14 1.04 0.40 -0.6 0.0 g 9 8 -1 0 0 0 0 0 0 0 1 -3 3 2 3 1 1 1 2 1 1 -2 -4.3 -6.66 -8.42 -9.06 -9.23 -8.7 0.0 h 9 8 -2 -2 -2 -2 -2 -2 -2 -2 -2 1 -11 -6 0 -4 -2 -3 -6 -7 -7 -8 -8.2 -7.73 -6.08 -3.89 -1.44 0.8 0.0 g 9 9 -1 -1 -1 -1 -1 -1 -2 -2 -2 -4 8 5 -1 -2 -1 -2 -5 -5 -6 -8 -8.2 -9.22 -10.08 -10.54 -11.86 -12.8 0.0 h 9 9 2 2 2 2 2 2 2 2 2 8 -7 5 5 1 1 1 2 2 2 3 4.8 6.01 7.01 8.44 9.60 9.8 0.0 g 10 0 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -8 -3 1 -2 -3 -3 -4 -4 -3 -3 -2.6 -2.17 -1.94 -2.01 -1.84 -1.3 0.0 g 10 1 -4 -4 -4 -4 -4 -4 -4 -4 -4 11 4 -5 -3 -3 -3 -3 -4 -4 -4 -6 -6.0 -6.12 -6.24 -6.26 -6.25 -6.4 0.0 h 10 1 2 2 2 2 2 2 2 2 2 5 13 -4 4 2 1 1 1 1 2 1 1.7 2.19 2.73 3.28 3.38 3.3 0.0 g 10 2 2 2 2 2 2 2 2 2 2 1 -1 -1 4 2 2 2 2 3 2 2 1.7 1.42 0.89 0.17 -0.11 0.2 0.0 h 10 2 1 1 1 1 1 1 1 1 1 1 -2 0 1 1 1 1 0 0 1 0 0.0 0.10 -0.10 -0.40 -0.18 0.1 0.0 g 10 3 -5 -5 -5 -5 -5 -5 -5 -5 -5 2 13 2 0 -5 -5 -5 -5 -5 -5 -4 -3.1 -2.35 -1.07 0.55 1.66 2.0 0.0 h 10 3 2 2 2 2 2 2 2 2 2 -20 -10 -8 0 2 3 3 3 3 3 4 4.0 4.46 4.71 4.55 3.50 2.5 0.0 g 10 4 -2 -2 -2 -2 -2 -2 -2 -2 -2 -5 -4 -3 -1 -2 -1 -2 -2 -2 -2 -1 -0.5 -0.15 -0.16 -0.55 -0.86 -1.0 0.0 h 10 4 6 6 6 6 6 6 6 6 6 -1 2 -2 2 6 4 4 6 6 6 5 4.9 4.76 4.44 4.40 4.86 5.4 0.0 g 10 5 6 6 6 6 6 6 6 6 6 -1 4 7 4 4 6 5 5 5 4 4 3.7 3.06 2.45 1.70 0.65 -0.5 0.0 h 10 5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -6 -3 -4 -5 -4 -4 -4 -4 -4 -4 -5 -5.9 -6.58 -7.22 -7.92 -8.62 -9.0 0.0 g 10 6 4 4 4 4 4 4 4 4 4 8 12 4 6 4 4 4 3 3 3 2 1.0 0.29 -0.33 -0.67 -0.88 -0.9 0.0 h 10 6 0 0 0 0 0 0 0 0 0 6 6 1 1 0 0 -1 0 0 0 -1 -1.2 -1.01 -0.96 -0.61 -0.11 0.4 0.0 g 10 7 0 0 0 0 0 0 0 0 0 -1 3 -2 1 0 1 1 1 1 1 2 2.0 2.06 2.13 2.13 1.88 1.5 0.0 h 10 7 -2 -2 -2 -2 -2 -2 -2 -1 -1 -4 -3 -3 -1 -2 -1 -1 -1 -1 -2 -2 -2.9 -3.47 -3.95 -4.16 -4.26 -4.2 0.0 g 10 8 2 2 2 1 1 1 1 2 2 -3 2 6 -1 2 0 0 2 2 3 5 4.2 3.77 3.09 2.33 1.44 0.9 0.0 h 10 8 4 4 4 4 4 4 4 4 4 -2 6 7 6 3 3 3 4 4 3 1 0.2 -0.86 -1.99 -2.85 -3.43 -3.8 0.0 g 10 9 2 2 2 2 3 3 3 3 3 5 10 -2 2 2 3 3 3 3 3 1 0.3 -0.21 -1.03 -1.80 -2.38 -2.6 0.0 h 10 9 0 0 0 0 0 0 0 0 0 0 11 -1 0 0 1 1 0 0 -1 -2 -2.2 -2.31 -1.97 -1.12 -0.10 0.9 0.0 g 10 10 0 0 0 0 0 0 0 0 0 -2 3 0 0 0 -1 -1 0 0 0 0 -1.1 -2.09 -2.80 -3.59 -3.84 -3.9 0.0 h 10 10 -6 -6 -6 -6 -6 -6 -6 -6 -6 -2 8 -3 -7 -6 -4 -5 -6 -6 -6 -7 -7.4 -7.93 -8.31 -8.72 -8.84 -9.0 0.0 g 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.7 2.95 3.05 3.00 2.96 3.0 0.0 g 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.7 -1.60 -1.48 -1.40 -1.36 -1.4 0.0 h 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0.26 0.13 0.00 -0.02 0.0 0.0 g 11 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.9 -1.88 -2.03 -2.30 -2.51 -2.5 0.0 h 11 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.3 1.44 1.67 2.11 2.50 2.8 0.0 g 11 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.5 1.44 1.65 2.08 2.31 2.4 0.0 h 11 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -0.77 -0.66 -0.60 -0.55 -0.6 0.0 g 11 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1 -0.31 -0.51 -0.79 -0.85 -0.6 0.0 h 11 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.6 -2.27 -1.76 -1.05 -0.39 0.1 0.0 g 11 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0.29 0.54 0.58 0.28 0.0 0.0 h 11 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9 0.90 0.85 0.76 0.62 0.5 0.0 g 11 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.7 -0.79 -0.79 -0.70 -0.66 -0.6 0.0 h 11 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.7 -0.58 -0.39 -0.20 -0.21 -0.3 0.0 g 11 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0.53 0.37 0.14 -0.07 -0.1 0.0 h 11 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.8 -2.69 -2.51 -2.12 -1.66 -1.2 0.0 g 11 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.7 1.80 1.79 1.70 1.44 1.1 0.0 h 11 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -1.08 -1.27 -1.44 -1.60 -1.7 0.0 g 11 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0.16 0.12 -0.22 -0.59 -1.0 0.0 h 11 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.2 -1.58 -2.11 -2.57 -2.98 -2.9 0.0 g 11 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.2 0.96 0.75 0.44 0.18 -0.1 0.0 h 11 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.9 -1.90 -1.94 -2.01 -1.97 -1.8 0.0 g 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.0 3.99 3.75 3.49 3.09 2.6 0.0 h 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -1.39 -1.86 -2.34 -2.51 -2.3 0.0 g 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 -2.15 -2.12 -2.09 -2.00 -2.0 0.0 g 12 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3 -0.29 -0.21 -0.16 -0.13 -0.1 0.0 h 12 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.55 -0.87 -1.08 -1.15 -1.2 0.0 g 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.21 0.30 0.46 0.43 0.4 0.0 h 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.23 0.27 0.37 0.52 0.6 0.0 g 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9 0.89 1.04 1.23 1.28 1.2 0.0 h 12 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.5 2.38 2.13 1.75 1.37 1.0 0.0 g 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2 -0.38 -0.63 -0.89 -1.14 -1.2 0.0 h 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.6 -2.63 -2.49 -2.19 -1.81 -1.5 0.0 g 12 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9 0.96 0.95 0.85 0.71 0.6 0.0 h 12 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0.61 0.49 0.27 0.08 0.0 0.0 g 12 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.30 -0.11 0.10 0.31 0.5 0.0 h 12 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.40 0.59 0.72 0.71 0.6 0.0 g 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.46 0.52 0.54 0.49 0.5 0.0 h 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0.01 0.00 -0.09 -0.15 -0.2 0.0 g 12 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.3 -0.35 -0.39 -0.37 -0.26 -0.1 0.0 h 12 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0.02 0.13 0.29 0.55 0.8 0.0 g 12 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.36 -0.37 -0.43 -0.47 -0.5 0.0 h 12 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.28 0.27 0.23 0.16 0.1 0.0 g 12 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1 0.08 0.21 0.22 0.09 -0.2 0.0 h 12 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -0.87 -0.86 -0.89 -0.93 -0.9 0.0 g 12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2 -0.49 -0.77 -0.94 -1.13 -1.2 0.0 h 12 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.34 -0.23 -0.16 -0.04 0.1 0.0 g 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.08 0.04 -0.03 -0.33 -0.7 0.0 h 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.8 0.88 0.87 0.72 0.52 0.2 0.0 g 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2 -0.16 -0.09 -0.02 0.08 0.2 0.0 g 13 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -0.88 -0.89 -0.92 -0.93 -0.9 0.0 h 13 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -0.76 -0.87 -0.88 -0.88 -0.9 0.0 g 13 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.30 0.31 0.42 0.53 0.6 0.0 h 13 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.33 0.30 0.49 0.64 0.7 0.0 g 13 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0.28 0.42 0.63 0.72 0.7 0.0 h 13 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.8 1.72 1.66 1.56 1.40 1.2 0.0 g 13 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.43 -0.45 -0.42 -0.30 -0.2 0.0 h 13 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.54 -0.59 -0.50 -0.38 -0.3 0.0 g 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.3 1.18 1.08 0.96 0.75 0.5 0.0 h 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.0 -1.07 -1.14 -1.24 -1.31 -1.3 0.0 g 13 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.37 -0.31 -0.19 -0.01 0.1 0.0 h 13 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1 -0.04 -0.07 -0.10 -0.09 -0.1 0.0 g 13 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0.75 0.78 0.81 0.76 0.7 0.0 h 13 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0.63 0.54 0.42 0.29 0.2 0.0 g 13 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.4 -0.26 -0.18 -0.13 -0.05 0.0 0.0 h 13 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.21 0.10 -0.04 -0.11 -0.2 0.0 g 13 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.35 0.38 0.38 0.37 0.3 0.0 h 13 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0.53 0.49 0.48 0.47 0.5 0.0 g 13 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1 -0.05 0.02 0.08 0.13 0.2 0.0 h 13 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.38 0.44 0.48 0.54 0.6 0.0 g 13 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0.41 0.42 0.46 0.45 0.4 0.0 h 13 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.2 -0.22 -0.25 -0.30 -0.41 -0.6 0.0 g 13 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 -0.10 -0.26 -0.35 -0.46 -0.5 0.0 h 13 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.57 -0.53 -0.43 -0.36 -0.3 0.0 g 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 -0.18 -0.26 -0.36 -0.40 -0.4 0.0 h 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.9 -0.82 -0.79 -0.71 -0.60 -0.5 0.0 survex-1.4.17/src/img.c0000664000175000017500000030644314765126030010350 /* img.c * Routines for reading and writing processed survey data files * * Copyright (C) 1993-2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include #include #include #include "img.h" #if defined HAVE_STDINT_H || \ (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ (defined __cplusplus && __cplusplus >= 201103L) // stdint.h was added in C99 and C++11. # include # define INT32_T int32_t # define UINT32_T uint32_t # define INT16_T int16_t # define UINT16_T uint16_t #else # include # if INT_MAX >= 2147483647 # define INT32_T int # define UINT32_T unsigned # else # define INT32_T long # define UINT32_T unsigned long # endif # define INT16_T short # define UINT16_T unsigned short #endif #if defined HAVE_SNPRINTF || \ (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ (defined __cplusplus && __cplusplus >= 201103L) /* snprintf() was standardised in C99 and C++11 (though widely supported as * an extension before that) so if the autoconf macros aren't defined we * conservatively assume availability based on the language standard version * the compiler claims to support. */ # define SNPRINTF snprintf #else # define SNPRINTF my_snprintf static int my_snprintf(char *s, size_t size, const char *format, ...) { int result; va_list ap; va_start(ap, format); (void)size; /* The buffer passed should always be large enough. */ result = vsprintf(s, format, ap); va_end(ap); return result; } #endif // strdup() is POSIX but not in any C/C++ standard (yet at least). #ifdef HAVE_STRDUP # define STRDUP(STR) strdup(STR) #else # define STRDUP(STR) my_strdup(STR) static char * my_strdup(const char *str) { char *p; size_t len = strlen(str) + 1; p = (char *)malloc(len); if (p) memcpy(p, str, len); return p; } #endif # ifndef FEOF # ifdef HAVE_FEOF_UNLOCKED # define FEOF(F) feof_unlocked(F) # else # define FEOF(F) feof(F) # endif #endif # ifndef FERROR # ifdef HAVE_FERROR_UNLOCKED # define FERROR(F) ferror_unlocked(F) # else # define FERROR(F) ferror(F) # endif #endif # ifndef FREAD # ifdef HAVE_FREAD_UNLOCKED # define FREAD(P, S, N, F) fread_unlocked(P, S, N, F) # else # define FREAD(P, S, N, F) fread(P, S, N, F) # endif #endif # ifndef FWRITE_ # ifdef HAVE_FWRITE_UNLOCKED # define FWRITE_(P, S, N, F) fwrite_unlocked(P, S, N, F) # else # define FWRITE_(P, S, N, F) fwrite(P, S, N, F) # endif # endif # ifndef GETC # ifdef HAVE_GETC_UNLOCKED # define GETC(F) getc_unlocked(F) # else # define GETC(F) getc(F) # endif # endif # ifndef PUTC # ifdef HAVE_PUTC_UNLOCKED # define PUTC(C, F) putc_unlocked(C, F) # else # define PUTC(C, F) putc(C, F) # endif # endif static INT32_T get32(FILE *fh) { UINT32_T w = GETC(fh); w |= (UINT32_T)GETC(fh) << 8l; w |= (UINT32_T)GETC(fh) << 16l; w |= (UINT32_T)GETC(fh) << 24l; return (INT32_T)w; } static void put32(UINT32_T w, FILE *fh) { PUTC((char)(w), fh); PUTC((char)(w >> 8l), fh); PUTC((char)(w >> 16l), fh); PUTC((char)(w >> 24l), fh); } static INT16_T get16(FILE *fh) { UINT16_T w = GETC(fh); w |= (UINT16_T)GETC(fh) << 8l; return (short)w; } static void put16(INT16_T w, FILE *fh) { PUTC((char)(w), fh); PUTC((char)(w >> 8l), fh); } #ifdef __cplusplus # include using std::max; using std::min; #else /* Return max/min of two numbers. */ /* May be defined already (e.g. by Borland C in stdlib.h) */ /* NB Bad news if X or Y has side-effects... */ # ifndef max # define max(X, Y) ((X) > (Y) ? (X) : (Y)) # endif # ifndef min # define min(X, Y) ((X) < (Y) ? (X) : (Y)) # endif #endif #define METRES_PER_FOOT 0.3048 /* exact value */ #define TIMENA "?" #ifndef SVX_ASSERT # define SVX_ASSERT(X) #endif #ifndef baseleaf_from_fnm static char * baseleaf_from_fnm(const char *fnm) { const char *p; const char *q; char * res; size_t len; p = fnm; q = strrchr(p, '/'); if (q) p = q + 1; q = strrchr(p, '\\'); if (q) p = q + 1; q = strrchr(p, '.'); if (q) len = (const char *)q - p; else len = strlen(p); res = (char *)malloc(len + 1); if (!res) return NULL; memcpy(res, p, len); res[len] = '\0'; return res; } #endif static time_t mktime_with_tz(struct tm * tm, const char * tz) { time_t r; char * old_tz = getenv("TZ"); #ifdef _MSC_VER if (old_tz) { old_tz = STRDUP(old_tz); if (!old_tz) return (time_t)-1; } if (_putenv_s("TZ", tz) != 0) { free(old_tz); return (time_t)-1; } #elif defined HAVE_SETENV if (old_tz) { old_tz = STRDUP(old_tz); if (!old_tz) return (time_t)-1; } if (setenv("TZ", tz, 1) < 0) { free(old_tz); return (time_t)-1; } #else char * p; if (old_tz) { size_t len = strlen(old_tz) + 1; p = (char *)malloc(len + 3); if (!p) return (time_t)-1; memcpy(p, "TZ=", 3); memcpy(p + 3, tz, len); old_tz = p; } p = (char *)malloc(strlen(tz) + 4); if (!p) { free(old_tz); return (time_t)-1; } memcpy(p, "TZ=", 3); strcpy(p + 3, tz); if (putenv(p) != 0) { free(p); free(old_tz); return (time_t)-1; } #define CLEANUP() free(p) #endif tzset(); r = mktime(tm); if (r == (time_t)-1 && tm->tm_year < 70 && (sizeof(time_t) > 4 || tm->tm_year >= 1)) { /* Microsoft's mktime() treats years before 1970 as an error, unlike * most other implementations. * * We workaround this to support older years by calling mktime() for a * date offset such that it's after 1970 (but before 3000 which is the * highest year Microsoft's mktime() handles, and also before 2038 for * 32-bit time_t), and such that the leap year pattern matches. For * 32-bit time_t we just need to add a multiple of 4, but for 64-bit * time_t we need to add a multiple of 400. * * We require the year to be >= 1901 for 32-bit time_t since the * oldest representable date in signed 32-bit time_t is in 1901 * so there's no point retrying anything older: * * Fri 13 Dec 1901 20:45:52 UTC * * For larger time_t we support any tm_year value which fits in an int. * This is somewhat dubious before the adoption of the Gregorian * calendar but it matches what most mktime() implementations seem to * do. */ int y = tm->tm_year; int y_offset = sizeof(time_t) > 4 ? ((-1 - y) / 400 + 1) * 400 : (76 - y) & ~3; tm->tm_year = y + y_offset; r = mktime(tm); tm->tm_year = y; if (r != (time_t)-1) { // The two magic numbers are the average number of seconds in a // year for a 400 year cycle and for a 4 year cycle (one which // includes a leap year). r -= y_offset * (time_t)(sizeof(time_t) > 4 ? 31556952 : 31557600); } } if (old_tz) { #ifdef _MSC_VER _putenv_s("TZ", old_tz); #elif !defined HAVE_SETENV putenv(old_tz); #else setenv("TZ", old_tz, 1); #endif free(old_tz); } else { #ifdef _MSC_VER _putenv_s("TZ", ""); #elif !defined HAVE_UNSETENV putenv((char*)"TZ"); #else unsetenv("TZ"); #endif } #ifdef CLEANUP CLEANUP(); #undef CLEANUP #endif return r; } static unsigned short getu16(FILE *fh) { return (unsigned short)get16(fh); } #include #if !defined HAVE_LROUND && !defined HAVE_DECL_LROUND /* The autoconf tests are not in use, but C99 and C++11 both added lround(), * so set HAVE_LROUND and HAVE_DECL_LROUND conservatively based on the language * standard version the compiler claims to support. */ # if (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ (defined __cplusplus && __cplusplus >= 201103L) # define HAVE_LROUND 1 # define HAVE_DECL_LROUND 1 # endif #endif #ifdef HAVE_LROUND # if defined HAVE_DECL_LROUND && !HAVE_DECL_LROUND /* On older systems, the prototype may be missing. */ extern long lround(double); # endif # define my_lround lround #else static long my_lround(double x) { return (x >= 0.0) ? (long)(x + 0.5) : -(long)(0.5 - x); } #endif unsigned int img_output_version = IMG_VERSION_MAX; static img_errcode img_errno = IMG_NONE; #define FILEID "Survex 3D Image File" /* Encode extension into integer for fast testing. */ #define EXT3(C1, C2, C3) (((C3) << 16) | ((C2) << 8) | (C1)) /* Attempt to string paste to ensure we are passed a literal string */ #define LITLEN(S) (sizeof(S"") - 1) /* Flags bitwise-or-ed into pending to track XSECTs. */ #define PENDING_XSECT_END 0x100 #define PENDING_HAD_XSECT 0x001 /* Only for IMG_VERSION_COMPASS_PLT */ #define PENDING_MOVE 0x002 /* Only for IMG_VERSION_COMPASS_PLT */ #define PENDING_LINE 0x004 /* Only for IMG_VERSION_COMPASS_PLT */ #define PENDING_XSECT 0x008 /* Only for IMG_VERSION_COMPASS_PLT */ #define PENDING_FLAGS_SHIFT 9 /* Only for IMG_VERSION_COMPASS_PLT */ /* Days from start of 1900 to start of 1970. */ #define DAYS_1900 25567 /* Start of 1900 in time_t with standard Unix epoch of start of 1970. */ #define TIME_T_1900 -2208988800L /* Seconds in a day. */ #define SECS_PER_DAY 86400L static unsigned hash_data(const char *s, unsigned len) { /* djb2 hash but with an initial value of zero. */ unsigned h = 0; while (len) { unsigned char c = (unsigned char)*s++; h = ((h << 5) + h) + c; --len; } return h; } struct compass_station { struct compass_station *next; unsigned char flags; unsigned char len; char name[1]; }; /* On the first pass, at the start of each survey we run through all the * hash table entries that exist and set this flag. * * If this flag is set when we add flags to an existing station we * know it appears in multiple surveys and can infer img_SFLAG_EXPORTED. */ #define COMPASS_SFLAG_DIFFERENT_SURVEY 0x80 #define COMPASS_SFLAG_MASK 0x7f /* How many hash buckets to use (must be a power of 2). * * Each bucket is a linked list so this doesn't limit how many entries we can * store, but should be sized based on a plausible estimate of how many * different stations we're likely to see in a single PLT file. */ #define HASH_BUCKETS 0x2000U static void* compass_plt_allocate_hash(void) { struct compass_station** htab = malloc(HASH_BUCKETS * sizeof(struct compass_station*)); if (htab) { unsigned i; for (i = 0; i < HASH_BUCKETS; ++i) htab[i] = NULL; } return htab; } static int compass_plt_update_station(img *pimg, const char *name, int name_len, unsigned flags) { struct compass_station *p; struct compass_station **htab = (struct compass_station**)pimg->data; htab += hash_data(name, name_len) & (HASH_BUCKETS - 1U); for (p = *htab; p; p = p->next) { if (p->len == name_len) { if (memcmp(name, p->name, name_len) == 0) { p->flags |= flags; if (p->flags & COMPASS_SFLAG_DIFFERENT_SURVEY) p->flags |= img_SFLAG_EXPORTED; return 1; } } } p = malloc(offsetof(struct compass_station, name) + name_len); if (!p) return -1; p->flags = flags; p->len = name_len; memcpy(p->name, name, name_len); p->next = *htab; *htab = p; return 0; } static void compass_plt_new_survey(img *pimg) { struct compass_station **htab = (struct compass_station**)pimg->data; int i = HASH_BUCKETS; while (--i) { struct compass_station *p; for (p = *htab; p; p = p->next) { p->flags |= COMPASS_SFLAG_DIFFERENT_SURVEY; } ++htab; } } static void compass_plt_free_data(img *pimg) { struct compass_station **htab = (struct compass_station**)pimg->data; int i = HASH_BUCKETS; while (--i) { struct compass_station *p = *htab; while (p) { struct compass_station *next = p->next; free(p); p = next; } ++htab; } free(pimg->data); pimg->data = NULL; } static int compass_plt_get_station_flags(img *pimg, const char *name, int name_len) { struct compass_station *p; struct compass_station **htab = (struct compass_station**)pimg->data; htab += hash_data(name, name_len) & (HASH_BUCKETS - 1U); for (p = *htab; p; p = p->next) { if (p->len == name_len) { if (memcmp(name, p->name, name_len) == 0) { if (p->flags & COMPASS_SFLAG_DIFFERENT_SURVEY) { p->flags &= ~COMPASS_SFLAG_DIFFERENT_SURVEY; return p->flags; } return p->flags | INT_MIN; } } } return -1; } #define getline_alloc(FH) getline_alloc_len(FH, NULL) static char * getline_alloc_len(FILE *fh, size_t * p_len) { int ch; size_t i = 0; size_t len = 16; char *buf = (char *)malloc(len); if (!buf) return NULL; ch = GETC(fh); while (ch != '\n' && ch != '\r' && ch != EOF) { buf[i++] = ch; if (i == len - 1) { char *p; len += len; p = (char *)realloc(buf, len); if (!p) { free(buf); return NULL; } buf = p; } ch = GETC(fh); } if (ch == '\n' || ch == '\r') { int otherone = ch ^ ('\n' ^ '\r'); ch = GETC(fh); /* if it's not the other eol character, put it back */ if (ch != otherone) ungetc(ch, fh); } buf[i] = '\0'; if (p_len) *p_len = i; return buf; } img_errcode img_error(void) { return img_errno; } static int check_label_space(img *pimg, size_t len) { if (len > pimg->buf_len) { size_t label_offset = pimg->label - pimg->label_buf; char *b = (char *)realloc(pimg->label_buf, len); if (!b) return 0; pimg->label_buf = b; pimg->label = b + label_offset; pimg->buf_len = len; } return 1; } /* Check if a station name should be included. */ static int stn_included(img *pimg) { if (!pimg->survey_len) return 1; size_t l = pimg->survey_len; const char *s = pimg->label_buf; if (strncmp(pimg->survey, s, l + 1) != 0) { return 0; } pimg->label += l + 1; return 1; } /* Check if a survey name should be included. */ static int survey_included(img *pimg) { if (!pimg->survey_len) return 1; size_t l = pimg->survey_len; const char *s = pimg->label_buf; if (strncmp(pimg->survey, s, l) != 0 || !(s[l] == pimg->separator || s[l] == '\0')) { return 0; } pimg->label += l; /* skip the dot if there */ if (*pimg->label) pimg->label++; return 1; } /* Check if a survey name in a buffer should be included. * * For "foreign" formats which just have one level of surveys. */ static int buf_included(img *pimg, const char *buf, size_t len) { return pimg->survey_len == len && memcmp(buf, pimg->survey, len) == 0; } img * img_open_survey(const char *fnm, const char *survey) { FILE *fh = fopen(fnm, "rb"); #ifdef ENOMEM if (!fh && errno == ENOMEM) { img_errno = IMG_OUTOFMEMORY; return NULL; } #endif return img_read_stream_survey(fh, fclose, fnm, survey); } static int initialise_survey_filter(img *pimg, const char* survey) { size_t len = strlen(survey); if (survey[len - 1] == pimg->separator) len--; if (len) { char *p; pimg->survey = (char *)malloc(len + 2); if (!pimg->survey) { return 0; } memcpy(pimg->survey, survey, len); /* Set title to leaf survey name. This overrides any title we've * got from the file already. */ pimg->survey[len] = '\0'; p = strrchr(pimg->survey, pimg->separator); if (p) p++; else p = pimg->survey; free(pimg->title); pimg->title = STRDUP(p); if (!pimg->title) { return 0; } pimg->survey[len] = pimg->separator; pimg->survey[len + 1] = '\0'; } pimg->survey_len = len; return 1; } static int compass_plt_open(img *pimg, const char *survey) { int utm_zone = 0; int datum = img_DATUM_UNKNOWN; long fpos; char *from = NULL; int from_len = 0; pimg->version = IMG_VERSION_COMPASS_PLT; /* Spaces aren't legal in Compass station names, but dots are, so * use space as the level separator */ pimg->separator = ' '; pimg->start = -1; pimg->datestamp = STRDUP(TIMENA); if (!pimg->datestamp) { return IMG_OUTOFMEMORY; } pimg->data = compass_plt_allocate_hash(); if (!pimg->data) { return IMG_OUTOFMEMORY; } if (survey) { if (!initialise_survey_filter(pimg, survey)) return IMG_OUTOFMEMORY; } /* Read through the whole file first, recording any station flags * (pimg->data), finding where to start reading data from (pimg->start), * and deciding what to report for "title". */ while (1) { int ch = GETC(pimg->fh); switch (ch) { case '\x1a': fseek(pimg->fh, -1, SEEK_CUR); /* FALL THRU */ case EOF: if (pimg->start < 0) { pimg->start = ftell(pimg->fh); } else { fseek(pimg->fh, pimg->start, SEEK_SET); } if (datum && utm_zone && abs(utm_zone) <= 60) { /* Map to an EPSG code where we can. */ const char* template = "EPSG:%d"; int value = 0; switch (datum) { case img_DATUM_NAD27: if (utm_zone < 0) { template = "+proj=utm +zone=%d +datum=NAD27 +south +units=m +no_defs +type=crs"; value = -utm_zone; } else if (utm_zone <= 23) { value = 26700 + utm_zone; } else if (utm_zone < 59) { template = "+proj=utm +zone=%d +datum=NAD27 +units=m +no_defs +type=crs"; value = utm_zone; } else { value = 3311 + utm_zone; } break; case img_DATUM_NAD83: if (utm_zone < 0) { template = "+proj=utm +zone=%d +datum=NAD83 +south +units=m +no_defs +type=crs"; value = -utm_zone; } else if (utm_zone <= 23) { value = 26900 + utm_zone; } else if (utm_zone == 24) { value = 9712; } else if (utm_zone < 59) { template = "+proj=utm +zone=%d +datum=NAD83 +units=m +no_defs +type=crs"; value = utm_zone; } else { value = 3313 + utm_zone; } break; case img_DATUM_WGS84: if (utm_zone > 0) { value = 32600 + utm_zone; } else { value = 32700 - utm_zone; } break; } if (value) { size_t len = strlen(template) + 4; pimg->cs = (char*)malloc(len); if (!pimg->cs) { goto out_of_memory_error; } SNPRINTF(pimg->cs, len, template, value); } } free(from); /* We set pimg->title to an empty string if we have multiple * different non-empty section names. Tidy that up before we * return. */ if (pimg->title && !pimg->title[0]) { free(pimg->title); pimg->title = NULL; } return 0; case 'S': /* "Section" - in the case where we aren't filtering by survey: * if there's only one non-empty section name specified, we use it * as the title. */ if (pimg->survey == NULL && (!pimg->title || pimg->title[0])) { char *line = getline_alloc(pimg->fh); if (!line) { goto out_of_memory_error; } if (line[0]) { if (pimg->title) { if (strcmp(pimg->title, line) != 0) { /* Two different non-empty section names found. */ pimg->title[0] = '\0'; } free(line); } else { pimg->title = line; } } else { free(line); } continue; } break; case 'N': { char *line, *q; size_t len; compass_plt_new_survey(pimg); if (pimg->start >= 0) break; fpos = ftell(pimg->fh) - 1; if (!pimg->survey) { /* We're not filtering by survey so just note down the file * offset for the first N command. */ pimg->start = fpos; break; } line = getline_alloc(pimg->fh); if (!line) { goto out_of_memory_error; } len = 0; while (line[len] > 32) ++len; if (!buf_included(pimg, line, len)) { /* Not the survey we are looking for. */ free(line); continue; } q = strchr(line + len, 'C'); if (q && q[1]) { free(pimg->title); pimg->title = STRDUP(q + 1); } else if (!pimg->title) { pimg->title = STRDUP(pimg->label); } free(line); if (!pimg->title) { goto out_of_memory_error; } pimg->start = fpos; continue; } case 'M': case 'D': case 'd': { /* Move or Draw */ int command = ch; char *q, *name; unsigned station_flags = 0; int name_len; int not_plotted = (command == 'd'); /* Find station name. */ do { ch = GETC(pimg->fh); } while (ch >= ' ' && ch != 'S'); if (ch != 'S') { /* Leave reporting error to second pass for consistency. */ break; } name = getline_alloc(pimg->fh); if (!name) { goto out_of_memory_error; } name_len = 0; while (name[name_len] > ' ') ++name_len; if (name_len > 255) { /* The spec says "up to 12 characters", we allow up to 255. */ free(name); free(from); return IMG_BADFORMAT; } /* Check for the "distance from entrance" field. */ q = strchr(name + name_len, 'I'); if (q) { double distance_from_entrance; int bytes_used = 0; ++q; if (sscanf(q, "%lf%n", &distance_from_entrance, &bytes_used) == 1 && distance_from_entrance == 0.0) { /* Infer an entrance. */ station_flags |= img_SFLAG_ENTRANCE; } q += bytes_used; while (*q && *q <= ' ') q++; } else { q = strchr(name + name_len, 'F'); } if (q && *q == 'F') { /* "Shot Flags". */ while (isalpha((unsigned char)*++q)) { switch (*q) { case 'S': /* The format specification says «The shot is a "splay" * shot, which is a shot from a station to the wall to * define the passage shape.» so we set the wall flag * for the to station. */ station_flags |= img_SFLAG_WALL; break; case 'P': not_plotted = 1; break; } } } /* Shot flag P (which is also implied by command d) is "Exclude * this shot from plotting", but the use suggested in the Compass * docs is for surface data, and they "[do] not support passage * modeling". * * Even if it's actually being used for a different purpose, * Survex programs don't show surface legs by default so the end * effect is at least to not plot as intended. */ if (command != 'M') { int surface_or_not = not_plotted ? img_SFLAG_SURFACE : img_SFLAG_UNDERGROUND; station_flags |= surface_or_not; if (compass_plt_update_station(pimg, from, from_len, surface_or_not) < 0) { goto out_of_memory_error; } } if (compass_plt_update_station(pimg, name, name_len, station_flags) < 0) { goto out_of_memory_error; } free(from); from = name; from_len = name_len; continue; } case 'P': { /* Fixed point. */ char *line, *q, *name; int name_len; line = getline_alloc(pimg->fh); if (!line) { goto out_of_memory_error; } q = line; while (*q && *q <= ' ') q++; name = q; name_len = 0; while (name[name_len] > ' ') ++name_len; if (name_len > 255) { /* The spec says "up to 12 characters", we allow up to 255. */ free(line); free(from); return IMG_BADFORMAT; } if (compass_plt_update_station(pimg, name, name_len, img_SFLAG_FIXED) < 0) { goto out_of_memory_error; } free(line); continue; } case 'G': { /* UTM Zone - 1 to 60 for North, -1 to -60 for South. */ char *line = getline_alloc(pimg->fh); char *p = line; long v = strtol(p, &p, 10); if (v < -60 || v > 60 || v == 0 || *p > ' ') { free(line); continue; } if (utm_zone && utm_zone != v) { /* More than one UTM zone specified. */ /* FIXME: We could handle this by reprojecting, but then we'd * need access to PROJ from img. */ utm_zone = 99; } else { utm_zone = v; } free(line); continue; } case 'O': { /* Datum. */ int new_datum; char *line = getline_alloc(pimg->fh); if (!line) { goto out_of_memory_error; } if (utm_zone == 99) { free(line); continue; } new_datum = img_parse_compass_datum_string(line, strlen(line)); if (new_datum == img_DATUM_UNKNOWN) { utm_zone = 99; } else if (datum == img_DATUM_UNKNOWN) { datum = new_datum; } else if (datum != new_datum) { utm_zone = 99; } free(line); continue; } } while (ch != '\n' && ch != '\r') { ch = GETC(pimg->fh); } } out_of_memory_error: free(from); return IMG_OUTOFMEMORY; } static int cmap_xyz_open(img *pimg, const char *survey) { size_t len; char *line = getline_alloc(pimg->fh); if (!line) { return IMG_OUTOFMEMORY; } pimg->data = compass_plt_allocate_hash(); if (!pimg->data) { return IMG_OUTOFMEMORY; } /* Spaces aren't legal in CMAP station names, but dots are, so * use space as the level separator. */ pimg->separator = ' '; if (survey) { if (!initialise_survey_filter(pimg, survey)) return IMG_OUTOFMEMORY; } /* There doesn't seem to be a spec for what happens after 1999 with cmap * files, so this code allows for: * * 21xx -> xx (up to 2150) * * 21xx -> 1xx (up to 2199) * * full year being specified instead of 2 digits */ len = strlen(line); if (len > 59) { /* Don't just truncate at column 59, allow for a > 2 digit year. */ char * p = strstr(line + len, "Page"); if (p) { while (p > line && p[-1] == ' ') --p; *p = '\0'; len = p - line; } else { line[59] = '\0'; } } if (len > 45) { /* YY/MM/DD HH:MM */ struct tm tm; unsigned long v; char * p; pimg->datestamp = STRDUP(line + 45); if (!pimg->datestamp) { free(line); return IMG_OUTOFMEMORY; } p = pimg->datestamp; v = strtoul(p, &p, 10); if (v <= 50) { /* In the absence of a spec for cmap files, assume <= 50 means 21st * century. */ v += 2000; } else if (v < 200) { /* Map 100-199 to 21st century. */ v += 1900; } if (v == ULONG_MAX || *p++ != '/') goto bad_cmap_date; tm.tm_year = v - 1900; v = strtoul(p, &p, 10); if (v < 1 || v > 12 || *p++ != '/') goto bad_cmap_date; tm.tm_mon = v - 1; v = strtoul(p, &p, 10); if (v < 1 || v > 31 || *p++ != ' ') goto bad_cmap_date; tm.tm_mday = v; v = strtoul(p, &p, 10); if (v >= 24 || *p++ != ':') goto bad_cmap_date; tm.tm_hour = v; v = strtoul(p, &p, 10); if (v >= 60) goto bad_cmap_date; tm.tm_min = v; if (*p == ':') { v = strtoul(p + 1, &p, 10); if (v > 60) goto bad_cmap_date; tm.tm_sec = v; } else { tm.tm_sec = 0; } tm.tm_isdst = 0; /* We have no indication of what timezone this timestamp is in. It's * probably local time for whoever processed the data, so just assume * UTC, which is at least fairly central in the possibilities. */ pimg->datestamp_numeric = mktime_with_tz(&tm, ""); } else { pimg->datestamp = STRDUP(TIMENA); if (!pimg->datestamp) { free(line); return IMG_OUTOFMEMORY; } } bad_cmap_date: // The first line either has a survey name or some stock text. if (strncmp(line, " Cave Survey Data Processed by CMAP ", LITLEN(" Cave Survey Data Processed by CMAP ")) != 0) { if (len > 45) { line[45] = '\0'; len = 45; } while (len > 2 && line[len - 1] == ' ') --len; if (len > 2) { line[len] = '\0'; pimg->title = STRDUP(line + 2); if (!pimg->title) { free(line); return IMG_OUTOFMEMORY; } } } free(line); line = getline_alloc(pimg->fh); if (!line) { return IMG_OUTOFMEMORY; } if (line[0] != ' ' || (line[1] != 'S' && line[1] != 'O')) { return IMG_BADFORMAT; } if (line[1] == 'S') { pimg->version = IMG_VERSION_CMAP_STATION; } else { pimg->version = IMG_VERSION_CMAP_SHOT; } free(line); line = getline_alloc(pimg->fh); if (!line) { return IMG_OUTOFMEMORY; } if (line[0] != ' ' || line[1] != '-') { return IMG_BADFORMAT; } free(line); pimg->start = ftell(pimg->fh); return 0; } img * img_read_stream_survey(FILE *stream, int (*close_func)(FILE*), const char *fnm, const char *survey) { img *pimg; char buf[LITLEN(FILEID) + 9]; int ch; UINT32_T ext; if (stream == NULL) { img_errno = IMG_FILENOTFOUND; return NULL; } pimg = malloc(sizeof(img)); if (pimg == NULL) { img_errno = IMG_OUTOFMEMORY; if (close_func) close_func(stream); return NULL; } if (survey != NULL && survey[0] == '\0') { survey = NULL; } pimg->fh = stream; pimg->close_func = close_func; pimg->buf_len = 257; pimg->label_buf = (char *)malloc(pimg->buf_len); if (!pimg->label_buf) { if (pimg->close_func) pimg->close_func(pimg->fh); free(pimg); img_errno = IMG_OUTOFMEMORY; return NULL; } pimg->fRead = 1; /* reading from this file */ img_errno = IMG_NONE; pimg->flags = 0; pimg->data = NULL; /* for version >= 3 we use label_buf to store the prefix for reuse */ /* for IMG_VERSION_COMPASS_PLT, 0 value indicates we haven't * entered a survey yet */ /* for IMG_VERSION_CMAP_SHOT, we store the last station here * to detect whether we MOVE or LINE */ pimg->label_len = 0; pimg->label_buf[0] = '\0'; pimg->survey = NULL; pimg->survey_len = 0; pimg->separator = '.'; #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = 0; #else /* IMG_API_VERSION == 1 */ pimg->days1 = pimg->days2 = -1; #endif pimg->is_extended_elevation = 0; pimg->style = pimg->oldstyle = img_STYLE_UNKNOWN; pimg->l = pimg->r = pimg->u = pimg->d = -1.0; pimg->title = pimg->datestamp = pimg->cs = NULL; pimg->datestamp_numeric = (time_t)-1; /* [IMG_VERSION_COMPASS_PLT] bitwise-or of PENDING_* values, or -1. * [IMG_VERSION_CMAP_STATION, IMG_VERSION_CMAP_SHOT] pending IMG_LINE or * IMG_MOVE - both have 4 added. * [IMG_VERSION_SURVEX_POS] already skipped heading line, or there wasn't * one. * [version 0] not in the middle of a 'LINE' command * [version >= 3] not in the middle of turning a LINE into a MOVE */ pimg->pending = 0; /* Currently only 3 character extensions are tested below. */ ext = 0; { size_t len = strlen(fnm); if (len > 4 && fnm[len - 4] == '.') { /* Read extension and pack into ext. */ int i; for (i = 1; i < 4; ++i) { unsigned char ext_ch = fnm[len - i]; ext = (ext << 8) | tolower(ext_ch); } } } switch (ext) { case EXT3('p', 'o', 's'): /* Survex .pos */ pos_file: pimg->version = IMG_VERSION_SURVEX_POS; pimg->datestamp = STRDUP(TIMENA); if (!pimg->datestamp) { goto out_of_memory_error; } pimg->start = 0; goto initialise_survey_filter_and_return; case EXT3('p', 'l', 't'): /* Compass .plt */ case EXT3('p', 'l', 'f'): /* Compass .plf */ { int result; plt_file: result = compass_plt_open(pimg, survey); if (result) { img_errno = result; goto error; } goto successful_return; } /* Although these are often referred to as "CMAP .XYZ files", it seems * that actually, the extension .XYZ isn't used, rather .SHT (shot * variant, produced by CMAP v16 and later), .UNA (unadjusted) and .ADJ * (adjusted) extensions are. Since img has long checked for .XYZ, we * continue to do so in case anyone is relying on it. */ case EXT3('s', 'h', 't'): /* CMAP .sht */ case EXT3('a', 'd', 'j'): /* CMAP .adj */ case EXT3('u', 'n', 'a'): /* CMAP .una */ case EXT3('x', 'y', 'z'): /* CMAP .xyz */ { int result; xyz_file: result = cmap_xyz_open(pimg, survey); if (result) { img_errno = result; goto error; } goto successful_return; } } if (FREAD(buf, LITLEN(FILEID) + 1, 1, pimg->fh) != 1 || memcmp(buf, FILEID"\n", LITLEN(FILEID) + 1) != 0) { if (FREAD(buf + LITLEN(FILEID) + 1, 8, 1, pimg->fh) == 1 && memcmp(buf, FILEID"\r\nv0.01\r\n", LITLEN(FILEID) + 9) == 0) { /* v0 3d file with DOS EOLs */ pimg->version = 0; goto v03d; } rewind(pimg->fh); if (buf[1] == ' ') { if (buf[0] == ' ') { /* Looks like a CMAP XYZ file. */ goto xyz_file; } else if (strchr("ZSNF", buf[0])) { /* Looks like a Compass .plt file (almost certainly it'll start * "Z " but the other letters are possible too). */ goto plt_file; } } if (buf[0] == '(') { /* Looks like a Survex .pos file. */ goto pos_file; } img_errno = IMG_BADFORMAT; goto error; } /* check file format version */ ch = GETC(pimg->fh); pimg->version = 0; if (tolower(ch) == 'b') { /* binary file iff B/b prefix */ pimg->version = 1; ch = GETC(pimg->fh); } if (ch != 'v') { img_errno = IMG_BADFORMAT; goto error; } ch = GETC(pimg->fh); if (ch == '0') { if (FREAD(buf, 4, 1, pimg->fh) != 1 || memcmp(buf, ".01\n", 4) != 0) { img_errno = IMG_BADFORMAT; goto error; } /* nothing special to do */ } else if (pimg->version == 0) { if (ch < '2' || ch > '0' + IMG_VERSION_MAX || GETC(pimg->fh) != '\n') { img_errno = IMG_TOONEW; goto error; } pimg->version = ch - '0'; } else { img_errno = IMG_BADFORMAT; goto error; } v03d: { size_t title_len; char * title = getline_alloc_len(pimg->fh, &title_len); if (!title) goto out_of_memory_error; if (pimg->version == 8) { /* We sneak in extra fields after a zero byte here, containing the * specified coordinate system (if any) and the level separator * character. Older readers will just not see these fields (which * is OK), and this trick avoids us having to bump the 3d format * version. */ size_t real_len = strlen(title); if (real_len != title_len) { char * cs = title + real_len + 1; real_len += strlen(cs) + 1; if (memcmp(cs, "+init=", 6) == 0) { /* PROJ 5 and later don't handle +init=esri: but * that's what cavern used to put in .3d files for * coordinate systems specified using ESRI codes. We parse * and convert the strings cavern used to generate and * convert to the form ESRI: which is still * understood. * * PROJ 6 and later don't recognise +init=epsg: * by default and don't apply datum shift terms in some * cases, so we also convert these to the form * EPSG:. */ char * p = cs + 6; if (p[4] == ':' && isdigit((unsigned char)p[5]) && ((memcmp(p, "epsg", 4) == 0 || memcmp(p, "esri", 4) == 0))) { p = p + 6; while (isdigit((unsigned char)*p)) { ++p; } /* Allow +no_defs to be omitted as it seems to not * actually do anything with recent PROJ - cavern always * included it, but other software generating 3d files * may not. */ if (*p == '\0' || strcmp(p, " +no_defs") == 0) { int i; cs = cs + 6; for (i = 0; i < 4; ++i) { cs[i] = toupper(cs[i]); } *p = '\0'; } } } else if (memcmp(cs, "+proj=", 6) == 0) { /* Convert S_MERC and UTM proj strings which cavern used * to generate to their corresponding EPSG: codes. */ char * p = cs + 6; if (memcmp(p, "utm +ellps=WGS84 +datum=WGS84 +units=m +zone=", 45) == 0) { int n = 0; p += 45; while (isdigit((unsigned char)*p)) { n = n * 10 + (*p - '0'); ++p; } if (memcmp(p, " +south", 7) == 0) { p += 7; n += 32700; } else { n += 32600; } /* Allow +no_defs to be omitted as it seems to not * actually do anything with recent PROJ - cavern always * included it, but other software generating 3d files * might not. */ if (*p == '\0' || strcmp(p, " +no_defs") == 0) { /* There are at least 45 bytes (see memcmp above) * which is ample for EPSG: plus an integer. */ SNPRINTF(cs, 45, "EPSG:%d", n); } } else if (memcmp(p, "merc +lat_ts=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +units=m +nadgrids=@null", 89) == 0) { p = p + 89; /* Allow +no_defs to be omitted as it seems to not * actually do anything with recent PROJ - cavern always * included it, but other software generating 3d files * might not. */ if (*p == '\0' || strcmp(p, " +no_defs") == 0) { strcpy(cs, "EPSG:3857"); } } } if (cs[0]) pimg->cs = STRDUP(cs); } if (real_len != title_len) { pimg->separator = title[real_len + 1]; } } if (!pimg->title) { pimg->title = title; } else { free(title); } } pimg->datestamp = getline_alloc(pimg->fh); if (!pimg->datestamp) { out_of_memory_error: img_errno = IMG_OUTOFMEMORY; error: free(pimg->title); free(pimg->cs); free(pimg->datestamp); if (pimg->close_func) pimg->close_func(pimg->fh); free(pimg); return NULL; } if (pimg->version >= 8) { int flags = GETC(pimg->fh); if (flags & img_FFLAG_EXTENDED) pimg->is_extended_elevation = 1; } else if (pimg->title) { size_t len = strlen(pimg->title); if (len > 11 && strcmp(pimg->title + len - 11, " (extended)") == 0) { pimg->title[len - 11] = '\0'; pimg->is_extended_elevation = 1; } } if (pimg->datestamp[0] == '@') { unsigned long v; char * p; errno = 0; v = strtoul(pimg->datestamp + 1, &p, 10); if (errno == 0 && *p == '\0') pimg->datestamp_numeric = v; /* FIXME: We're assuming here that the C time_t epoch is 1970, which is * true for Unix-like systems, macOS and Windows, but isn't guaranteed * by ISO C. */ } else { /* %a,%Y.%m.%d %H:%M:%S %Z */ struct tm tm; unsigned long v; char * p = pimg->datestamp; while (isalpha((unsigned char)*p)) ++p; if (*p == ',') ++p; while (isspace((unsigned char)*p)) ++p; v = strtoul(p, &p, 10); if (v == ULONG_MAX || *p++ != '.') goto bad_3d_date; tm.tm_year = v - 1900; v = strtoul(p, &p, 10); if (v < 1 || v > 12 || *p++ != '.') goto bad_3d_date; tm.tm_mon = v - 1; v = strtoul(p, &p, 10); if (v < 1 || v > 31 || *p++ != ' ') goto bad_3d_date; tm.tm_mday = v; v = strtoul(p, &p, 10); if (v >= 24 || *p++ != ':') goto bad_3d_date; tm.tm_hour = v; v = strtoul(p, &p, 10); if (v >= 60 || *p++ != ':') goto bad_3d_date; tm.tm_min = v; v = strtoul(p, &p, 10); if (v > 60) goto bad_3d_date; tm.tm_sec = v; tm.tm_isdst = 0; while (isspace((unsigned char)*p)) ++p; /* p now points to the timezone string. * * However, it's likely to be a string like "BST", and such strings can * be ambiguous (BST could be UTC+1 or UTC+6), so it is impossible to * reliably convert in all cases. Just pass what we have to tzset() - if * it doesn't handle it, UTC will be used. */ pimg->datestamp_numeric = mktime_with_tz(&tm, p); } bad_3d_date: pimg->start = ftell(pimg->fh); initialise_survey_filter_and_return: if (survey) { if (!initialise_survey_filter(pimg, survey)) goto out_of_memory_error; } successful_return: /* If no title from another source, default to the base leafname. */ if (!pimg->title || !pimg->title[0]) { free(pimg->title); pimg->title = baseleaf_from_fnm(fnm); } return pimg; } int img_rewind(img *pimg) { if (!pimg->fRead) { img_errno = IMG_WRITEERROR; return 0; } if (fseek(pimg->fh, pimg->start, SEEK_SET) != 0) { img_errno = IMG_READERROR; return 0; } clearerr(pimg->fh); /* [IMG_VERSION_SURVEX_POS] already skipped heading line, or there wasn't * one. * [version 0] not in the middle of a 'LINE' command * [version >= 3] not in the middle of turning a LINE into a MOVE */ pimg->pending = 0; img_errno = IMG_NONE; /* for version >= 3 we use label_buf to store the prefix for reuse */ /* for IMG_VERSION_COMPASS_PLT, 0 value indicates we haven't entered a * survey yet */ /* for IMG_VERSION_CMAP_SHOT, we store the last station here to detect * whether we MOVE or LINE */ pimg->label_len = 0; pimg->style = img_STYLE_UNKNOWN; return 1; } img * img_open_write_cs(const char *fnm, const char *title, const char *cs, int flags) { FILE *fh = fopen(fnm, "wb"); #ifdef EISDIR if (!fh && errno == EISDIR) { img_errno = IMG_DIRECTORY; return NULL; } #endif #ifdef ENOMEM if (!fh && errno == ENOMEM) { img_errno = IMG_OUTOFMEMORY; return NULL; } #endif return img_write_stream(fh, fclose, title, cs, flags); } img * img_write_stream(FILE *stream, int (*close_func)(FILE*), const char *title, const char *cs, int flags) { time_t tm; img *pimg; if (stream == NULL) { img_errno = IMG_FILENOTFOUND; return NULL; } pimg = malloc(sizeof(img)); if (pimg == NULL) { img_errno = IMG_OUTOFMEMORY; if (close_func) close_func(stream); return NULL; } pimg->fh = stream; pimg->close_func = close_func; pimg->buf_len = 257; pimg->label_buf = (char *)malloc(pimg->buf_len); if (!pimg->label_buf) { if (pimg->close_func) pimg->close_func(pimg->fh); free(pimg); img_errno = IMG_OUTOFMEMORY; return NULL; } pimg->data = NULL; pimg->separator = (flags & 0x100) ? (flags >> 9) : '.'; /* Output image file header */ fputs("Survex 3D Image File\n", pimg->fh); /* file identifier string */ if (img_output_version < 2) { pimg->version = 1; fputs("Bv0.01\n", pimg->fh); /* binary file format version number */ } else { pimg->version = (img_output_version > IMG_VERSION_MAX) ? IMG_VERSION_MAX : img_output_version; fprintf(pimg->fh, "v%d\n", pimg->version); /* file format version no. */ } fputs(title, pimg->fh); if (pimg->version < 8 && (flags & img_FFLAG_EXTENDED)) { /* Older format versions append " (extended)" to the title to mark * extended elevations. */ size_t len = strlen(title); if (len < 11 || strcmp(title + len - 11, " (extended)") != 0) fputs(" (extended)", pimg->fh); } if (pimg->version == 8 && ((cs && *cs) || pimg->separator != '.')) { /* We sneak in extra fields after a zero byte here, containing the * specified coordinate system (if any) and the separator character * if it isn't the default of '.'. Older readers will just not see * these (which is fine for the coordinate system, and not very * problematic for the separator), and this trick avoids us having to * bump the 3d format version. */ PUTC('\0', pimg->fh); if (cs && *cs) fputs(cs, pimg->fh); if (pimg->separator != '.') { PUTC('\0', pimg->fh); PUTC(pimg->separator, pimg->fh); } } PUTC('\n', pimg->fh); if (getenv("SOURCE_DATE_EPOCH")) { /* Support reproducible builds which create .3d files by not embedding a * timestamp if SOURCE_DATE_EPOCH is set. We don't bother trying to * parse the timestamp as it is simpler and seems cleaner to just not * embed a timestamp at all given the 3d file format already provides * a way not to. * * See https://reproducible-builds.org/docs/source-date-epoch/ */ tm = (time_t)-1; } else { tm = time(NULL); } if (tm == (time_t)-1) { fputs(TIMENA, pimg->fh); PUTC('\n', pimg->fh); } else if (pimg->version <= 7) { char date[256]; /* 3d formats <= 7 stored the time the file was generated in this * particular string format, which we then try to parse when * reading. */ strftime(date, 256, "%a,%Y.%m.%d %H:%M:%S %Z", localtime(&tm)); fputs(date, pimg->fh); PUTC('\n', pimg->fh); } else { fprintf(pimg->fh, "@%ld\n", (long)tm); } if (pimg->version >= 8) { /* Clear bit one in case anyone has been passing true for fBinary. */ flags &=~ 1; PUTC(flags, pimg->fh); } #if 0 if (img_output_version >= 5) { static const unsigned char codelengths[32] = { 4, 8, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; FWRITE_(codelengths, 32, 1, pimg->fh); } #endif pimg->fRead = 0; /* writing to this file */ img_errno = IMG_NONE; /* for version >= 3 we use label_buf to store the prefix for reuse */ pimg->label_buf[0] = '\0'; pimg->label_len = 0; #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = 0; pimg->olddate1 = pimg->olddate2 = 0; #else /* IMG_API_VERSION == 1 */ pimg->days1 = pimg->days2 = -1; pimg->olddays1 = pimg->olddays2 = -1; #endif pimg->style = pimg->oldstyle = img_STYLE_UNKNOWN; pimg->l = pimg->r = pimg->u = pimg->d = -1.0; pimg->n_legs = 0; pimg->length = 0.0; pimg->E = pimg->H = pimg->V = 0.0; /* Don't check for write errors now - let img_close() report them... */ return pimg; } static void read_xyz_station_coords(img_point *pt, const char *line) { char num[12]; memcpy(num, line + 6, 9); num[9] = '\0'; pt->x = atof(num) * METRES_PER_FOOT; memcpy(num, line + 15, 9); pt->y = atof(num) * METRES_PER_FOOT; memcpy(num, line + 24, 8); num[8] = '\0'; pt->z = atof(num) * METRES_PER_FOOT; } static void read_xyz_shot_coords(img_point *pt, const char *line) { char num[12]; memcpy(num, line + 40, 10); num[10] = '\0'; pt->x = atof(num) * METRES_PER_FOOT; memcpy(num, line + 50, 10); pt->y = atof(num) * METRES_PER_FOOT; memcpy(num, line + 60, 9); num[9] = '\0'; pt->z = atof(num) * METRES_PER_FOOT; } static void subtract_xyz_shot_deltas(img_point *pt, const char *line) { char num[12]; memcpy(num, line + 15, 9); num[9] = '\0'; pt->x -= atof(num) * METRES_PER_FOOT; memcpy(num, line + 24, 8); num[8] = '\0'; pt->y -= atof(num) * METRES_PER_FOOT; memcpy(num, line + 32, 8); pt->z -= atof(num) * METRES_PER_FOOT; } static int read_coord(FILE *fh, img_point *pt) { SVX_ASSERT(fh); SVX_ASSERT(pt); pt->x = get32(fh) / 100.0; pt->y = get32(fh) / 100.0; pt->z = get32(fh) / 100.0; if (FERROR(fh) || FEOF(fh)) { img_errno = FEOF(fh) ? IMG_BADFORMAT : IMG_READERROR; return 0; } return 1; } static int skip_coord(FILE *fh) { return (fseek(fh, 12, SEEK_CUR) == 0); } static int read_v3label(img *pimg) { char *q; long len = GETC(pimg->fh); if (len == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (len == 0xfe) { len += get16(pimg->fh); if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } } else if (len == 0xff) { len = get32(pimg->fh); if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } if (FEOF(pimg->fh) || len < 0xfe + 0xffff) { img_errno = IMG_BADFORMAT; return img_BAD; } } if (!check_label_space(pimg, pimg->label_len + len + 1)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } q = pimg->label_buf + pimg->label_len; pimg->label_len += len; if (len && FREAD(q, len, 1, pimg->fh) != 1) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } q[len] = '\0'; return 0; } static int read_v8label(img *pimg, int common_flag, size_t common_val) { char *q; size_t del, add; if (common_flag) { if (common_val == 0) return 0; add = del = common_val; } else { int ch = GETC(pimg->fh); if (ch == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (ch != 0x00) { del = ch >> 4; add = ch & 0x0f; } else { ch = GETC(pimg->fh); if (ch == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (ch != 0xff) { del = ch; } else { del = get32(pimg->fh); if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } } ch = GETC(pimg->fh); if (ch == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (ch != 0xff) { add = ch; } else { add = get32(pimg->fh); if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } } } if (add > del && !check_label_space(pimg, pimg->label_len + add - del + 1)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } } if (del > pimg->label_len) { img_errno = IMG_BADFORMAT; return img_BAD; } pimg->label_len -= del; q = pimg->label_buf + pimg->label_len; pimg->label_len += add; if (add && FREAD(q, add, 1, pimg->fh) != 1) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } q[add] = '\0'; return 0; } static int img_read_item_new(img *pimg, img_point *p); static int img_read_item_v3to7(img *pimg, img_point *p); static int img_read_item_ancient(img *pimg, img_point *p); static int img_read_item_ascii_wrapper(img *pimg, img_point *p); static int img_read_item_ascii(img *pimg, img_point *p); int img_read_item(img *pimg, img_point *p) { pimg->flags = 0; if (pimg->version >= 8) { return img_read_item_new(pimg, p); } else if (pimg->version >= 3) { return img_read_item_v3to7(pimg, p); } else if (pimg->version >= 1) { return img_read_item_ancient(pimg, p); } else { return img_read_item_ascii_wrapper(pimg, p); } } static int img_read_item_new(img *pimg, img_point *p) { int result; int opt; pimg->l = pimg->r = pimg->u = pimg->d = -1.0; if (pimg->pending >= 0x40) { if (pimg->pending == PENDING_XSECT_END) { pimg->pending = 0; return img_XSECT_END; } *p = pimg->mv; pimg->flags = (int)(pimg->pending) & 0x3f; pimg->pending = 0; return img_LINE; } again3: /* label to goto if we get a prefix, date, or lrud */ pimg->label = pimg->label_buf; opt = GETC(pimg->fh); if (opt == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (opt >> 6 == 0) { if (opt <= 4) { if (opt == 0 && pimg->style == 0) return img_STOP; /* end of data marker */ /* STYLE */ pimg->style = opt; goto again3; } if (opt >= 0x10) { switch (opt) { case 0x10: { /* No date info */ #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = 0; #else /* IMG_API_VERSION == 1 */ pimg->days1 = pimg->days2 = -1; #endif break; } case 0x11: { /* Single date */ int days1 = (int)getu16(pimg->fh); #if IMG_API_VERSION == 0 pimg->date2 = pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; #else /* IMG_API_VERSION == 1 */ pimg->days2 = pimg->days1 = days1; #endif break; } case 0x12: { /* Date range (short) */ int days1 = (int)getu16(pimg->fh); int days2 = days1 + GETC(pimg->fh) + 1; #if IMG_API_VERSION == 0 pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; pimg->date2 = (days2 - DAYS_1900) * SECS_PER_DAY; #else /* IMG_API_VERSION == 1 */ pimg->days1 = days1; pimg->days2 = days2; #endif break; } case 0x13: { /* Date range (long) */ int days1 = (int)getu16(pimg->fh); int days2 = (int)getu16(pimg->fh); #if IMG_API_VERSION == 0 pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; pimg->date2 = (days2 - DAYS_1900) * SECS_PER_DAY; #else /* IMG_API_VERSION == 1 */ pimg->days1 = days1; pimg->days2 = days2; #endif break; } case 0x1f: /* Error info */ pimg->n_legs = get32(pimg->fh); pimg->length = get32(pimg->fh) / 100.0; pimg->E = get32(pimg->fh) / 100.0; pimg->H = get32(pimg->fh) / 100.0; pimg->V = get32(pimg->fh) / 100.0; return img_ERROR_INFO; case 0x30: case 0x31: /* LRUD */ case 0x32: case 0x33: /* Big LRUD! */ if (read_v8label(pimg, 0, 0) == img_BAD) return img_BAD; pimg->flags = (int)opt & 0x01; if (opt < 0x32) { pimg->l = get16(pimg->fh) / 100.0; pimg->r = get16(pimg->fh) / 100.0; pimg->u = get16(pimg->fh) / 100.0; pimg->d = get16(pimg->fh) / 100.0; } else { pimg->l = get32(pimg->fh) / 100.0; pimg->r = get32(pimg->fh) / 100.0; pimg->u = get32(pimg->fh) / 100.0; pimg->d = get32(pimg->fh) / 100.0; } if (!stn_included(pimg)) { return img_XSECT_END; } /* If this is the last cross-section in this passage, set * pending so we return img_XSECT_END next time. */ if (pimg->flags & 0x01) { pimg->pending = PENDING_XSECT_END; pimg->flags &= ~0x01; } return img_XSECT; default: /* 0x25 - 0x2f and 0x34 - 0x3f are currently unallocated. */ img_errno = IMG_BADFORMAT; return img_BAD; } goto again3; } if (opt != 15) { /* 1-14 and 16-31 reserved */ img_errno = IMG_BADFORMAT; return img_BAD; } result = img_MOVE; } else if (opt >= 0x80) { if (read_v8label(pimg, 0, 0) == img_BAD) return img_BAD; result = img_LABEL; if (!stn_included(pimg)) { if (!skip_coord(pimg->fh)) return img_BAD; pimg->pending = 0; goto again3; } pimg->flags = (int)opt & 0x7f; } else if ((opt >> 6) == 1) { if (read_v8label(pimg, opt & 0x20, 0) == img_BAD) return img_BAD; result = img_LINE; if (!survey_included(pimg)) { if (!read_coord(pimg->fh, &(pimg->mv))) return img_BAD; pimg->pending = 15; goto again3; } if (pimg->pending) { *p = pimg->mv; if (!read_coord(pimg->fh, &(pimg->mv))) return img_BAD; pimg->pending = opt; return img_MOVE; } pimg->flags = (int)opt & 0x1f; } else { img_errno = IMG_BADFORMAT; return img_BAD; } if (!read_coord(pimg->fh, p)) return img_BAD; pimg->pending = 0; return result; } static int img_read_item_v3to7(img *pimg, img_point *p) { int result; int opt; pimg->l = pimg->r = pimg->u = pimg->d = -1.0; if (pimg->pending == PENDING_XSECT_END) { pimg->pending = 0; return img_XSECT_END; } if (pimg->pending >= 0x80) { *p = pimg->mv; pimg->flags = (int)(pimg->pending) & 0x3f; pimg->pending = 0; return img_LINE; } again3: /* label to goto if we get a prefix, date, or lrud */ pimg->label = pimg->label_buf; opt = GETC(pimg->fh); if (opt == EOF) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } switch (opt >> 6) { case 0: if (opt == 0) { if (!pimg->label_len) return img_STOP; /* end of data marker */ pimg->label_len = 0; goto again3; } if (opt < 15) { /* 1-14 mean trim that many levels from current prefix */ int c; if (pimg->label_len <= 17) { /* zero prefix using "0" */ img_errno = IMG_BADFORMAT; return img_BAD; } /* extra - 1 because label_len points to one past the end */ c = pimg->label_len - 17 - 1; while (pimg->label_buf[c] != '.' || --opt > 0) { if (--c < 0) { /* zero prefix using "0" */ img_errno = IMG_BADFORMAT; return img_BAD; } } c++; pimg->label_len = c; goto again3; } if (opt == 15) { result = img_MOVE; break; } if (opt >= 0x20) { switch (opt) { case 0x20: /* Single date */ if (pimg->version < 7) { int date1 = get32(pimg->fh); #if IMG_API_VERSION == 0 pimg->date2 = pimg->date1 = date1; #else /* IMG_API_VERSION == 1 */ if (date1 != 0) { pimg->days1 = (date1 - TIME_T_1900) / SECS_PER_DAY; pimg->days2 = pimg->days1; } else { pimg->days2 = pimg->days1 = -1; } #endif } else { int days1 = (int)getu16(pimg->fh); #if IMG_API_VERSION == 0 pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; pimg->date2 = pimg->date1; #else /* IMG_API_VERSION == 1 */ pimg->days2 = pimg->days1 = days1; #endif } break; case 0x21: /* Date range (short for v7+) */ if (pimg->version < 7) { INT32_T date1 = get32(pimg->fh); INT32_T date2 = get32(pimg->fh); #if IMG_API_VERSION == 0 pimg->date1 = date1; pimg->date2 = date2; #else /* IMG_API_VERSION == 1 */ pimg->days1 = (date1 - TIME_T_1900) / SECS_PER_DAY; pimg->days2 = (date2 - TIME_T_1900) / SECS_PER_DAY; #endif } else { int days1 = (int)getu16(pimg->fh); int days2 = days1 + GETC(pimg->fh) + 1; #if IMG_API_VERSION == 0 pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; pimg->date2 = (days2 - DAYS_1900) * SECS_PER_DAY; #else /* IMG_API_VERSION == 1 */ pimg->days1 = days1; pimg->days2 = days2; #endif } break; case 0x22: /* Error info */ pimg->n_legs = get32(pimg->fh); pimg->length = get32(pimg->fh) / 100.0; pimg->E = get32(pimg->fh) / 100.0; pimg->H = get32(pimg->fh) / 100.0; pimg->V = get32(pimg->fh) / 100.0; if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } return img_ERROR_INFO; case 0x23: { /* v7+: Date range (long) */ if (pimg->version < 7) { img_errno = IMG_BADFORMAT; return img_BAD; } int days1 = (int)getu16(pimg->fh); int days2 = (int)getu16(pimg->fh); if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } #if IMG_API_VERSION == 0 pimg->date1 = (days1 - DAYS_1900) * SECS_PER_DAY; pimg->date2 = (days2 - DAYS_1900) * SECS_PER_DAY; #else /* IMG_API_VERSION == 1 */ pimg->days1 = days1; pimg->days2 = days2; #endif break; } case 0x24: { /* v7+: No date info */ #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = 0; #else /* IMG_API_VERSION == 1 */ pimg->days1 = pimg->days2 = -1; #endif break; } case 0x30: case 0x31: /* LRUD */ case 0x32: case 0x33: /* Big LRUD! */ if (read_v3label(pimg) == img_BAD) return img_BAD; pimg->flags = (int)opt & 0x01; if (opt < 0x32) { pimg->l = get16(pimg->fh) / 100.0; pimg->r = get16(pimg->fh) / 100.0; pimg->u = get16(pimg->fh) / 100.0; pimg->d = get16(pimg->fh) / 100.0; } else { pimg->l = get32(pimg->fh) / 100.0; pimg->r = get32(pimg->fh) / 100.0; pimg->u = get32(pimg->fh) / 100.0; pimg->d = get32(pimg->fh) / 100.0; } if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } if (!stn_included(pimg)) { return img_XSECT_END; } /* If this is the last cross-section in this passage, set * pending so we return img_XSECT_END next time. */ if (pimg->flags & 0x01) { pimg->pending = PENDING_XSECT_END; pimg->flags &= ~0x01; } return img_XSECT; default: /* 0x25 - 0x2f and 0x34 - 0x3f are currently unallocated. */ img_errno = IMG_BADFORMAT; return img_BAD; } if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } goto again3; } /* 16-31 mean remove (n - 15) characters from the prefix */ /* zero prefix using 0 */ if (pimg->label_len <= (size_t)(opt - 15)) { img_errno = IMG_BADFORMAT; return img_BAD; } pimg->label_len -= (opt - 15); goto again3; case 1: if (read_v3label(pimg) == img_BAD) return img_BAD; result = img_LABEL; if (!stn_included(pimg)) { if (!skip_coord(pimg->fh)) return img_BAD; pimg->pending = 0; goto again3; } pimg->flags = (int)opt & 0x3f; break; case 2: if (read_v3label(pimg) == img_BAD) return img_BAD; result = img_LINE; if (!survey_included(pimg)) { if (!read_coord(pimg->fh, &(pimg->mv))) return img_BAD; pimg->pending = 15; goto again3; } if (pimg->pending) { *p = pimg->mv; if (!read_coord(pimg->fh, &(pimg->mv))) return img_BAD; pimg->pending = opt; return img_MOVE; } pimg->flags = (int)opt & 0x3f; break; default: img_errno = IMG_BADFORMAT; return img_BAD; } if (!read_coord(pimg->fh, p)) return img_BAD; pimg->pending = 0; return result; } static int img_read_item_ancient(img *pimg, img_point *p) { int result; static long opt_lookahead = 0; static img_point pt = { 0.0, 0.0, 0.0 }; long opt; again: /* label to goto if we get a cross */ pimg->label = pimg->label_buf; pimg->label[0] = '\0'; if (pimg->version == 1) { if (opt_lookahead) { opt = opt_lookahead; opt_lookahead = 0; } else { opt = get32(pimg->fh); } } else { opt = GETC(pimg->fh); } if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } switch (opt) { case -1: case 0: return img_STOP; /* end of data marker */ case 1: /* skip coordinates */ if (!skip_coord(pimg->fh)) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } goto again; case 2: case 3: { size_t len; result = img_LABEL; if (!fgets(pimg->label_buf, pimg->buf_len, pimg->fh)) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } if (pimg->label[0] == '\\') pimg->label++; len = strlen(pimg->label); if (len == 0 || pimg->label[len - 1] != '\n') { img_errno = IMG_BADFORMAT; return img_BAD; } /* Ignore empty labels in some .3d files (caused by a bug) */ if (len == 1) goto again; pimg->label[len - 1] = '\0'; pimg->flags = img_SFLAG_UNDERGROUND; /* no flags given... */ if (opt == 2) goto done; break; } case 6: case 7: { long len; result = img_LABEL; if (opt == 7) pimg->flags = GETC(pimg->fh); else pimg->flags = img_SFLAG_UNDERGROUND; /* no flags given... */ len = get32(pimg->fh); if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } /* Ignore empty labels in some .3d files (caused by a bug) */ if (len == 0) goto again; if (!check_label_space(pimg, len + 1)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } if (FREAD(pimg->label_buf, len, 1, pimg->fh) != 1) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } pimg->label_buf[len] = '\0'; break; } case 4: result = img_MOVE; break; case 5: result = img_LINE; break; default: switch ((int)opt & 0xc0) { case 0x80: pimg->flags = (int)opt & 0x3f; result = img_LINE; break; case 0x40: { char *q; pimg->flags = (int)opt & 0x3f; result = img_LABEL; if (!fgets(pimg->label_buf, pimg->buf_len, pimg->fh)) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } q = pimg->label_buf + strlen(pimg->label_buf) - 1; /* Ignore empty-labels in some .3d files (caused by a bug) */ if (q == pimg->label_buf) goto again; if (*q != '\n') { img_errno = IMG_BADFORMAT; return img_BAD; } *q = '\0'; break; } default: img_errno = IMG_BADFORMAT; return img_BAD; } break; } if (!read_coord(pimg->fh, &pt)) return img_BAD; if (result == img_LABEL && !stn_included(pimg)) { goto again; } done: *p = pt; if (result == img_MOVE && pimg->version == 1) { /* peek at next code and see if it's an old-style label */ opt_lookahead = get32(pimg->fh); if (FEOF(pimg->fh)) { img_errno = IMG_BADFORMAT; return img_BAD; } if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } if (opt_lookahead == 2) return img_read_item_ancient(pimg, p); } return result; } static int img_read_item_ascii_wrapper(img *pimg, img_point *p) { /* We need to set the default locale for fscanf() to work on * numbers with "." as decimal point. */ int result; char * current_locale = STRDUP(setlocale(LC_NUMERIC, NULL)); setlocale(LC_NUMERIC, "C"); result = img_read_item_ascii(pimg, p); setlocale(LC_NUMERIC, current_locale); free(current_locale); return result; } /* Handle all ASCII formats. */ static int img_read_item_ascii(img *pimg, img_point *p) { int result; pimg->label = pimg->label_buf; if (pimg->version == 0) { ascii_again: pimg->label[0] = '\0'; if (FEOF(pimg->fh)) return img_STOP; if (pimg->pending) { pimg->pending = 0; result = img_LINE; } else { char cmd[7]; /* Stop if nothing found */ if (fscanf(pimg->fh, "%6s", cmd) < 1) return img_STOP; if (strcmp(cmd, "move") == 0) result = img_MOVE; else if (strcmp(cmd, "draw") == 0) result = img_LINE; else if (strcmp(cmd, "line") == 0) { /* set flag to indicate to process second triplet as LINE */ pimg->pending = 1; result = img_MOVE; } else if (strcmp(cmd, "cross") == 0) { if (fscanf(pimg->fh, "%lf%lf%lf", &p->x, &p->y, &p->z) < 3) { img_errno = FEOF(pimg->fh) ? IMG_BADFORMAT : IMG_READERROR; return img_BAD; } goto ascii_again; } else if (strcmp(cmd, "name") == 0) { size_t off = 0; int ch = GETC(pimg->fh); if (ch == ' ') ch = GETC(pimg->fh); while (ch != ' ') { if (ch == '\n' || ch == EOF) { img_errno = FERROR(pimg->fh) ? IMG_READERROR : IMG_BADFORMAT; return img_BAD; } if (off == pimg->buf_len) { if (!check_label_space(pimg, pimg->buf_len * 2)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } } pimg->label_buf[off++] = ch; ch = GETC(pimg->fh); } pimg->label_buf[off] = '\0'; pimg->label = pimg->label_buf; if (pimg->label[0] == '\\') pimg->label++; pimg->flags = img_SFLAG_UNDERGROUND; /* default flags */ result = img_LABEL; } else { img_errno = IMG_BADFORMAT; return img_BAD; /* unknown keyword */ } } if (fscanf(pimg->fh, "%lf%lf%lf", &p->x, &p->y, &p->z) < 3) { img_errno = FERROR(pimg->fh) ? IMG_READERROR : IMG_BADFORMAT; return img_BAD; } if (result == img_LABEL && !stn_included(pimg)) { goto ascii_again; } return result; } else if (pimg->version == IMG_VERSION_SURVEX_POS) { /* Survex .pos file */ int ch; size_t off; pimg->flags = img_SFLAG_UNDERGROUND; /* default flags */ againpos: while (fscanf(pimg->fh, "(%lf,%lf,%lf )", &p->x, &p->y, &p->z) != 3) { if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } if (FEOF(pimg->fh)) return img_STOP; if (pimg->pending) { img_errno = IMG_BADFORMAT; return img_BAD; } pimg->pending = 1; /* ignore rest of line */ do { ch = GETC(pimg->fh); } while (ch != '\n' && ch != '\r' && ch != EOF); } pimg->label_buf[0] = '\0'; do { ch = GETC(pimg->fh); } while (ch == ' ' || ch == '\t'); if (ch == '\n' || ch == EOF) { /* If there's no label, set img_SFLAG_ANON. */ pimg->flags |= img_SFLAG_ANON; return img_LABEL; } pimg->label_buf[0] = ch; off = 1; while (!FEOF(pimg->fh)) { if (!fgets(pimg->label_buf + off, pimg->buf_len - off, pimg->fh)) { img_errno = IMG_READERROR; return img_BAD; } off += strlen(pimg->label_buf + off); if (off && pimg->label_buf[off - 1] == '\n') { pimg->label_buf[off - 1] = '\0'; break; } if (!check_label_space(pimg, pimg->buf_len * 2)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } } pimg->label = pimg->label_buf; if (pimg->label[0] == '\\') pimg->label++; if (!stn_included(pimg)) goto againpos; return img_LABEL; } else if (pimg->version == IMG_VERSION_COMPASS_PLT) { /* Compass .plt file */ if ((pimg->pending & ~PENDING_HAD_XSECT) > 0) { /* -1 signals we've entered the first survey we want to read, and * need to fudge lots if the first action is 'D' or 'd'... */ pimg->flags = 0; if (pimg->pending & PENDING_XSECT_END) { /* pending XSECT_END */ pimg->pending &= ~PENDING_XSECT_END; return img_XSECT_END; } if (pimg->pending & PENDING_XSECT) { /* pending XSECT */ pimg->pending &= ~PENDING_XSECT; return img_XSECT; } pimg->label[pimg->label_len] = '\0'; if (pimg->pending & PENDING_LINE) { pimg->flags = (pimg->pending >> PENDING_FLAGS_SHIFT); pimg->pending &= ((1 << PENDING_FLAGS_SHIFT) - 1) & ~PENDING_LINE; return img_LINE; } pimg->pending &= ~PENDING_MOVE; return img_MOVE; } while (1) { char *line; char *q; size_t len = 0; int ch = GETC(pimg->fh); switch (ch) { case '\x1a': case EOF: /* Don't insist on ^Z at end of file */ if (pimg->pending == PENDING_HAD_XSECT) { ungetc('\x1a', pimg->fh); pimg->pending = 0; return img_XSECT_END; } return img_STOP; case 'X': case 'F': case 'S': /* bounding boX (marks end of survey), Feature survey, or * new Section - skip to next survey */ if (pimg->pending == PENDING_HAD_XSECT) { ungetc(ch, pimg->fh); pimg->pending = 0; return img_XSECT_END; } if (pimg->survey) return img_STOP; skip_to_N: while (1) { do { ch = GETC(pimg->fh); } while (ch != '\n' && ch != '\r' && ch != EOF); while (ch == '\n' || ch == '\r') ch = GETC(pimg->fh); if (ch == 'N') break; if (ch == '\x1a' || ch == EOF) return img_STOP; } /* FALLTHRU */ case 'N': compass_plt_new_survey(pimg); line = getline_alloc(pimg->fh); if (!line) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } while (line[len] > 32) ++len; if (pimg->label_len == 0) pimg->pending = -1; if (!check_label_space(pimg, len + 1)) { free(line); img_errno = IMG_OUTOFMEMORY; return img_BAD; } pimg->label_len = len; pimg->label = pimg->label_buf; memcpy(pimg->label, line, len); pimg->label[len] = '\0'; /* Handle the survey date. */ while (line[len] && line[len] <= 32) ++len; if (line[len] == 'D') { struct tm tm; memset(&tm, 0, sizeof(tm)); unsigned long v; q = line + len + 1; /* NB Order is Month Day Year order. */ v = strtoul(q, &q, 10); if (v < 1 || v > 12) goto bad_plt_date; tm.tm_mon = v - 1; v = strtoul(q, &q, 10); if (v < 1 || v > 31) goto bad_plt_date; tm.tm_mday = v; v = strtoul(q, &q, 10); if (v == ULONG_MAX) goto bad_plt_date; if (v < 1900) { /* "The Year is expected to be the full year like 1994 not * 94", but "expected to" != "must" so treat a two digit * year as 19xx. */ v += 1900; } if (v == 1901 && tm.tm_mday == 1 && tm.tm_mon == 0) { /* Compass uses 1/1/1 or 1/1/1901 for "date unknown". */ goto bad_plt_date; } tm.tm_year = v - 1900; /* We have no indication of what timezone this date is * in. It's probably local time for whoever processed the * data, so just assume noon in UTC, which is at least fairly * central in the possibilities. */ tm.tm_hour = 12; { time_t datestamp = mktime_with_tz(&tm, ""); #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = datestamp; #else /* IMG_API_VERSION == 1 */ pimg->days1 = (datestamp - TIME_T_1900) / SECS_PER_DAY; pimg->days2 = pimg->days1; #endif } } else { bad_plt_date: #if IMG_API_VERSION == 0 pimg->date1 = pimg->date2 = 0; #else /* IMG_API_VERSION == 1 */ pimg->days1 = pimg->days2 = -1; #endif } free(line); break; case 'M': if (pimg->pending == PENDING_HAD_XSECT) { pimg->pending = PENDING_XSECT_END; } /* FALLTHRU */ case 'D': case 'd': { /* Move or Draw */ unsigned shot_flags = (ch == 'd' ? img_FLAG_SURFACE : 0); long fpos = -1; if (pimg->survey && pimg->label_len == 0) { /* We're only holding onto this line in case the first line * of the 'N' is a 'D', so skip it for now... */ goto skip_to_N; } if (pimg->pending == -1) { pimg->pending = 0; if (ch != 'M') { if (pimg->survey) { fpos = ftell(pimg->fh) - 1; fseek(pimg->fh, pimg->start, SEEK_SET); ch = GETC(pimg->fh); } else { /* If a file actually has a 'D' or 'd' before any * 'M', then pretend the action is 'M' - one of the * examples in the docs was like this! */ ch = 'M'; } } } line = getline_alloc(pimg->fh); if (!line) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } /* Compass stores coordinates as North, East, Up = (y,x,z)! */ if (sscanf(line, "%lf%lf%lf", &p->y, &p->x, &p->z) != 3) { free(line); if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; } else { img_errno = IMG_BADFORMAT; } return img_BAD; } p->x *= METRES_PER_FOOT; p->y *= METRES_PER_FOOT; p->z *= METRES_PER_FOOT; q = strchr(line, 'S'); if (!q) { free(line); img_errno = IMG_BADFORMAT; return img_BAD; } ++q; len = 0; while (q[len] > ' ') ++len; /* Add 2 for ' ' before and terminating '\0'. */ if (!check_label_space(pimg, pimg->label_len + len + 2)) { img_errno = IMG_OUTOFMEMORY; return img_BAD; } pimg->flags = compass_plt_get_station_flags(pimg, q, len); pimg->label = pimg->label_buf; if (pimg->label_len) { pimg->label[pimg->label_len] = ' '; memcpy(pimg->label + pimg->label_len + 1, q, len); pimg->label[pimg->label_len + 1 + len] = '\0'; } else { memcpy(pimg->label, q, len); pimg->label[len] = '\0'; } q += len; /* Now read LRUD. Technically, this is optional but virtually * all PLT files have it (with dummy negative values if no LRUD * was recorded) and some versions of Compass can't read PLT * files without it! */ while (*q && *q <= ' ') q++; if (*q == 'P') { double dim[4]; int bytes_used; ++q; if (sscanf(q, "%lf%lf%lf%lf%n", &dim[0], &dim[1], &dim[2], &dim[3], &bytes_used) != 4) { free(line); if (FERROR(pimg->fh)) { img_errno = IMG_READERROR; } else { img_errno = IMG_BADFORMAT; } return img_BAD; } q += bytes_used; // No cross-sections for surface data. if ((pimg->flags & img_SFLAG_UNDERGROUND)) { int have_xsect = 0; int i; for (i = 0; i < 4; ++i) { // The PLT format specification says 'Values less // than zero are considered to be missing or // “Passage.”' but Compass has an (apparently // undocumented) extra check here for compatibility // with data that was originally entered in Karst // which uses 999 instead. // // Larry Fish says the check Compass actually uses // when processing PLT files is: // // if (Left<0) or (Left>900) if (dim[i] < 0.0 || dim[i] > 900.0) { dim[i] = -1.0; } else { dim[i] *= METRES_PER_FOOT; have_xsect = 1; } } if (!have_xsect) goto no_xsect; pimg->l = dim[0]; pimg->r = dim[1]; pimg->u = dim[2]; pimg->d = dim[3]; pimg->pending |= PENDING_XSECT | PENDING_HAD_XSECT; } else { goto no_xsect; } } else { no_xsect: pimg->l = pimg->r = pimg->u = pimg->d = -1.0; if (pimg->pending == PENDING_HAD_XSECT) { pimg->pending = PENDING_XSECT_END; } } while (*q && *q <= ' ') q++; if (*q == 'I') { /* Skip distance from entrance. */ do ++q; while (*q && *q <= ' '); while (*q > ' ') q++; while (*q && *q <= ' ') q++; } if (*q == 'F') { /* "Shot Flags". Defined flags we currently ignore here: * C: "Do not adjust this shot when closing loops." * X: "you will never see this flag in a plot file." */ while (isalpha((unsigned char)*++q)) { switch (*q) { case 'L': shot_flags |= img_FLAG_DUPLICATE; break; case 'S': shot_flags |= img_FLAG_SPLAY; break; case 'P': /* P is "Exclude this shot from plotting", but the * use suggested in the Compass docs is for surface * data, and they "[do] not support passage * modeling". * * Even if it's actually being used for a different * purpose, Survex programs don't show surface legs * by default so img_FLAG_SURFACE matches fairly * well. */ shot_flags |= img_FLAG_SURFACE; break; } } } if (shot_flags & img_FLAG_SURFACE) { /* Suppress passage? */ } free(line); if (fpos != -1) { fseek(pimg->fh, fpos, SEEK_SET); } if (pimg->flags < 0) { pimg->flags = shot_flags; /* We've already emitted img_LABEL for this station. */ if (ch == 'M') { return img_MOVE; } return img_LINE; } if (fpos == -1) { if (ch == 'M') { pimg->pending |= PENDING_MOVE; } else { pimg->pending |= PENDING_LINE | (shot_flags << PENDING_FLAGS_SHIFT); } } return img_LABEL; } default: img_errno = IMG_BADFORMAT; return img_BAD; } } } else { /* CMAP XYZ file */ char *line = NULL; char *q; size_t len; if (pimg->pending) { /* pending MOVE or LINE or LABEL or STOP */ int r = pimg->pending - 4; /* Set label to empty - don't use "" as we adjust label relative * to label_buf when label_buf is reallocated. */ pimg->label = pimg->label_buf + strlen(pimg->label_buf); pimg->flags = 0; if (r == img_LABEL) { /* nasty magic */ read_xyz_shot_coords(p, pimg->label_buf + 16); subtract_xyz_shot_deltas(p, pimg->label_buf + 16); pimg->pending = img_STOP + 4; return img_MOVE; } pimg->pending = 0; if (r == img_STOP) { /* nasty magic */ read_xyz_shot_coords(p, pimg->label_buf + 16); return img_LINE; } return r; } cmap_xyz_next_line: pimg->label = pimg->label_buf; do { free(line); if (FEOF(pimg->fh)) return img_STOP; line = getline_alloc(pimg->fh); if (!line) { out_of_memory_error: img_errno = IMG_OUTOFMEMORY; return img_BAD; } } while (line[0] == ' ' || line[0] == '\0'); if (line[0] == '\x1a') return img_STOP; len = strlen(line); if (pimg->version == IMG_VERSION_CMAP_STATION) { /* station variant */ if (len < 37) { free(line); img_errno = IMG_BADFORMAT; return img_BAD; } memcpy(pimg->label, line, 6); q = (char *)memchr(pimg->label, ' ', 6); if (!q) q = pimg->label + 6; *q = '\0'; int label_len = q - pimg->label; int r = compass_plt_update_station(pimg, pimg->label, label_len, 0); if (r < 0) goto out_of_memory_error; if (r > 0) { // We've already emitted img_LABEL for this station. goto cmap_xyz_next_line; } read_xyz_station_coords(p, line); pimg->flags = img_SFLAG_UNDERGROUND; /* FIXME: look at prev for lines (line + 32, 5) */ return img_LABEL; } else { /* Shot variant (IMG_VERSION_CMAP_SHOT) */ char old[8], new_[8]; if (len < 61) { free(line); img_errno = IMG_BADFORMAT; return img_BAD; } memcpy(old, line, 7); q = (char *)memchr(old, ' ', 7); if (!q) q = old + 7; *q = '\0'; size_t old_len = q - old; memcpy(new_, line + 7, 7); q = (char *)memchr(new_, ' ', 7); if (!q) q = new_ + 7; *q = '\0'; size_t new_len = q - new_; pimg->flags = img_SFLAG_UNDERGROUND; if (old_len == new_len && memcmp(old, new_, old_len) == 0) { read_xyz_shot_coords(p, line); int r = compass_plt_update_station(pimg, new_, new_len, 0); if (r < 0) goto out_of_memory_error; if (r > 0) { // We've already emitted img_LABEL for this station. free(line); pimg->label[0] = '\0'; pimg->flags = 0; return img_MOVE; } memcpy(pimg->label, new_, new_len + 1); free(line); pimg->pending = img_MOVE + 4; return img_LABEL; } if (strcmp(old, pimg->label) == 0) { read_xyz_shot_coords(p, line); int r = compass_plt_update_station(pimg, new_, new_len, 0); if (r < 0) goto out_of_memory_error; if (r > 0) { // We've already emitted img_LABEL for this station. free(line); pimg->label = pimg->label_buf + strlen(pimg->label_buf); pimg->flags = 0; return img_LINE; } memcpy(pimg->label, new_, new_len + 1); free(line); pimg->pending = img_LINE + 4; return img_LABEL; } read_xyz_shot_coords(p, line); int r = compass_plt_update_station(pimg, new_, new_len, 0); if (r < 0) goto out_of_memory_error; memcpy(pimg->label + 16, line, 70); if (r > 0) { // We've already emitted img_LABEL for this station. free(line); pimg->label = pimg->label_buf + strlen(pimg->label_buf); pimg->flags = 0; read_xyz_shot_coords(p, pimg->label_buf + 16); subtract_xyz_shot_deltas(p, pimg->label_buf + 16); pimg->pending = img_STOP + 4; return img_MOVE; } memcpy(pimg->label, new_, new_len + 1); pimg->pending = img_LABEL + 4; free(line); return img_LABEL; } } } static void write_coord(FILE *fh, double x, double y, double z) { SVX_ASSERT(fh); /* Output in cm */ INT32_T X = my_lround(x * 100.0); INT32_T Y = my_lround(y * 100.0); INT32_T Z = my_lround(z * 100.0); put32(X, fh); put32(Y, fh); put32(Z, fh); } static int write_v3label(img *pimg, int opt, const char *s) { size_t len, n, dot; /* find length of common prefix */ dot = 0; for (len = 0; s[len] == pimg->label_buf[len] && s[len] != '\0'; len++) { if (s[len] == '.') dot = len + 1; } SVX_ASSERT(len <= pimg->label_len); n = pimg->label_len - len; if (len == 0) { if (pimg->label_len) PUTC(0, pimg->fh); } else if (n <= 16) { if (n) PUTC(n + 15, pimg->fh); } else if (dot == 0) { if (pimg->label_len) PUTC(0, pimg->fh); len = 0; } else { const char *p = pimg->label_buf + dot; n = 1; for (len = pimg->label_len - dot - 17; len; len--) { if (*p++ == '.') n++; } if (n <= 14) { PUTC(n, pimg->fh); len = dot; } else { if (pimg->label_len) PUTC(0, pimg->fh); len = 0; } } n = strlen(s + len); PUTC(opt, pimg->fh); if (n < 0xfe) { PUTC(n, pimg->fh); } else if (n < 0xffff + 0xfe) { PUTC(0xfe, pimg->fh); put16((short)(n - 0xfe), pimg->fh); } else { PUTC(0xff, pimg->fh); put32(n, pimg->fh); } FWRITE_(s + len, n, 1, pimg->fh); n += len; pimg->label_len = n; if (!check_label_space(pimg, n + 1)) return 0; /* FIXME: distinguish out of memory... */ memcpy(pimg->label_buf + len, s + len, n - len + 1); return !FERROR(pimg->fh); } static int write_v8label(img *pimg, int opt, int common_flag, size_t common_val, const char *s) { size_t len, del, add; /* find length of common prefix */ for (len = 0; s[len] == pimg->label_buf[len] && s[len] != '\0'; len++) { } SVX_ASSERT(len <= pimg->label_len); del = pimg->label_len - len; add = strlen(s + len); if (add == common_val && del == common_val) { PUTC(opt | common_flag, pimg->fh); } else { PUTC(opt, pimg->fh); if (del <= 15 && add <= 15 && (del || add)) { PUTC((del << 4) | add, pimg->fh); } else { PUTC(0x00, pimg->fh); if (del < 0xff) { PUTC(del, pimg->fh); } else { PUTC(0xff, pimg->fh); put32(del, pimg->fh); } if (add < 0xff) { PUTC(add, pimg->fh); } else { PUTC(0xff, pimg->fh); put32(add, pimg->fh); } } } if (add) FWRITE_(s + len, add, 1, pimg->fh); pimg->label_len = len + add; if (add > del && !check_label_space(pimg, pimg->label_len + 1)) return 0; /* FIXME: distinguish out of memory... */ memcpy(pimg->label_buf + len, s + len, add + 1); return !FERROR(pimg->fh); } static void img_write_item_date_new(img *pimg) { int same, unset; /* Only write dates when they've changed. */ #if IMG_API_VERSION == 0 if (pimg->date1 == pimg->olddate1 && pimg->date2 == pimg->olddate2) return; same = (pimg->date1 == pimg->date2); unset = (pimg->date1 == 0); #else /* IMG_API_VERSION == 1 */ if (pimg->days1 == pimg->olddays1 && pimg->days2 == pimg->olddays2) return; same = (pimg->days1 == pimg->days2); unset = (pimg->days1 == -1); #endif if (same) { if (unset) { PUTC(0x10, pimg->fh); } else { PUTC(0x11, pimg->fh); #if IMG_API_VERSION == 0 put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); #else /* IMG_API_VERSION == 1 */ put16(pimg->days1, pimg->fh); #endif } } else { #if IMG_API_VERSION == 0 int diff = (pimg->date2 - pimg->date1) / SECS_PER_DAY; if (diff > 0 && diff <= 256) { PUTC(0x12, pimg->fh); put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); PUTC(diff - 1, pimg->fh); } else { PUTC(0x13, pimg->fh); put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); put16((pimg->date2 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); } #else /* IMG_API_VERSION == 1 */ int diff = pimg->days2 - pimg->days1; if (diff > 0 && diff <= 256) { PUTC(0x12, pimg->fh); put16(pimg->days1, pimg->fh); PUTC(diff - 1, pimg->fh); } else { PUTC(0x13, pimg->fh); put16(pimg->days1, pimg->fh); put16(pimg->days2, pimg->fh); } #endif } #if IMG_API_VERSION == 0 pimg->olddate1 = pimg->date1; pimg->olddate2 = pimg->date2; #else /* IMG_API_VERSION == 1 */ pimg->olddays1 = pimg->days1; pimg->olddays2 = pimg->days2; #endif } static void img_write_item_date(img *pimg) { int same, unset; /* Only write dates when they've changed. */ #if IMG_API_VERSION == 0 if (pimg->date1 == pimg->olddate1 && pimg->date2 == pimg->olddate2) return; same = (pimg->date1 == pimg->date2); unset = (pimg->date1 == 0); #else /* IMG_API_VERSION == 1 */ if (pimg->days1 == pimg->olddays1 && pimg->days2 == pimg->olddays2) return; same = (pimg->days1 == pimg->days2); unset = (pimg->days1 == -1); #endif if (same) { if (img_output_version < 7) { PUTC(0x20, pimg->fh); #if IMG_API_VERSION == 0 put32(pimg->date1, pimg->fh); #else /* IMG_API_VERSION == 1 */ put32((pimg->days1 - DAYS_1900) * SECS_PER_DAY, pimg->fh); #endif } else { if (unset) { PUTC(0x24, pimg->fh); } else { PUTC(0x20, pimg->fh); #if IMG_API_VERSION == 0 put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); #else /* IMG_API_VERSION == 1 */ put16(pimg->days1, pimg->fh); #endif } } } else { if (img_output_version < 7) { PUTC(0x21, pimg->fh); #if IMG_API_VERSION == 0 put32(pimg->date1, pimg->fh); put32(pimg->date2, pimg->fh); #else /* IMG_API_VERSION == 1 */ put32((pimg->days1 - DAYS_1900) * SECS_PER_DAY, pimg->fh); put32((pimg->days2 - DAYS_1900) * SECS_PER_DAY, pimg->fh); #endif } else { #if IMG_API_VERSION == 0 int diff = (pimg->date2 - pimg->date1) / SECS_PER_DAY; if (diff > 0 && diff <= 256) { PUTC(0x21, pimg->fh); put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); PUTC(diff - 1, pimg->fh); } else { PUTC(0x23, pimg->fh); put16((pimg->date1 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); put16((pimg->date2 - TIME_T_1900) / SECS_PER_DAY, pimg->fh); } #else /* IMG_API_VERSION == 1 */ int diff = pimg->days2 - pimg->days1; if (diff > 0 && diff <= 256) { PUTC(0x21, pimg->fh); put16(pimg->days1, pimg->fh); PUTC(diff - 1, pimg->fh); } else { PUTC(0x23, pimg->fh); put16(pimg->days1, pimg->fh); put16(pimg->days2, pimg->fh); } #endif } } #if IMG_API_VERSION == 0 pimg->olddate1 = pimg->date1; pimg->olddate2 = pimg->date2; #else /* IMG_API_VERSION == 1 */ pimg->olddays1 = pimg->days1; pimg->olddays2 = pimg->days2; #endif } static void img_write_item_new(img *pimg, int code, int flags, const char *s, double x, double y, double z); static void img_write_item_v3to7(img *pimg, int code, int flags, const char *s, double x, double y, double z); static void img_write_item_ancient(img *pimg, int code, int flags, const char *s, double x, double y, double z); void img_write_item(img *pimg, int code, int flags, const char *s, double x, double y, double z) { if (!pimg) return; if (pimg->version >= 8) { img_write_item_new(pimg, code, flags, s, x, y, z); } else if (pimg->version >= 3) { img_write_item_v3to7(pimg, code, flags, s, x, y, z); } else { img_write_item_ancient(pimg, code, flags, s, x, y, z); } } static void img_write_item_new(img *pimg, int code, int flags, const char *s, double x, double y, double z) { switch (code) { case img_LABEL: write_v8label(pimg, 0x80 | flags, 0, -1, s); break; case img_XSECT: { INT32_T l, r, u, d, max_dim; img_write_item_date_new(pimg); l = (INT32_T)my_lround(pimg->l * 100.0); r = (INT32_T)my_lround(pimg->r * 100.0); u = (INT32_T)my_lround(pimg->u * 100.0); d = (INT32_T)my_lround(pimg->d * 100.0); if (l < 0) l = -1; if (r < 0) r = -1; if (u < 0) u = -1; if (d < 0) d = -1; max_dim = max(max(l, r), max(u, d)); flags = (flags & img_XFLAG_END) ? 1 : 0; if (max_dim >= 32768) flags |= 2; write_v8label(pimg, 0x30 | flags, 0, -1, s); if (flags & 2) { /* Big passage! Need to use 4 bytes. */ put32(l, pimg->fh); put32(r, pimg->fh); put32(u, pimg->fh); put32(d, pimg->fh); } else { put16(l, pimg->fh); put16(r, pimg->fh); put16(u, pimg->fh); put16(d, pimg->fh); } return; } case img_MOVE: PUTC(15, pimg->fh); break; case img_LINE: img_write_item_date_new(pimg); if (pimg->style != pimg->oldstyle) { switch (pimg->style) { case img_STYLE_NORMAL: case img_STYLE_DIVING: case img_STYLE_CARTESIAN: case img_STYLE_CYLPOLAR: case img_STYLE_NOSURVEY: PUTC(pimg->style, pimg->fh); break; } pimg->oldstyle = pimg->style; } write_v8label(pimg, 0x40 | flags, 0x20, 0x00, s ? s : ""); break; default: /* ignore for now */ return; } write_coord(pimg->fh, x, y, z); } static void img_write_item_v3to7(img *pimg, int code, int flags, const char *s, double x, double y, double z) { switch (code) { case img_LABEL: write_v3label(pimg, 0x40 | flags, s); break; case img_XSECT: { INT32_T l, r, u, d, max_dim; /* Need at least version 5 for img_XSECT. */ if (pimg->version < 5) return; img_write_item_date(pimg); l = (INT32_T)my_lround(pimg->l * 100.0); r = (INT32_T)my_lround(pimg->r * 100.0); u = (INT32_T)my_lround(pimg->u * 100.0); d = (INT32_T)my_lround(pimg->d * 100.0); if (l < 0) l = -1; if (r < 0) r = -1; if (u < 0) u = -1; if (d < 0) d = -1; max_dim = max(max(l, r), max(u, d)); flags = (flags & img_XFLAG_END) ? 1 : 0; if (max_dim >= 32768) flags |= 2; write_v3label(pimg, 0x30 | flags, s); if (flags & 2) { /* Big passage! Need to use 4 bytes. */ put32(l, pimg->fh); put32(r, pimg->fh); put32(u, pimg->fh); put32(d, pimg->fh); } else { put16(l, pimg->fh); put16(r, pimg->fh); put16(u, pimg->fh); put16(d, pimg->fh); } return; } case img_MOVE: PUTC(15, pimg->fh); break; case img_LINE: if (pimg->version >= 4) { img_write_item_date(pimg); } write_v3label(pimg, 0x80 | flags, s ? s : ""); break; default: /* ignore for now */ return; } write_coord(pimg->fh, x, y, z); } static void img_write_item_ancient(img *pimg, int code, int flags, const char *s, double x, double y, double z) { size_t len; INT32_T opt = 0; SVX_ASSERT(pimg->version > 0); switch (code) { case img_LABEL: if (pimg->version == 1) { /* put a move before each label */ img_write_item_ancient(pimg, img_MOVE, 0, NULL, x, y, z); put32(2, pimg->fh); fputs(s, pimg->fh); PUTC('\n', pimg->fh); return; } len = strlen(s); if (len > 255 || strchr(s, '\n')) { /* long label - not in early incarnations of v2 format, but few * 3d files will need these, so better not to force incompatibility * with a new version I think... */ PUTC(7, pimg->fh); PUTC(flags, pimg->fh); put32(len, pimg->fh); fputs(s, pimg->fh); } else { PUTC(0x40 | (flags & 0x3f), pimg->fh); fputs(s, pimg->fh); PUTC('\n', pimg->fh); } opt = 0; break; case img_MOVE: opt = 4; break; case img_LINE: if (pimg->version > 1) { opt = 0x80 | (flags & 0x3f); break; } opt = 5; break; default: /* ignore for now */ return; } if (pimg->version == 1) { put32(opt, pimg->fh); } else { if (opt) PUTC(opt, pimg->fh); } write_coord(pimg->fh, x, y, z); } /* Write error information for the current traverse * n_legs is the number of legs in the traverse * length is the traverse length (in m) * E is the ratio of the observed misclosure to the theoretical one * H is the ratio of the observed horizontal misclosure to the theoretical one * V is the ratio of the observed vertical misclosure to the theoretical one */ void img_write_errors(img *pimg, int n_legs, double length, double E, double H, double V) { PUTC((pimg->version >= 8 ? 0x1f : 0x22), pimg->fh); put32(n_legs, pimg->fh); put32((INT32_T)my_lround(length * 100.0), pimg->fh); put32((INT32_T)my_lround(E * 100.0), pimg->fh); put32((INT32_T)my_lround(H * 100.0), pimg->fh); put32((INT32_T)my_lround(V * 100.0), pimg->fh); } int img_close(img *pimg) { int result = 1; if (pimg) { if (pimg->fh) { if (pimg->fRead) { free(pimg->survey); free(pimg->title); free(pimg->cs); free(pimg->datestamp); } else { /* write end of data marker */ switch (pimg->version) { case 1: put32((INT32_T)-1, pimg->fh); break; default: if (pimg->version <= 7 ? (pimg->label_len != 0) : (pimg->style != img_STYLE_NORMAL)) { PUTC(0, pimg->fh); } /* FALL THROUGH */ case 2: PUTC(0, pimg->fh); break; } } if (FERROR(pimg->fh)) result = 0; if (pimg->close_func && pimg->close_func(pimg->fh)) result = 0; if (!result) img_errno = pimg->fRead ? IMG_READERROR : IMG_WRITEERROR; } if (pimg->data) { switch (pimg->version) { case IMG_VERSION_COMPASS_PLT: compass_plt_free_data(pimg); break; default: free(pimg->data); } } free(pimg->label_buf); free(pimg); } return result; } img_datum img_parse_compass_datum_string(const char *s, size_t len) { #define EQ(S) len == LITLEN(S) && memcmp(s, S, LITLEN(S)) == 0 /* First check the three which seem to be commonly used in Compass data. */ if (EQ("WGS 1984")) return img_DATUM_WGS84; if (EQ("North American 1927")) return img_DATUM_NAD27; if (EQ("North American 1983")) return img_DATUM_NAD83; if (EQ("Adindan")) return img_DATUM_ADINDAN; if (EQ("Arc 1950")) return img_DATUM_ARC1950; if (EQ("Arc 1960")) return img_DATUM_ARC1960; if (EQ("Cape")) return img_DATUM_CAPE; if (EQ("European 1950")) return img_DATUM_EUROPEAN1950; if (EQ("Geodetic 1949")) return img_DATUM_NZGD49; if (EQ("Hu Tzu Shan")) return img_DATUM_HUTZUSHAN1950; if (EQ("Indian")) return img_DATUM_INDIAN1960; if (EQ("Tokyo")) return img_DATUM_TOKYO; if (EQ("WGS 1972")) return img_DATUM_WGS72; return img_DATUM_UNKNOWN; } char * img_compass_utm_proj_str(img_datum datum, int utm_zone) { int epsg_code = 0; const char* proj4_datum = NULL; if (utm_zone < -60 || utm_zone > 60 || utm_zone == 0) return NULL; switch (datum) { case img_DATUM_UNKNOWN: break; case img_DATUM_ADINDAN: if (utm_zone >= 35 && utm_zone <= 38) epsg_code = 20100 + utm_zone; break; case img_DATUM_ARC1950: if (utm_zone >= -36 && utm_zone <= -34) epsg_code = 20900 - utm_zone; break; case img_DATUM_ARC1960: if (utm_zone >= -37 && utm_zone <= -35) epsg_code = 21000 - utm_zone; break; case img_DATUM_CAPE: if (utm_zone >= -36 && utm_zone <= -34) epsg_code = 22200 - utm_zone; break; case img_DATUM_EUROPEAN1950: if (utm_zone >= 28 && utm_zone <= 38) epsg_code = 23000 + utm_zone; break; case img_DATUM_NZGD49: if (utm_zone >= 58) epsg_code = 27200 + utm_zone; break; case img_DATUM_HUTZUSHAN1950: if (utm_zone == 51) epsg_code = 3829; break; case img_DATUM_INDIAN1960: if (utm_zone >= 48 && utm_zone <= 49) epsg_code = 3100 + utm_zone; break; case img_DATUM_NAD27: if (utm_zone > 0 && utm_zone <= 23) epsg_code = 26700 + utm_zone; else if (utm_zone >= 59) epsg_code = 3311 + utm_zone; else proj4_datum = "NAD27"; break; case img_DATUM_NAD83: if (utm_zone > 0 && utm_zone <= 23) epsg_code = 26900 + utm_zone; else if (utm_zone == 24) epsg_code = 9712; else if (utm_zone >= 59) epsg_code = 3313 + utm_zone; else proj4_datum = "NAD83"; break; case img_DATUM_TOKYO: if (utm_zone >= 51 && utm_zone <= 55) epsg_code = 3041 + utm_zone; break; case img_DATUM_WGS72: if (utm_zone > 0) epsg_code = 32200 + utm_zone; else epsg_code = 32300 - utm_zone; break; case img_DATUM_WGS84: if (utm_zone > 0) epsg_code = 32600 + utm_zone; else epsg_code = 32700 - utm_zone; break; } if (epsg_code) { char *proj_str = malloc(11); if (!proj_str) { img_errno = IMG_OUTOFMEMORY; return NULL; } SNPRINTF(proj_str, 11, "EPSG:%d", epsg_code); return proj_str; } if (proj4_datum) { char *proj_str; size_t len = strlen(proj4_datum) + 52 + 2 + 1; const char *south = ""; if (utm_zone < 0) { utm_zone = -utm_zone; south = "+south "; len += 7; } proj_str = malloc(len); if (!proj_str) { img_errno = IMG_OUTOFMEMORY; return NULL; } SNPRINTF(proj_str, len, "+proj=utm +zone=%d %s+datum=%s +units=m +no_defs +type=crs", utm_zone, south, proj4_datum); return proj_str; } return NULL; } int img_compass_longlat_epsg_code(img_datum datum) { switch (datum) { case img_DATUM_UNKNOWN: break; case img_DATUM_ADINDAN: return 4201; case img_DATUM_ARC1950: return 4209; case img_DATUM_ARC1960: return 4210; case img_DATUM_CAPE: return 4222; case img_DATUM_EUROPEAN1950: return 4230; case img_DATUM_NZGD49: return 4272; case img_DATUM_HUTZUSHAN1950: return 4236; case img_DATUM_INDIAN1960: return 4131; case img_DATUM_NAD27: return 4267; case img_DATUM_NAD83: return 4269; case img_DATUM_TOKYO: return 4301; case img_DATUM_WGS72: return 4322; case img_DATUM_WGS84: return 4326; } return -1; } survex-1.4.17/src/cmdline.c0000664000175000017500000001603514766126621011211 /* cmdline.c * Wrapper for GNU getopt which deals with standard options * Copyright (C) 1998-2001,2003,2004,2011,2012,2014,2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include #include #include #include #include "getopt.h" #include "cmdline.h" #include "debug.h" #include "filename.h" #include "message.h" /* * bad command line give: * * * * * --help gives: * * * * * * * * * --version gives: * */ /* * want to cope with optional/required parameters on long options * and also parameters on short options */ static const char newline_tabs[] = "\n\t\t\t\t"; static int argc; static char * const *argv; static const char *shortopts; static const struct option *longopts; static int *longind; static const struct help_msg *help; static int min_args, max_args; static int msg_args, msg_extra; static const char * msg_extra_arg; void cmdline_help(void) { while (help && help->opt) { const char *longopt = 0; int opt = help->opt; const struct option *o = 0; if (HLP_ISLONG(opt)) { o = longopts + HLP_DECODELONG(opt); longopt = o->name; opt = o->val; } if (isalnum((unsigned char)opt)) printf(" -%c%c", opt, longopt ? ',' : ' '); else fputs(" ", stdout); if (longopt) { int len = strlen(longopt); printf(" --%s", longopt); if (o && o->has_arg) { const char *p; len += len + 1; if (o->has_arg == optional_argument) { PUTCHAR('['); len += 2; } PUTCHAR('='); if (help->placeholder) { fputs(help->placeholder, stdout); } else { for (p = longopt; *p ; p++) { unsigned char ch = *p; PUTCHAR((ch == '-') ? '_' : toupper(ch)); } } if (o->has_arg == optional_argument) PUTCHAR(']'); } len = (len >> 3) + 2; if (len > 4) len = 0; fputs(newline_tabs + len, stdout); } else { fputs(newline_tabs + 1, stdout); } if (help->arg) { SVX_ASSERT(strstr(msg(help->msg_no), "%s") != NULL); printf(msg(help->msg_no), help->arg); putnl(); } else { SVX_ASSERT(strstr(msg(help->msg_no), "%s") == NULL); puts(msg(help->msg_no)); } help++; } fputs(" --help\t\t\t", stdout); /* TRANSLATORS: description of --help option */ puts(msg(/*display this help and exit*/150)); fputs(" --version\t\t\t", stdout); /* TRANSLATORS: description of --version option */ puts(msg(/*output version information and exit*/151)); if (msg_extra) { putnl(); if (msg_extra_arg) { SVX_ASSERT(strstr(msg(msg_extra), "%s") != NULL); printf(msg(msg_extra), msg_extra_arg); putnl(); } else { SVX_ASSERT(strstr(msg(msg_extra), "%s") == NULL); puts(msg(msg_extra)); } } exit(0); } void cmdline_version(void) { printf("%s - "PRETTYPACKAGE" "VERSION"\n", msg_appname()); } void cmdline_syntax(void) { /* TRANSLATORS: as in: Usage: cavern … */ printf("\n%s: %s", msg(/*Usage*/49), msg_appname()); /* TRANSLATORS: in command line usage messages e.g. Usage: cavern [OPTION]… */ if (help && help->opt) printf(" [%s]...", msg(/*OPTION*/153)); if (msg_args) { PUTCHAR(' '); puts(msg(msg_args)); return; } if (min_args) { int i = min_args; while (i--) printf(" %s", msg(/*FILE*/124)); } if (max_args == -1) { if (!min_args) printf(" [%s]", msg(/*FILE*/124)); fputs("...", stdout); } else if (max_args > min_args) { int i = max_args - min_args; while (i--) printf(" [%s]", msg(/*FILE*/124)); } putnl(); } static void syntax_and_help_pointer(void) { cmdline_syntax(); fprintf(stderr, msg(/*Try “%s --help” for more information.\n*/157), msg_appname()); exit(1); } static void moan_and_die(int msgno) { fprintf(stderr, "%s: ", msg_appname()); fprintf(stderr, msg(msgno), optarg); fputnl(stderr); cmdline_syntax(); exit(1); } void cmdline_too_few_args(void) { fprintf(stderr, "%s: %s\n", msg_appname(), msg(/*too few arguments*/122)); syntax_and_help_pointer(); } void cmdline_too_many_args(void) { fprintf(stderr, "%s: %s\n", msg_appname(), msg(/*too many arguments*/123)); syntax_and_help_pointer(); } void cmdline_set_syntax_message(int msg_args_, int msg_extra_, const char * arg) { msg_args = msg_args_; msg_extra = msg_extra_; msg_extra_arg = arg; } int cmdline_int_arg(void) { long result; char *endptr; errno = 0; result = strtol(optarg, &endptr, 10); if (errno == ERANGE || result > INT_MAX || result < INT_MIN) { moan_and_die(/*numeric argument “%s” out of range*/185); } else if (*optarg == '\0' || *endptr != '\0') { moan_and_die(/*argument “%s” not an integer*/186); } return (int)result; } double cmdline_double_arg(void) { double result; char *endptr; errno = 0; result = strtod(optarg, &endptr); if (errno == ERANGE) { moan_and_die(/*numeric argument “%s” out of range*/185); } else if (*optarg == '\0' || *endptr != '\0') { moan_and_die(/*argument “%s” not a number*/187); } return result; } void cmdline_init(int argc_, char *const *argv_, const char *shortopts_, const struct option *longopts_, int *longind_, const struct help_msg *help_, int min_args_, int max_args_) { argc = argc_; argv = argv_; shortopts = shortopts_; longopts = longopts_; longind = longind_; help = help_; min_args = min_args_; max_args = max_args_; } int cmdline_getopt(void) { int opt = getopt_long(argc, argv, shortopts, longopts, longind); switch (opt) { case EOF: /* check valid # of args given - if not give syntax message */ if (argc - optind < min_args) { cmdline_too_few_args(); } else if (max_args >= 0 && argc - optind > max_args) { cmdline_too_many_args(); } break; case ':': /* parameter missing */ case '?': /* unknown opt, ambiguous match, or extraneous param */ /* getopt displays a message for us */ syntax_and_help_pointer(); break; case HLP_VERSION: /* --version */ cmdline_version(); exit(0); case HLP_HELP: /* --help */ cmdline_version(); cmdline_syntax(); PUTCHAR('\n'); cmdline_help(); exit(0); } return opt; } survex-1.4.17/src/datain.h0000664000175000017500000000676314765126030011043 /* datain.h * Header file for code that... * Reads in survey files, dealing with special characters, keywords & data * Copyright (C) 1994-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef DATAIN_H #define DATAIN_H #include #include /* for FILE */ #include "message.h" /* for DIAG_WARN, etc */ // We rely on implicit initialisation of this struct, so members will be // initialised to NULL, 0, false, etc. typedef struct parse { FILE *fh; const char *filename; long lpos; unsigned int line; bool reported_where : 1; unsigned prev_line_len : 31; struct parse *parent; } parse; extern int ch; extern parse file; extern jmp_buf jbSkipLine; extern bool f_export_ok; #define nextch() (ch = GETC(file.fh)) typedef struct { long offset; int ch; } filepos; void get_pos(filepos *fp); void set_pos(const filepos *fp); void skipblanks(void); /* reads complete data file */ void data_file(const char *pth, const char *fnm); real calculate_convergence_xy(const char *proj_str, double x, double y, double z); void skipline(void); /* Read the current line into a string, converting each tab to a space. * * The string is allocated with malloc() the caller is responsible for calling * free(). */ char* grab_line(void); /* The severity values are defined in message.h. */ #define DIAG_SEVERITY_MASK 0x03 // Call skipline() after reporting the diagnostic: #define DIAG_SKIP 0x04 // Context type values: #define DIAG_CONTEXT_MASK 0x78 // Report column number based of the current file position. #define DIAG_COL 0x08 // Set caret_width to s_len(&token): #define DIAG_TOKEN 0x10 // The following codes say to parse and discard a value from the current file // position - caret_width is set to its length: #define DIAG_WORD 0x18 // Span of non-blanks and non-comments. #define DIAG_UINT 0x20 // Span of digits. #define DIAG_DATE 0x28 // Span of digits and full stops. #define DIAG_NUM 0x30 // Real number. #define DIAG_STRING 0x38 // Possibly quoted string value. #define DIAG_TAIL 0x40 // Rest of the line (not including // trailing blanks or comment). // A non-zero caret_width value can be encoded in the upper bits. #define DIAG_FROM_SHIFT 7 // Mask to detect embedded caret_width value. #define DIAG_FROM_MASK (~((1U << DIAG_FROM_SHIFT) - 1)) // Specify the caret_width explicitly. #define DIAG_WIDTH(W) ((W) << DIAG_FROM_SHIFT) // Specify caret_width to be from filepos POS to the current position. #define DIAG_FROM(POS) DIAG_WIDTH(ftell(file.fh) - (POS).offset) void compile_diagnostic(int flags, int en, ...); void compile_diagnostic_at(int flags, const char * file, unsigned line, int en, ...); void compile_diagnostic_pfx(int flags, const prefix * pfx, int en, ...); void compile_diagnostic_token_show(int flags, int en); void compile_diagnostic_buffer(int flags, int en, ...); #endif survex-1.4.17/src/moviemaker.cc0000664000175000017500000002561014765126030012070 // // moviemaker.cc // // Class for writing movies from Aven. // // Copyright (C) 2004-2024 Olly Betts // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // /* Based on output-example.c: * * Libavformat API example: Output a media file in any supported * libavformat format. The default codecs are used. * * Copyright (c) 2003 Fabrice Bellard * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #include #define __STDC_CONSTANT_MACROS #include #include #include #include #include "moviemaker.h" #ifdef WITH_FFMPEG extern "C" { # include # include # include # include # include } #endif // Handle the "no FFmpeg" case in this file. #if !defined WITH_FFMPEG || LIBAVCODEC_VERSION_MAJOR >= 57 #ifdef WITH_FFMPEG enum { MOVIE_NO_SUITABLE_FORMAT = 1, MOVIE_AUDIO_ONLY, MOVIE_FILENAME_TOO_LONG }; #endif MovieMaker::MovieMaker() { #ifdef WITH_FFMPEG static bool initialised_ffmpeg = false; if (initialised_ffmpeg) return; #if LIBAVCODEC_VERSION_MAJOR < 58 avcodec_register_all(); av_register_all(); #endif initialised_ffmpeg = true; #endif } #ifdef WITH_FFMPEG static int write_packet(void *opaque, #if LIBAVFORMAT_VERSION_MAJOR < 61 uint8_t *buf, #else const uint8_t *buf, #endif int buf_size) { FILE * fh = (FILE*)opaque; size_t res = FWRITE_(buf, 1, buf_size, fh); return res > 0 ? res : -1; } static int64_t seek_stream(void *opaque, int64_t offset, int whence) { FILE * fh = (FILE*)opaque; return fseek(fh, offset, whence); } #endif #define MAX_EXTENSION_LEN 8 bool MovieMaker::Open(FILE* fh, const char * ext, int width, int height) { #ifdef WITH_FFMPEG fh_to_close = fh; /* Allocate the output media context. */ char dummy_filename[MAX_EXTENSION_LEN + 3] = "x."; oc = NULL; if (strlen(ext) <= MAX_EXTENSION_LEN) { // Use "x." + extension for format detection to avoid having to deal // with wide character filenames. strcpy(dummy_filename + 2, ext); avformat_alloc_output_context2(&oc, NULL, NULL, dummy_filename); } if (!oc) { averrno = MOVIE_NO_SUITABLE_FORMAT; return false; } auto fmt = oc->oformat; if (fmt->video_codec == AV_CODEC_ID_NONE) { averrno = MOVIE_AUDIO_ONLY; return false; } /* find the video encoder */ auto codec = avcodec_find_encoder(fmt->video_codec); if (!codec) { // FIXME : Erm - internal ffmpeg library problem? averrno = AVERROR(ENOMEM); return false; } // Add the video stream. video_st = avformat_new_stream(oc, NULL); if (!video_st) { averrno = AVERROR(ENOMEM); return false; } context = avcodec_alloc_context3(codec); context->codec_id = fmt->video_codec; context->width = width; context->height = height; video_st->time_base.den = 25; // Frames per second. video_st->time_base.num = 1; context->time_base = video_st->time_base; context->bit_rate = width * height * (4 * 0.07) * context->time_base.den / context->time_base.num; context->bit_rate_tolerance = context->bit_rate; context->global_quality = 4; context->rc_buffer_size = 2 * 1024 * 1024; context->rc_max_rate = context->bit_rate * 8; context->gop_size = 50; /* Twice the framerate */ context->pix_fmt = AV_PIX_FMT_YUV420P; if (context->has_b_frames) { // B frames are backwards predicted - they can improve compression, // but may slow encoding and decoding. context->max_b_frames = 4; } /* Some formats want stream headers to be separate. */ if (oc->oformat->flags & AVFMT_GLOBALHEADER) context->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; int retval; retval = avcodec_open2(context, codec, NULL); if (retval < 0) { averrno = retval; return false; } /* Allocate the encoded raw picture. */ frame = av_frame_alloc(); if (!frame) { averrno = AVERROR(ENOMEM); return false; } frame->format = context->pix_fmt; frame->width = width; frame->height = height; frame->pts = 0; retval = av_frame_get_buffer(frame, 32); if (retval < 0) { averrno = retval; return false; } if (frame->format != AV_PIX_FMT_YUV420P) { // FIXME need to allocate another frame for this case if we stop // hardcoding AV_PIX_FMT_YUV420P. abort(); } /* copy the stream parameters to the muxer */ retval = avcodec_parameters_from_context(video_st->codecpar, context); if (retval < 0) { averrno = retval; return false; } pixels = (unsigned char *)av_malloc(width * height * 6); if (!pixels) { averrno = AVERROR(ENOMEM); return false; } // Show the format we've ended up with (for debug purposes). // av_dump_format(oc, 0, dummy_filename, 1); av_free(sws_ctx); sws_ctx = sws_getContext(width, height, AV_PIX_FMT_RGB24, width, height, context->pix_fmt, SWS_BICUBIC, NULL, NULL, NULL); if (sws_ctx == NULL) { fprintf(stderr, "Cannot initialize the conversion context!\n"); averrno = AVERROR(ENOMEM); return false; } if (!(fmt->flags & AVFMT_NOFILE)) { const int buf_size = 8192; void * buf = av_malloc(buf_size); oc->pb = avio_alloc_context(static_cast(buf), buf_size, 1, fh, NULL, write_packet, seek_stream); if (!oc->pb) { averrno = AVERROR(ENOMEM); return false; } } // Write the stream header, if any. retval = avformat_write_header(oc, NULL); if (retval < 0) { averrno = retval; return false; } averrno = 0; return true; #else (void)fh; (void)ext; (void)width; (void)height; return false; #endif } unsigned char * MovieMaker::GetBuffer() const { #ifdef WITH_FFMPEG return pixels + GetWidth() * GetHeight() * 3; #else return NULL; #endif } int MovieMaker::GetWidth() const { #ifdef WITH_FFMPEG assert(video_st); return video_st->codecpar->width; #else return 0; #endif } int MovieMaker::GetHeight() const { #ifdef WITH_FFMPEG assert(video_st); return video_st->codecpar->height; #else return 0; #endif } #ifdef WITH_FFMPEG // Call with frame=NULL when done. int MovieMaker::encode_frame(AVFrame* frame_or_null) { int ret = avcodec_send_frame(context, frame_or_null); if (ret < 0) return ret; AVPacket *pkt = av_packet_alloc(); pkt->size = 0; while ((ret = avcodec_receive_packet(context, pkt)) == 0) { // Rescale output packet timestamp values from codec to stream timebase. av_packet_rescale_ts(pkt, context->time_base, video_st->time_base); pkt->stream_index = video_st->index; // Write the compressed frame to the media file. ret = av_interleaved_write_frame(oc, pkt); if (ret < 0) { av_packet_free(&pkt); release(); return ret; } } av_packet_free(&pkt); return 0; } #endif bool MovieMaker::AddFrame() { #ifdef WITH_FFMPEG int ret = av_frame_make_writable(frame); if (ret < 0) { averrno = ret; return false; } enum AVPixelFormat pix_fmt = context->pix_fmt; if (pix_fmt != AV_PIX_FMT_YUV420P) { // FIXME convert... abort(); } int len = 3 * GetWidth(); { // Flip image vertically int h = GetHeight(); unsigned char * src = pixels + h * len; unsigned char * dest = src - len; while (h--) { memcpy(dest, src, len); src += len; dest -= len; } } sws_scale(sws_ctx, &pixels, &len, 0, GetHeight(), frame->data, frame->linesize); ++frame->pts; // Encode this frame. ret = encode_frame(frame); if (ret < 0) { averrno = ret; return false; } #endif return true; } bool MovieMaker::Close() { #ifdef WITH_FFMPEG if (video_st && averrno == 0) { // Flush out any remaining data. int ret = encode_frame(NULL); if (ret < 0) { averrno = ret; return false; } av_write_trailer(oc); } release(); #endif return true; } #ifdef WITH_FFMPEG void MovieMaker::release() { // Close codec. avcodec_free_context(&context); av_frame_free(&frame); av_free(pixels); pixels = NULL; sws_freeContext(sws_ctx); sws_ctx = NULL; // Free the stream. avformat_free_context(oc); oc = NULL; if (fh_to_close) { fclose(fh_to_close); fh_to_close = NULL; } } #endif MovieMaker::~MovieMaker() { #ifdef WITH_FFMPEG release(); #endif } const char * MovieMaker::get_error_string() const { #ifdef WITH_FFMPEG switch (averrno) { case AVERROR(EIO): return "I/O error"; case AVERROR(EDOM): return "Number syntax expected in filename"; case AVERROR_INVALIDDATA: /* same as AVERROR_UNKNOWN: return "unknown error"; */ return "invalid data found"; case AVERROR(ENOMEM): return "not enough memory"; case AVERROR(EILSEQ): return "unknown format"; case AVERROR(ENOSYS): return "Operation not supported"; case AVERROR(ENOENT): return "No such file or directory"; case AVERROR_EOF: return "End of file"; case AVERROR_PATCHWELCOME: return "Not implemented in FFmpeg"; case 0: return "No error"; case MOVIE_NO_SUITABLE_FORMAT: return "Couldn't find a suitable output format"; case MOVIE_AUDIO_ONLY: return "Audio-only format specified"; case MOVIE_FILENAME_TOO_LONG: return "Filename too long"; } #endif return "Unknown error"; } #else #include "moviemaker-legacy.cc" #endif survex-1.4.17/src/hpgl.h0000664000175000017500000000252514765126030010525 /* hpgl.h * Export from Aven as HPGL. */ /* Copyright (C) 2005-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "exportfilter.h" #define HPGL_UNITS_PER_MM 40 class HPGL : public ExportFilter { double factor; int pen; public: explicit HPGL(double scale) : factor(HPGL_UNITS_PER_MM * 1000.0 / scale) {} void header(const char *, time_t, double, double, double, double, double, double) override; void line(const img_point *, const img_point *, unsigned, bool) override; void label(const img_point *, const wxString&, int, int) override; void cross(const img_point *, const wxString&, int) override; void footer() override; }; survex-1.4.17/src/rotatezoommask.xbm0000644000175000017500000000162314563510437013211 #define rotatezoommask_width 32 #define rotatezoommask_height 32 static unsigned char rotatezoommask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0xf9, 0x07, 0xc0, 0x9f, 0xf3, 0x07, 0xc0, 0xcf, 0xe7, 0x07, 0xc0, 0x9f, 0xf3, 0x07, 0xc0, 0xff, 0xff, 0x07, 0xc0, 0xff, 0xff, 0x07, 0xc0, 0xfe, 0xff, 0x06, 0x40, 0xf8, 0x3f, 0x04, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; survex-1.4.17/src/glbitmapfont.h0000664000175000017500000000441214765126030012256 // // glbitmapfont.h // // Draw text using glBitmap. // // Copyright (C) 2011-2022 Olly Betts // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // #ifndef GLBITMAPFONT_H_INCLUDED #define GLBITMAPFONT_H_INCLUDED #include "wx.h" class BitmapFont { enum { // The highest character point to generate an OpenGL list for. // // We can't generate a GL list for every Unicode character, so we // generate them for the first BITMAPFONT_MAX_CHAR characters and then // use glBitmap directly to draw other characters if they are needed. // // FIXME: We could perhaps even store strings consisting of only the // first 256 points as ISO8859-1. BITMAPFONT_MAX_CHAR = 256 }; int gllist_base = 0; mutable const unsigned char * extra_data = nullptr; mutable int * extra_chars = nullptr; unsigned char char_width[BITMAPFONT_MAX_CHAR]; void init_extra_chars() const; int glyph_width(wxChar ch) const; void write_glyph(wxChar ch) const; wxString font_file; int font_size; public: BitmapFont() { } ~BitmapFont(); bool load(const wxString & font_file, bool double_size); int get_font_size() const { return font_size; } void get_text_extent(const wxChar *s, size_t len, int *width, int *height) const { if (width) { int total_width = 0; while (len--) { int ch = *s++; if (ch < BITMAPFONT_MAX_CHAR) total_width += char_width[ch]; else total_width += glyph_width(ch); } *width = total_width; } if (height) { *height = get_font_size() + 1; } } void write_string(const wxChar *s, size_t len) const; }; #endif survex-1.4.17/src/debug.h0000664000175000017500000000456614765126030010670 /* debug.h * SURVEX debugging info control macros * Copyright (C) 1993-1996,2001,2002,2015,2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /*#define DEBUG_INVALID 1*/ #ifndef DEBUG_H #define DEBUG_H #include "useful.h" #include "message.h" /* for fatalerror() */ /* turn periodic calls to validate() checks on/off */ #ifndef VALIDATE # define VALIDATE 0 #endif /* turn on dumping of network data structure (lots of output) */ #ifndef DUMP_NETWORK # define DUMP_NETWORK 0 #endif /* elaborate if data structure becomes invalid */ #ifndef DEBUG_INVALID # define DEBUG_INVALID 0 #endif /* macro to report detected bug */ #ifdef DEBUG_INVALID # define BUG(M) do {\ fputs(__FILE__ ":" STRING(__LINE__) ": " M, STDERR);\ PUTC('\n', STDERR);\ fatalerror(/*Bug in program detected! Please report this to the authors*/11);\ } while (0) #else # define BUG(M) \ fatalerror(/*Bug in program detected! Please report this to the authors*/11) #endif /* assert macro, which calls BUG() if it fails */ #define SVX_ASSERT(E) if (E) {} else BUG("assert(" #E ") failed") /* assert macro, which calls BUG() if it fails */ #define SVX_ASSERT2(E, M) if (E) {} else BUG("assert(" #E ") failed - " M) /* datain.c */ /* general debugging info */ #define DEBUG_DATAIN 0 /* more (older) debugging info */ #define DEBUG_DATAIN_1 0 /* network.c */ /* print info generally useful for debugging */ #define PRINT_NETBITS 0 /* puts '+' for legs 'inside' big (>3) nodes */ #define SHOW_INTERNAL_LEGS 0 /* matrix.c */ /* print out the matrices */ #define PRINT_MATRICES 0 /* display info about where we are in algorithm */ #define DEBUG_MATRIX 0 /* print out bumf as matrix is built from network */ #define DEBUG_MATRIX_BUILD 0 #endif survex-1.4.17/src/export3d.h0000664000175000017500000000262414765126030011343 /* export3d.h * Export from Aven as Survex .3d. */ /* Copyright (C) 2005-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "exportfilter.h" #include #include "img.h" class Export3D : public ExportFilter { private: wxString cs; char separator; img* pimg = nullptr; public: Export3D(const wxString cs_, char separator_) : cs(cs_), separator(separator_) { } ~Export3D(); const int * passes() const override; void header(const char *, time_t, double, double, double, double, double, double) override; void line(const img_point *, const img_point *, unsigned, bool) override; void label(const img_point *, const wxString&, int, int) override; void footer() override; }; survex-1.4.17/src/json.cc0000664000175000017500000000412414765126030010677 /* json.cc * Export from Aven as JSON. */ /* Copyright (C) 2015,2016,2022,2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "json.h" #include "export.h" #include using namespace std; const int * JSON::passes() const { static const int default_passes[] = { LEGS|SURF, 0 }; return default_passes; } void JSON::header(const char * title, time_t datestamp_numeric, double min_x, double min_y, double min_z, double max_x, double max_y, double max_z) { (void)title; (void)datestamp_numeric; #if 0 if (title) { fputs("title: \"", fh); json_escape(fh, title); fputs("\",\n", fh); } if (datestamp_numeric != time_t(-1)) { fprintf("date: %ld,\n", (long)datestamp_numeric); } #endif fprintf(fh, "{\"bounds\":[%.2f,%.2f,%.2f,%.2f,%.2f,%.2f],\n\"traverses\":[\n", min_x, min_z, min_y, max_x, max_z, max_y); } void JSON::line(const img_point *p1, const img_point *p, unsigned /*flags*/, bool fPendingMove) { if (fPendingMove) { if (in_segment) { fputs("],\n[", fh); } else { fputs("[", fh); in_segment = true; } fprintf(fh, "[%.2f,%.2f,%.2f]", p1->x, p1->z, p1->y); } fprintf(fh, ",[%.2f,%.2f,%.2f]", p->x, p->z, p->y); } void JSON::label(const img_point *p, const wxString&, int /*sflags*/, int type) { (void)p; (void)type; } void JSON::footer() { if (in_segment) fputs("]\n", fh); fputs("]}\n", fh); } survex-1.4.17/src/wrapsurvexport.c0000664000175000017500000000513714765126030012723 /* wrapsurvexport.c * Set OPENSSL_MODULES to .exe's directory and run real .exe * * Copyright (C) 2002,2010,2014,2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include int main(int argc, char **argv) { const char *p = strrchr(argv[0], '\\'); const char *e_val = argv[0]; size_t e_len; size_t a_len; (void)argc; if (p) { e_len = p - argv[0]; a_len = e_len + 1; } else { e_val = "."; e_len = 1; a_len = 0; } char *e = malloc(e_len + strlen("OPENSSL_MODULES=") + 1); if (!e) return 1; strcpy(e, "OPENSSL_MODULES="); memcpy(e + strlen("OPENSSL_MODULES="), e_val, e_len); e[strlen("OPENSSL_MODULES=") + e_len] = '\0'; putenv(e); char *a = malloc(a_len + strlen("survexpor_.exe") + 1); if (!a) return 1; memcpy(a, argv[0], a_len); strcpy(a + a_len, "survexpor_.exe"); const char *real_argv0 = argv[0]; // Behind the scenes it appears Microsoft's _execv() actually takes the // argv passed and crudely glues it together into a command line string // with spaces in between but *WITHOUT ANY ESCAPING*, and then it gets // split back up into arguments at spaces, so an argument containing a // space gets split into two arguments. Coupled with the default // installation directory path containing a space (C:\Program Files) this // doesn't work out well. Words fail me. // // Apparently putting quotes around the argument is necessary. for (int i = 0; i < argc; ++i) { const char *arg = argv[i]; if (arg[strcspn(arg, " \t\n\r\v")]) { // Argument contains whitespace. char *newarg = malloc(strlen(arg) + 3); if (!newarg) return 1; newarg[0] = '"'; strcpy(newarg + 1, arg); strcat(newarg + 1, "\""); argv[i] = newarg; } } _execv(a, (const char * const*)argv); printf("%s: %s\n", real_argv0, strerror(errno)); return 1; } survex-1.4.17/src/json.h0000664000175000017500000000240114765126030010535 /* json.h * Export from Aven as JSON. */ /* Copyright (C) 2015,2016,2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "exportfilter.h" class JSON : public ExportFilter { bool in_segment = false; public: JSON() { } const int * passes() const override; void header(const char *, time_t, double min_x, double min_y, double min_z, double max_x, double max_y, double max_z) override; void line(const img_point *, const img_point *, unsigned, bool) override; void label(const img_point *, const wxString&, int, int) override; void footer() override; }; survex-1.4.17/src/hand.xbm0000644000175000017500000000156514567212227011051 #define hand_width 32 #define hand_height 32 static unsigned char hand_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x80, 0x73, 0x00, 0x00, 0x40, 0x92, 0x00, 0x00, 0x40, 0x92, 0x00, 0x00, 0x70, 0x92, 0x00, 0x00, 0x48, 0x92, 0x00, 0x00, 0x48, 0x92, 0x00, 0x00, 0x48, 0x92, 0x00, 0x00, 0x48, 0x92, 0x06, 0x00, 0x48, 0x80, 0x09, 0x00, 0x08, 0x80, 0x08, 0x00, 0x08, 0x80, 0x04, 0x00, 0x08, 0x00, 0x02, 0x00, 0x08, 0x00, 0x02, 0x00, 0x08, 0x00, 0x01, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; survex-1.4.17/src/gfxcore.h0000664000175000017500000004720214765126030011231 // // gfxcore.h // // Core drawing code for Aven. // // Copyright (C) 2000-2001,2002,2005 Mark R. Shinwell. // Copyright (C) 2001-2025 Olly Betts // Copyright (C) 2005 Martin Green // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // #ifndef gfxcore_h #define gfxcore_h #include #include #include #include "img_for_survex.h" #include "guicontrol.h" #include "labelinfo.h" #include "vector3.h" #include "wx.h" #include "gla.h" #include #include #include using namespace std; class MainFrm; class traverse; class XSect; class PointInfo; class MovieMaker; class PresentationMark : public Point { public: double angle = 0.0, tilt_angle = 0.0; double scale = 0.0; double time = 0.0; PresentationMark() : Point() { } PresentationMark(const Vector3 & v, double angle_, double tilt_angle_, double scale_, double time_ = 0) : Point(v), angle(angle_), tilt_angle(tilt_angle_), scale(scale_), time(time_) { } bool is_valid() const { return scale > 0; } }; struct ZoomBox { public: int x1, y1, x2, y2; ZoomBox() : x1(INT_MAX) { } bool active() const { return x1 != INT_MAX; } void set(const wxPoint & p1, const wxPoint & p2) { x1 = p1.x; y1 = p1.y; x2 = p2.x; y2 = p2.y; } void unset() { x1 = INT_MAX; } }; enum { COLOUR_BY_NONE, COLOUR_BY_DEPTH, COLOUR_BY_DATE, COLOUR_BY_ERROR, COLOUR_BY_H_ERROR, COLOUR_BY_V_ERROR, COLOUR_BY_GRADIENT, COLOUR_BY_LENGTH, COLOUR_BY_SURVEY, COLOUR_BY_STYLE, COLOUR_BY_LIMIT_ // Leave this last. }; enum { UPDATE_NONE, UPDATE_BLOBS, UPDATE_BLOBS_AND_CROSSES }; enum { SHOW_HIDE, SHOW_DASHED, SHOW_FADED, SHOW_NORMAL, }; struct Split { Vector3 vec; glaCoord tx, ty; Split(const Vector3& vec_, glaCoord tx_, glaCoord ty_) : vec(vec_), tx(tx_), ty(ty_) { } }; // It's pointless to redraw the screen as often as we can on a fast machine, // since the display hardware will only update so many times per second. // This is the maximum framerate we'll redraw at. const int MAX_FRAMERATE = 50; class GfxCore : public GLACanvas { double m_Scale = 0.0; double initial_scale = 1.0; int m_ScaleBarWidth = 0; typedef enum { LIST_COMPASS, LIST_CLINO, LIST_CLINO_BACK, LIST_SCALE_BAR, LIST_DEPTH_KEY, LIST_DATE_KEY, LIST_ERROR_KEY, LIST_GRADIENT_KEY, LIST_LENGTH_KEY, LIST_STYLE_KEY, LIST_UNDERGROUND_LEGS, LIST_TUBES, LIST_SURFACE_LEGS, LIST_BLOBS, LIST_CROSSES, LIST_GRID, LIST_SHADOW, LIST_TERRAIN, LIST_OVERLAYS, LIST_LIMIT_ // Leave this last. } drawing_list; static const int NUM_COLOUR_BANDS = 13; void SetPanBase() { base_pan = m_PanAngle; base_pan_time = timer.Time() - (1000 / MAX_FRAMERATE); } void SetTiltBase() { base_tilt = m_TiltAngle; base_tilt_time = timer.Time() - (1000 / MAX_FRAMERATE); } int GetCompassWidth() const; int GetClinoWidth() const; public: typedef enum { CURSOR_DEFAULT, CURSOR_POINTING_HAND, CURSOR_DRAGGING_HAND, CURSOR_HORIZONTAL_RESIZE, CURSOR_ROTATE_HORIZONTALLY, CURSOR_ROTATE_VERTICALLY, CURSOR_ROTATE_EITHER_WAY, CURSOR_ZOOM, CURSOR_ZOOM_ROTATE } cursor; private: GUIControl* m_Control; char* m_LabelGrid = nullptr; MainFrm* m_Parent; bool m_DoneFirstShow = false; double m_TiltAngle = 0.0; double m_PanAngle = 0.0; bool m_Rotating = false; double m_RotationStep = 0.0; int m_SwitchingTo = 0; bool m_Crosses = false; bool m_Legs = true; int m_Splays = SHOW_FADED; int m_Dupes = SHOW_DASHED; bool m_Names = false; bool m_Scalebar = true; bool m_ColourKey = true; bool m_OverlappingNames = false; bool m_Compass = true; bool m_Clino = true; bool m_Tubes = false; int m_ColourBy = COLOUR_BY_DEPTH; int error_type; bool m_HaveData = false; bool m_HaveTerrain = true; bool m_MouseOutsideCompass = false; bool m_MouseOutsideElev = false; bool m_Surface = false; bool m_Entrances = false; bool m_FixedPts = false; bool m_ExportedPts = false; bool m_Grid = false; bool m_BoundingBox = false; bool m_Terrain = false; bool m_Degrees = false; bool m_Metric = false; bool m_Percent = false; bool m_HitTestDebug = false; bool m_RenderStats = false; list *m_PointGrid = nullptr; bool m_HitTestGridValid = false; LabelInfo temp_here; const LabelInfo * m_here = nullptr; const LabelInfo * m_there = nullptr; wxString highlighted_survey; wxStopWatch timer; long base_tilt_time; long base_pan_time; double base_tilt; double base_pan; GLAPen m_Pens[NUM_COLOUR_BANDS + 1]; #define PLAYING 1 int presentation_mode = 0; // for now, 0 => off, PLAYING => continuous play bool pres_reverse = false; double pres_speed = 0.0; PresentationMark next_mark; double next_mark_time; double this_mark_total; MovieMaker * movie = nullptr; cursor current_cursor = GfxCore::CURSOR_DEFAULT; int sqrd_measure_threshold; // The legends for each entry in the colour key. wxString key_legends[NUM_COLOUR_BANDS]; wxPoint key_lowerleft[COLOUR_BY_LIMIT_]; ZoomBox zoombox; // Copied from parent, so we can adjust view when reloading the same // file with the view restricted. Vector3 offsets; // DEM: unsigned short * dem = nullptr; unsigned long dem_width, dem_height; double o_x, o_y, step_x, step_y; long nodata_value; bool bigendian; long last_time = 0; size_t n_tris = 0; void PlaceVertexWithColour(const Vector3 &v, double factor = 1.0); void PlaceVertexWithColour(const Vector3 & v, glaTexCoord tex_x, glaTexCoord tex_y, double factor); void SetDepthColour(double z, double factor); void PlaceVertexWithDepthColour(const Vector3 & v, double factor = 1.0); void PlaceVertexWithDepthColour(const Vector3 & v, glaTexCoord tex_x, glaTexCoord tex_y, double factor); void SetColourFrom01(double how_far, double factor); void SetColourFromDate(int date, double factor); void SetColourFromError(double E, double factor); void SetColourFromGradient(double angle, double factor); void SetColourFromLength(double len, double factor); void SetColourFromSurvey(const wxString& survey); void SetColourFromSurveyStation(const wxString& survey, double factor); int GetClinoOffset() const; void DrawTick(int angle_cw); void DrawArrow(gla_colour col1, gla_colour col2); void SkinPassage(vector & centreline); virtual void GenerateList(unsigned int l); void GenerateDisplayList(bool surface); void GenerateDisplayListTubes(); void DrawTerrainTriangle(const Vector3 & a, const Vector3 & b, const Vector3 & c); void DrawTerrain(); void GenerateDisplayListShadow(); void GenerateBlobsDisplayList(); void DrawIndicators(); void TryToFreeArrays(); void FirstShow(); void DrawScaleBar(); void DrawColourKey(int num_bands, const wxString & other); void DrawDepthKey(); void DrawDateKey(); void DrawErrorKey(); void DrawGradientKey(); void DrawLengthKey(); void DrawStyleKey(); void DrawCompass(); void DrawClino(); void DrawClinoBack(); void Draw2dIndicators(); void DrawGrid(); void NattyDrawNames(); void SimpleDrawNames(); void DefaultParameters(); void Repaint(); void CreateHitTestGrid(); int GetCompassXPosition() const; int GetClinoXPosition() const; int GetIndicatorYPosition() const; int GetIndicatorRadius() const; void ToggleFlag(bool* flag, int update = UPDATE_NONE); const GLAPen& GetPen(int band) const { assert(band >= 0 && band < NUM_COLOUR_BANDS); return m_Pens[band]; } const GLAPen& GetSurfacePen() const { return m_Pens[NUM_COLOUR_BANDS]; } int GetNumColourBands() const { return NUM_COLOUR_BANDS; } void DrawShadowedBoundingBox(); void DrawBoundingBox(); public: GfxCore(MainFrm* parent, wxWindow* parent_window, GUIControl* control); ~GfxCore(); void Initialise(bool same_file); void UpdateBlobs(); void ForceRefresh(); void RefreshLine(const Point* a, const Point* b, const Point* c); void SetHereSurvey(const wxString& survey) { if (survey != highlighted_survey) { highlighted_survey = survey; ForceRefresh(); } } void HighlightSurvey(); void ZoomToSurvey(const wxString& survey); void SetHereFromTree(const LabelInfo * p); void SetHere(const LabelInfo * p = NULL); void SetThere(const LabelInfo * p = NULL); const LabelInfo* GetThere() const { return m_there; } void CentreOn(const Point &p); void TranslateCave(int dx, int dy); void TiltCave(double tilt_angle); void TurnCave(double angle); void TurnCaveTo(double angle); void OnPaint(wxPaintEvent&); void OnSize(wxSizeEvent& event); void OnIdle(wxIdleEvent& event); void OnMouseMove(wxMouseEvent& event) { ScaleMouseEvent(event); m_Control->OnMouseMove(event); } void OnLeaveWindow(wxMouseEvent& event); void OnLButtonDown(wxMouseEvent& event) { ScaleMouseEvent(event); SetFocus(); m_Control->OnLButtonDown(event); } void OnLButtonUp(wxMouseEvent& event) { ScaleMouseEvent(event); m_Control->OnLButtonUp(event); } void OnMButtonDown(wxMouseEvent& event) { ScaleMouseEvent(event); SetFocus(); m_Control->OnMButtonDown(event); } void OnMButtonUp(wxMouseEvent& event) { ScaleMouseEvent(event); m_Control->OnMButtonUp(event); } void OnRButtonDown(wxMouseEvent& event) { ScaleMouseEvent(event); SetFocus(); m_Control->OnRButtonDown(event); } void OnRButtonUp(wxMouseEvent& event) { ScaleMouseEvent(event); m_Control->OnRButtonUp(event); } void OnMouseWheel(wxMouseEvent& event) { ScaleMouseEvent(event); SetFocus(); m_Control->OnMouseWheel(event); } void OnKeyPress(wxKeyEvent &event) { m_Control->OnKeyPress(event); } void Animate(); bool Animating() const { return m_Rotating || m_SwitchingTo || presentation_mode != 0; } void ClearCoords(); void SetCoords(wxPoint); // Determine whether the compass is currently shown. bool ShowingCompass() const { return m_Compass; } // Determine whether the clino is currently shown. bool ShowingClino() const { return m_Clino; } bool PointWithinCompass(wxPoint point) const; bool PointWithinClino(wxPoint point) const; bool PointWithinScaleBar(wxPoint point) const; bool PointWithinColourKey(wxPoint point) const; void SetCompassFromPoint(wxPoint point); void SetClinoFromPoint(wxPoint point); void SetScaleBarFromOffset(wxCoord dx); void RedrawIndicators(); void StartRotation(); void ToggleRotation(); void StopRotation(); bool IsExtendedElevation() const; void ReverseRotation(); void RotateSlower(bool accel); void RotateFaster(bool accel); void SwitchToElevation(); void SwitchToPlan(); void SetViewTo(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax); double GetCompassValue() const { return m_PanAngle; } bool ShowingPlan() const; bool ShowingElevation() const; bool ShowingMeasuringLine() const; bool HereIsReal() const { return m_here && m_here != &temp_here; } bool CanRaiseViewpoint() const; bool CanLowerViewpoint() const; bool IsRotating() const { return m_Rotating; } bool HasData() const { return m_DoneFirstShow && m_HaveData; } bool HasTerrain() const { return m_DoneFirstShow && m_HaveTerrain; } bool HasDepth() const; bool HasErrorInformation() const; bool HasDateInformation() const; double GetScale() const { return m_Scale; } void SetScale(double scale); bool ShowingStationNames() const { return m_Names; } bool ShowingOverlappingNames() const { return m_OverlappingNames; } bool ShowingCrosses() const { return m_Crosses; } bool ShowingGrid() const { return m_Grid; } int ColouringBy() const { return m_ColourBy; } bool HasUndergroundLegs() const; bool HasSplays() const; bool HasDupes() const; bool HasSurfaceLegs() const; bool HasTubes() const; bool ShowingUndergroundLegs() const { return m_Legs; } int ShowingSplaysMode() const { return m_Splays; } int ShowingDupesMode() const { return m_Dupes; } bool ShowingSurfaceLegs() const { return m_Surface; } bool ShowingColourKey() const { return m_ColourKey; } bool ShowingScaleBar() const { return m_Scalebar; } bool ShowingEntrances() const { return m_Entrances; } bool ShowingFixedPts() const { return m_FixedPts; } bool ShowingExportedPts() const { return m_ExportedPts; } int GetNumEntrances() const; int GetNumFixedPts() const; int GetNumExportedPts() const; void ToggleUndergroundLegs() { ToggleFlag(&m_Legs, UPDATE_BLOBS_AND_CROSSES); } void SetSplaysMode(int mode) { m_Splays = mode; UpdateBlobs(); InvalidateList(LIST_SURFACE_LEGS); InvalidateList(LIST_UNDERGROUND_LEGS); InvalidateList(LIST_CROSSES); m_HitTestGridValid = false; ForceRefresh(); } void SetDupesMode(int mode) { m_Dupes = mode; UpdateBlobs(); InvalidateList(LIST_SURFACE_LEGS); InvalidateList(LIST_UNDERGROUND_LEGS); ForceRefresh(); } void ToggleSurfaceLegs() { ToggleFlag(&m_Surface, UPDATE_BLOBS_AND_CROSSES); } void ToggleCompass() { ToggleFlag(&m_Compass); InvalidateList(LIST_SCALE_BAR); } void ToggleClino() { ToggleFlag(&m_Clino); InvalidateList(LIST_SCALE_BAR); } void ToggleScaleBar() { ToggleFlag(&m_Scalebar); } void ToggleEntrances() { ToggleFlag(&m_Entrances, UPDATE_BLOBS); } void ToggleFixedPts() { ToggleFlag(&m_FixedPts, UPDATE_BLOBS); } void ToggleExportedPts() { ToggleFlag(&m_ExportedPts, UPDATE_BLOBS); } void ToggleGrid() { ToggleFlag(&m_Grid); } void ToggleCrosses() { ToggleFlag(&m_Crosses); } void ToggleStationNames() { ToggleFlag(&m_Names); } void ToggleOverlappingNames() { ToggleFlag(&m_OverlappingNames); } void ToggleColourKey() { ToggleFlag(&m_ColourKey); } void ToggleMetric() { ToggleFlag(&m_Metric); InvalidateList(LIST_DEPTH_KEY); InvalidateList(LIST_LENGTH_KEY); InvalidateList(LIST_SCALE_BAR); } void ToggleHitTestDebug() { ToggleFlag(&m_HitTestDebug); } void ToggleRenderStats() { ToggleFlag(&m_RenderStats); } void ToggleDegrees() { ToggleFlag(&m_Degrees); InvalidateList(LIST_GRADIENT_KEY); } void TogglePercent() { ToggleFlag(&m_Percent); } void ToggleTubes() { ToggleFlag(&m_Tubes); } void TogglePerspective() { GLACanvas::TogglePerspective(); ForceRefresh(); } void ToggleSmoothShading(); bool DisplayingBoundingBox() const { return m_BoundingBox; } void ToggleBoundingBox() { ToggleFlag(&m_BoundingBox); } bool DisplayingTerrain() const { return m_Terrain; } void ToggleTerrain(); void ToggleFatFinger(); void ToggleTextured() { GLACanvas::ToggleTextured(); ForceRefresh(); } bool GetMetric() const { return m_Metric; } bool GetDegrees() const { return m_Degrees; } bool GetPercent() const { return m_Percent; } bool GetTubes() const { return m_Tubes; } bool CheckHitTestGrid(const wxPoint& point, bool centre); void ClearTreeSelection(); void Defaults(); void FullScreenMode(); bool IsFullScreen() const; bool FullScreenModeShowingMenus() const; void FullScreenModeShowMenus(bool show); void DragFinished(); void SplitLineAcrossBands(int band, int band2, const Vector3 &p, const Vector3 &q, double factor = 1.0); void SplitPolyAcrossBands(vector>& splits, int band, int band2, const Vector3 &p, const Vector3 &q, glaTexCoord ptx, glaTexCoord pty, glaTexCoord w, glaTexCoord h); int GetDepthColour(double z) const; double GetDepthBoundaryBetweenBands(int a, int b) const; void AddPolyline(const traverse & centreline); void AddPolylineDepth(const traverse & centreline); void AddPolylineDate(const traverse & centreline); void AddPolylineError(const traverse & centreline); void AddPolylineGradient(const traverse & centreline); void AddPolylineLength(const traverse & centreline); void AddPolylineSurvey(const traverse & centreline); void AddPolylineStyle(const traverse & centreline); void AddQuadrilateral(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddPolylineShadow(const traverse & centreline); void AddQuadrilateralDepth(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddQuadrilateralDate(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddQuadrilateralError(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddQuadrilateralGradient(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddQuadrilateralLength(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void AddQuadrilateralSurvey(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void MoveViewer(double forward, double up, double right); void (GfxCore::* AddQuad)(const Vector3 &a, const Vector3 &b, const Vector3 &c, const Vector3 &d); void (GfxCore::* AddPoly)(const traverse & centreline); PresentationMark GetView() const; void SetView(const PresentationMark & p); void PlayPres(double speed, bool change_speed = true); int GetPresentationMode() const { return presentation_mode; } double GetPresentationSpeed() const { return presentation_mode ? pres_speed : 0; } void SetColourBy(int colour_by); bool ExportMovie(const wxString & fnm); void OnPrint(const wxString &filename, const wxString &title, const wxString &datestamp, bool close_after_print = false); void OnExport(const wxString &filename, const wxString &title, const wxString &datestamp); void UpdateCursor(GfxCore::cursor new_cursor); bool MeasuringLineActive() const; bool HandleRClick(wxPoint point); void InvalidateAllLists() { for (int i = 0; i < LIST_LIMIT_; ++i) { InvalidateList(i); } } void SetZStretch(double factor) { GLACanvas::SetZStretch(factor); InvalidateList(LIST_UNDERGROUND_LEGS); InvalidateList(LIST_TUBES); InvalidateList(LIST_SURFACE_LEGS); InvalidateList(LIST_BLOBS); InvalidateList(LIST_CROSSES); InvalidateList(LIST_GRID); InvalidateList(LIST_SHADOW); InvalidateList(LIST_TERRAIN); InvalidateList(LIST_OVERLAYS); ForceRefresh(); } void SetZoomBox(wxPoint p1, wxPoint p2, bool centred, bool aspect); void UnsetZoomBox() { if (!zoombox.active()) return; zoombox.unset(); ForceRefresh(); } void ZoomBoxGo(); void DrawOverlays(); void parse_hgt_filename(const wxString & lc_name); size_t parse_hdr(wxInputStream & is, unsigned long & skipbytes); bool read_bil(wxInputStream & is, size_t size, unsigned long skipbytes); bool LoadDEM(const wxString & file); void InvalidateOverlays() { InvalidateList(LIST_OVERLAYS); } private: DECLARE_EVENT_TABLE() }; #endif survex-1.4.17/src/exportfilter.h0000664000175000017500000000520214765126030012315 /* exportfilter.h * Export to GIS formats, CAD formats, and other formats. */ /* Copyright (C) 2005-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef SURVEX_EXPORTFILTER_H #define SURVEX_EXPORTFILTER_H #include #include "wx.h" #include "img_for_survex.h" class ExportFilter { protected: FILE * fh = nullptr; public: ExportFilter() { } // FIXME: deal with errors closing file... (safe_fclose?) virtual ~ExportFilter() { if (fh) fclose(fh); } virtual const int * passes() const; virtual bool fopen(const wxString& fnm_out) { fh = wxFopen(fnm_out.fn_str(), wxT("wb")); return (fh != NULL); } virtual void header(const char* title, time_t datestamp, double min_x, double min_y, double min_z, double max_x, double max_y, double max_z); virtual void start_pass(int); virtual void line(const img_point *, const img_point *, unsigned, bool); virtual void label(const img_point* p, const wxString& s, int sflags, int type) = 0; virtual void cross(const img_point *, const wxString&, int sflags); virtual void xsect(const img_point *, double, double, double); virtual void wall(const img_point *, double, double); virtual void passage(const img_point *, double, double, double); virtual void tube_end(); virtual void footer(); }; inline void ExportFilter::header(const char*, time_t, double, double, double, double, double, double) { } inline void ExportFilter::start_pass(int) { } inline void ExportFilter::line(const img_point *, const img_point *, unsigned, bool) { } inline void ExportFilter::cross(const img_point *, const wxString&, int) { } inline void ExportFilter::xsect(const img_point *, double, double, double) { } inline void ExportFilter::wall(const img_point *, double, double) { } inline void ExportFilter::passage(const img_point *, double, double, double) { } inline void ExportFilter::tube_end() { } inline void ExportFilter::footer() { } #endif survex-1.4.17/src/img_for_survex.h0000664000175000017500000000374614765126030012637 /* img_for_survex.h * Build img for use in Survex code * Copyright (C) 2013,2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef IMG_FOR_SURVEX_H #define IMG_FOR_SURVEX_H #ifdef __cplusplus extern "C" { #endif #define IMG_API_VERSION 1 #include "img.h" static inline int img_error2msg(img_errcode err) { // We've numbered Survex's message numbers so they match up for IMG_* error // codes which means translating is just a cast and a range check. // // These messages aren't used anywhere else but need to exist in the source // code so the message handling machinery can see them and so we can add // TRANSLATORS comments. #if 0 /* TRANSLATORS: Perhaps the user tried to load a different type of file as * a Survex .3d file, or the .3d file was corrupted. */ (void)msg(/*Bad 3d image file “%s”*/4); (void)msg(/*Error reading from file “%s”*/6); (void)msg(/*File “%s” has a newer format than this program can understand*/8); #endif int err_int = (int)err; if (err_int < 0 || err_int > IMG_TOONEW) return 0; return err_int; } // Like img_open_survey() but use Survex's filename handling to try adding an // extension, etc. img * img_for_survex_open_survey(const char *fnm, const char *survey); #ifdef __cplusplus } #endif #endif /* IMG_FOR_SURVEX_H */ survex-1.4.17/src/namecompare.h0000644000175000017500000000163314567212227012063 /* namecompare.h */ /* Ordering function for station names */ /* Copyright (C) 2001,2002,2008,2012 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "wx.h" extern int name_cmp(const wxString &a, const wxString &b, int separator); survex-1.4.17/src/matrix.h0000644000175000017500000000154014563510437011075 /* matrix.h * Header file for matrix building and solving routines * Copyright (C) 1993,1994,2001 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ void solve_matrix(node *list); survex-1.4.17/src/validate.h0000664000175000017500000000214314765126030011360 /* validate.h * Header file for validate.c * * Copyright (C) 1994,1996,2001,2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef VALIDATE_H #define VALIDATE_H #include "debug.h" #include "cavern.h" bool validate(void); void dump_node(node *stn); void dump_network(void); #if (VALIDATE==0) # define validate() (void)0 # define dump_node(S) (void)0 #endif #if (DUMP_NETWORK==0) # define dump_network() (void)0 #endif #endif survex-1.4.17/src/useful.h0000664000175000017500000000374714765126030011105 /* useful.h * Lots of oddments that come in handy generally * Copyright (C) 1993-2003,2004,2010,2011,2014,2025 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* only include once */ #ifndef USEFUL_H #define USEFUL_H #ifndef PACKAGE # error config.h must be included first in each C/C++ source file #endif #include #include /* M_PI, etc may be defined in math.h */ #ifndef M_PI # define M_PI 3.14159265358979323846264338327950288419716939937510582097494459 #endif #ifndef M_PI_2 # define M_PI_2 (M_PI / 2.0) #endif #ifndef M_PI_4 # define M_PI_4 (M_PI / 4.0) #endif #define MM_PER_INCH 25.4 /* exact value */ #define METRES_PER_FOOT 0.3048 /* exact value */ #define POINTS_PER_INCH 72.0 #define POINTS_PER_MM (POINTS_PER_INCH / MM_PER_INCH) // Write a newline char. #define putnl() PUTCHAR('\n') // Write a newline char to a file. #define fputnl(FH) PUTC('\n', (FH)) // Square X. #define sqrd(X) ((X) * (X)) /* 2D Euclidean distance */ #ifndef HAVE_HYPOT # define hypot(X, Y) sqrt(sqrd((double)(X)) + sqrd((double)(Y))) #endif #define rad(X) ((M_PI / 180.0) * (X)) /* convert from degrees to radians */ #define deg(X) ((180.0 / M_PI) * (X)) /* convert from radians to degrees */ /* macro to convert argument to a string literal */ #define STRING(X) STRING_(X) #define STRING_(X) #X #endif /* !USEFUL_H */ survex-1.4.17/src/pos.h0000664000175000017500000000256114765126030010374 /* pos.h * Export from Aven as Survex .pos or .csv. */ /* Copyright (C) 2005-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "exportfilter.h" #include class POS : public ExportFilter { public: struct pos_label { double x, y, z; char name[1]; }; private: std::vector todo; char separator; bool csv; public: POS(char separator_, bool csv_) : separator(separator_), csv(csv_) { } ~POS(); const int * passes() const override; void header(const char *, time_t, double, double, double, double, double, double) override; void label(const img_point *, const wxString&, int, int) override; void footer() override; }; survex-1.4.17/src/hpgl.cc0000664000175000017500000001416514765126030010666 /* hpgl.cc * Export from Aven as HPGL. */ /* Copyright (C) 1993-2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include "hpgl.h" #include "export.h" // For SURF, etc #include "useful.h" # define HPGL_USE_UC /*# define HPGL_USE_SR */ /* for text sized relative to page size */ # define HPGL_EOL "\003" /* terminates labelling commands: LB\003 */ # ifndef HPGL_USE_UC # define HPGL_SO "\016" /* shift in & shift out of extended character set */ # define HPGL_SI "\017" # endif # define HPGL_CROSS_SIZE 28 /* length of cross arms (in HPGL units) */ static bool fNewLines = true; /* Check if this line intersects the current page */ /* Initialise HPGL routines. */ void HPGL::header(const char *, time_t, double, double, double, double, double, double) { pen = 1; /* INitialise; Select Pen 1; */ fputs("IN;SP1;" #ifndef HPGL_USE_UC "CA-1;GM0,800;" /* Char set Alternate -1; Get Memory; */ #endif #ifdef HPGL_USE_SR // SR scales characters relative to P1 and P2. // (0.5,1.0) is 2/3 of the default size. "SR0.5,1.0;" #else // SI scales characters to size given (in cm). "SI0.125,.179;" #endif , fh); if (fNewLines) PUTC('\n', fh); #ifndef HPGL_USE_UC /* define degree and copyright symbols */ fputs("DL32,10,30,12,30,13,29,13,27,12,26,10,26,9,27,9,29," "10,30;DL40,0,0;", fh); /* Hope this works! Seems to for BP */ if (fNewLines) PUTC('\n', fh); fputs("DL67,16,14,16,18,17,22,19,25,22,28,26,30,31,31,37,32," "43,32,49,31,53,30,58,28,61,25,63,22,64,18,64,14,63,10," "61,7,58,4,53,2,49,1,43,0,37,0,31,1,26,2,22,4,19,7,17,10," "16,14;", fh); if (fNewLines) PUTC('\n', fh); fputs("DL41,4,20,3,19,0,23,-4,24,-9,24,-14,23,-17,22,-20,19," "-21,16,-20,13,-17,10,-14,9,-9,8,-4,8,0,9,3,11,4,12;", fh); if (fNewLines) PUTC('\n', fh); #endif #if 0 // FIXME: This was needed when printhpgl supported splitting a plot over // multiple pages, but is it useful now we leave that to the OS printer // drivers? int PaperWidth, PaperDepth; // In mm xpPageWidth = (long)(HPGL_UNITS_PER_MM * (double)PaperWidth); ypPageDepth = (long)(HPGL_UNITS_PER_MM * (double)PaperDepth); /* and set clipping (Input Window!) on plotter (left,bottom,right,top) */ fprintf(fh, "IW%ld,%ld,%ld,%ld;", clip.x_min, clip.y_min, clip.x_min + xpPageWidth, clip.y_min + ypPageDepth); #endif } void HPGL::line(const img_point *p1, const img_point *p, unsigned flags, bool fPending) { // Pens 1 to 6 are apparently supported by HPGL. enum { PEN_LEG = 1, PEN_SPLAY = 2, PEN_SURF = 3 }; int new_pen = PEN_LEG; if (flags & SURF) { new_pen = PEN_SURF; } else if (flags & SPLAYS) { new_pen = PEN_SPLAY; } if (new_pen != pen) { fprintf(fh, "SP%d;", new_pen); pen = new_pen; } if (fPending) { fprintf(fh, "PU%ld,%ld;", long(p1->x * factor), long(p1->y * factor)); } fprintf(fh, "PD%ld,%ld;", long(p->x * factor), long(p->y * factor)); } #define CS HPGL_CROSS_SIZE #define CS2 (2 * HPGL_CROSS_SIZE) void HPGL::cross(const img_point *p, const wxString&, int) { if (pen != 1) { fprintf(fh, "SP1;"); pen = 1; } fprintf(fh, "PU%ld,%ld;", long(p->x * factor), long(p->y * factor)); /* SM plots a symbol at each point, but it isn't very convenient here */ /* We can write PDPR%d,%dPR%d,%d... but the HP7475A manual doesn't say */ /* clearly if this will work on older plotters (such as the HP9872) */ fprintf(fh, "PD;PR%d,%d;PR%d,%d;PU%d,0;PD%d,%d;PU%d,%d;PA;", CS, CS, -CS2, -CS2, CS2, /*0,*/ -CS2, CS2, CS, -CS); if (fNewLines) PUTC('\n', fh); } #undef CS #undef CS2 void HPGL::label(const img_point *p, const wxString& str, int /*sflags*/, int) { if (pen != 1) { fprintf(fh, "SP1;"); pen = 1; } const char* s = str.utf8_str(); /* LB is a text label, terminated with a ^C */ fprintf(fh, "PU%ld,%ld;LB", long(p->x * factor), long(p->y * factor)); while (*s) { switch (*s) { case '\xB0': #ifdef HPGL_USE_UC /* draw a degree sign */ fputs(HPGL_EOL ";UC1.25,7.5,99,.25,0,.125,-.25,0,-.5," "-.125,-.25,-.25,0,-.125,.25,0,.5,.125,.25;LB", fh); #else /* KLUDGE: this prints the degree sign if the plotter supports * extended chars or a space if not, since we tried to redefine * space. Nifty, eh? */ fputs(HPGL_SO " " HPGL_SI, fh); #endif break; case '\xA9': #ifdef HPGL_USE_UC /* (C) needs two chars to look right! */ /* This bit does the circle of the (C) symbol: */ fputs(HPGL_EOL ";", fh); if (fNewLines) PUTC('\n', fh); fputs("UC2,3.5,99,0,1,0.125,1,0.25,.75,0.375,.75," ".5,.5,.625,.25,.75,.25,.75,0,.75,-.25,.625,-.25," ".5,-.5,.375,-.75,.25,-.75,.125,-1,0,-1,-0.125,-1," "-0.25,-.75,-0.375,-.75,-.5,-.5,-.625,-.25,-.75,-.25," "-.75,0,-.75,.25,-.625,.25,-.5,.5,-.375,.75,-.25,.75," "-.125,1;", fh); if (fNewLines) PUTC('\n', fh); /* And this bit's the c in the middle: */ fputs("UC.5,5,99,-.125,.25,-.375,.5,-.5,.25,-.625,0," "-.625,-.25,-.375,-.25,-.375,-.75,-.125,-.75,.125,-.75," ".375,-.75,.375,-.25,.625,-.25,.625,0,.5,.25,.375,.5," ".125,.25;", fh); if (fNewLines) PUTC('\n', fh); fputs("LB", fh); #else fputs(HPGL_SO "(C)" HPGL_SI, fh); #endif break; default: PUTC(*s, fh); } s++; } fputs(HPGL_EOL ";", fh); if (fNewLines) PUTC('\n', fh); } void HPGL::footer() { /* Clear clipping window; New page. NB PG is a no-op on the HP7475A */ fputs("IW;PG;", fh); if (fNewLines) PUTC('\n', fh); } survex-1.4.17/src/gdalexport.cc0000664000175000017500000001243514765126030012103 /* gdalexport.cc * Export using GDAL */ /* Copyright (C) 2024 Olly Betts * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include "gdalexport.h" #include "export.h" // For LABELS, etc. #ifdef HAVE_GDAL # include #endif #include "aven.h" #include "useful.h" #include "message.h" using namespace std; ExportWithGDAL::ExportWithGDAL(const char* filename, const char* input_datum, const char* gdal_driver_name) { #ifdef HAVE_GDAL GDALAllRegister(); auto manager = GetGDALDriverManager(); auto driver = manager->GetDriverByName(gdal_driver_name); if (!driver) { throw wxString::Format(wmsg(/*Failed to initialise GDAL “%s” driver*/527), gdal_driver_name); } gdal_dataset = driver->Create(filename, 0, 0, 0, GDT_Unknown, nullptr); if (!gdal_dataset) { throw wxString::Format(wmsg(/*Failed to initialise GDAL “%s” driver*/527), gdal_driver_name); } if (input_datum) { srs = new OGRSpatialReference(); srs->SetFromUserInput(input_datum); // This apparently only works for raster data: // gdal_dataset->SetSpatialRef(srs); } #else (void)filename; (void)input_datum; (void)gdal_driver_name; wxMessageBox(wxT("GDAL support not enabled in this build"), wxT("Aven GDAL support"), wxOK | wxICON_INFORMATION); #endif } ExportWithGDAL::~ExportWithGDAL() { #ifdef HAVE_GDAL if (srs) srs->Release(); #endif } #ifdef HAVE_GDAL /* Initialise ExportWithGDAL routines. */ void ExportWithGDAL::header(const char * title, time_t, double, double, double, double, double, double) { (void)title; } void ExportWithGDAL::start_pass(int layer) { if (!line_string.IsEmpty()) { finish_line_string(); } const char* name = nullptr; OGRwkbGeometryType type = wkbUnknown; switch (layer) { case PASG: name = "passages"; type = wkbPolygon; break; case XSECT: name = "passages"; type = wkbPolygon; break; case WALL1|WALL2: name = "walls"; type = wkbLineString; break; case LEGS: name = "legs"; type = wkbLineString; break; case SPLAYS: name = "splays"; type = wkbLineString; break; case SURF: name = "surface legs"; type = wkbLineString; break; case LABELS: name = "stations"; type = wkbPoint; break; case ENTS: name = "entrances"; type = wkbPoint; break; case FIXES: name = "fixed points"; type = wkbPoint; break; case EXPORTS: name = "exported points"; type = wkbPoint; break; } gdal_layer = gdal_dataset->CreateLayer(name, srs, type, nullptr); if (!gdal_layer) { throw wmsg(/*Failed to create GDAL layer*/528); } switch (layer) { case LABELS: case ENTS: case FIXES: case EXPORTS: { OGRFieldDefn field("Name", OFTString); if (gdal_layer->CreateField(&field) != OGRERR_NONE) { throw wmsg(/*Failed to create GDAL field*/529); } break; } } } void ExportWithGDAL::line(const img_point *p1, const img_point *p, unsigned /*flags*/, bool fPendingMove) { if (fPendingMove) { if (!line_string.IsEmpty()) { finish_line_string(); } line_string.addPoint(p1->x, p1->y, p1->z); } line_string.addPoint(p->x, p->y, p->z); } #endif void ExportWithGDAL::label(const img_point *p, const wxString& str, int, int) { #ifdef HAVE_GDAL OGRFeature* feature = OGRFeature::CreateFeature(gdal_layer->GetLayerDefn()); feature->SetField("Name", str.utf8_str()); OGRPoint pt; pt.setX(p->x); pt.setY(p->y); pt.setZ(p->z); feature->SetGeometry(&pt); if (gdal_layer->CreateFeature(feature) != OGRERR_NONE) { OGRFeature::DestroyFeature(feature); throw wmsg(/*Failed to create GDAL feature*/530); } OGRFeature::DestroyFeature(feature); #else (void)p; (void)str; #endif } #ifdef HAVE_GDAL void ExportWithGDAL::finish_line_string() { OGRFeature* feature = OGRFeature::CreateFeature(gdal_layer->GetLayerDefn()); feature->SetGeometry(&line_string); if (gdal_layer->CreateFeature(feature) != OGRERR_NONE) { OGRFeature::DestroyFeature(feature); throw wmsg(/*Failed to create GDAL feature*/530); } OGRFeature::DestroyFeature(feature); line_string.empty(); } void ExportWithGDAL::footer() { if (!line_string.IsEmpty()) { finish_line_string(); } GDALClose(gdal_dataset); } #endif const int* ShapefilePoints::passes() const { static const int default_passes[] = { ENTS, FIXES, EXPORTS, LABELS, 0 }; return default_passes; } const int* ShapefileLines::passes() const { static const int default_passes[] = { LEGS, SPLAYS, SURF, 0 }; return default_passes; } survex-1.4.17/src/igrf2c.py0000755000175000017500000000355414567212227011160 #!/usr/bin/python3 # Martin Budaj 2014 import sys if len(sys.argv) == 1: print('usage: %s ' % sys.argv[0]) sys.exit(1) def get_values(d): return d[3:len(d)-1] def iround(d): if '.' in d: return d.rstrip('0').rstrip('.') else: return d data = dict() max_n = 0 with open(sys.argv[1]) as fin: for l in fin: if l.startswith(('#', 'c/s')): continue l = l.rstrip() ldata = l.split() if ldata[0] == 'g/h': assert(ldata[1] == 'n' and ldata[2] == 'm') years = get_values(ldata) elif ldata[0] in ('g', 'h'): n = int(ldata[1]) m = int(ldata[2]) data[ldata[0],n,m] = list(get_values(ldata)) data[ldata[0]+'_delta',n,m] = ldata[len(ldata)-1], max_n = max(max_n, n, m) else: raise ValueError('data line in unknown format!') with open('../thgeomagdata.h','w') as fout: fout.write('''// generated by geomag/igrf2c.py #ifndef thgeomagdata_h #define thgeomagdata_h ''') for gh in ('g', 'h', 'g_delta', 'h_delta'): if 'delta' in gh: isdelta = True suffix = 'D' yy = (0,) else: isdelta = False suffix = '[%d]' % len(years) yy = range(0,len(years)) fout.write('static const double thgeomag_%sNM%s[%d][%d] = {\n' % (gh[0].upper(),suffix,max_n+1,max_n+1)) for y in yy: if not isdelta: fout.write('{\n') for n in range(0,max_n+1): fout.write(' {') for m in range(0,max_n+1): fout.write('%s, ' % (iround(data[gh,n,m][y]) if (gh,n,m) in data else '0')) fout.write('},\n') if not isdelta: fout.write('},\n') fout.write('};\n') fout.write( '''#define thgeomag_maxmindex %d #define thgeomag_step %d #define thgeomag_minyear %d #define thgeomag_maxdeg %d #endif ''' % (len(years)-1, float(years[1])-float(years[0]), float(years[0]), max_n)) print('OK: ../thgeomagdata.h created') survex-1.4.17/src/thgeomag.h0000644000175000017500000000226314567212227011367 /* * Copyright (C) 2006 Martin Budaj * * $Date: $ * $RCSfile: $ * $Revision: $ * * -------------------------------------------------------------------- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * -------------------------------------------------------------------- */ #ifndef thgeomag_h #define thgeomag_h double thgeomag(double lat, double lon, double h, double dat); // lat, long in radians, // h = height above ellipsoid in metres, // dat decimal year // output declination in radians #endif survex-1.4.17/src/guicontrol.h0000664000175000017500000001567114765126030011766 // // guicontrol.h // // Handlers for events relating to the display of a survey. // // Copyright (C) 2000-2002,2005 Mark R. Shinwell // Copyright (C) 2001-2004,2006,2014,2015 Olly Betts // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // #ifndef guicontrol_h #define guicontrol_h #include "wx.h" class GfxCore; class GUIControl { GfxCore* m_View = nullptr; enum { NO_DRAG = 0, LEFT_DRAG, MIDDLE_DRAG, RIGHT_DRAG } dragging = NO_DRAG; wxPoint m_DragStart; wxPoint m_DragRealStart; wxPoint m_DragLast; enum { drag_NONE, drag_MAIN, drag_COMPASS, drag_ELEV, drag_SCALE, drag_ZOOM } m_LastDrag = drag_NONE; enum { lock_NONE, lock_ROTATE, lock_SCALE } m_ScaleRotateLock; bool m_ReverseControls = false; void HandleRotate(wxPoint); void HandleTilt(wxPoint); void HandleTranslate(wxPoint); void HandleScaleRotate(wxPoint); void HandleTiltRotate(wxPoint); void HandCursor(); void RestoreCursor(); void HandleNonDrag(const wxPoint & point); public: GUIControl() {} void SetView(GfxCore* view); bool MouseDown() const; void OnDefaults(); void OnPlan(); void OnElevation(); void OnDisplayOverlappingNames(); void OnColourByDepth(); void OnColourByDate(); void OnColourByError(); void OnColourByHError(); void OnColourByVError(); void OnColourByGradient(); void OnColourByLength(); void OnColourBySurvey(); void OnColourByStyle(); void OnShowCrosses(); void OnShowStationNames(); void OnShowSurveyLegs(); void OnHideSplays(); void OnShowSplaysDashed(); void OnShowSplaysFaded(); void OnShowSplaysNormal(); void OnHideDupes(); void OnShowDupesDashed(); void OnShowDupesFaded(); void OnShowDupesNormal(); void OnShowSurface(); void OnMoveEast(); void OnMoveNorth(); void OnMoveSouth(); void OnMoveWest(); void OnToggleRotation(); void OnReverseControls(); void OnSlowDown(bool accel = false); void OnSpeedUp(bool accel = false); void OnStepOnceAnticlockwise(bool accel = false); void OnStepOnceClockwise(bool accel = false); void OnHigherViewpoint(bool accel = false); void OnLowerViewpoint(bool accel = false); void OnShiftDisplayDown(bool accel = false); void OnShiftDisplayLeft(bool accel = false); void OnShiftDisplayRight(bool accel = false); void OnShiftDisplayUp(bool accel = false); void OnZoomIn(bool accel = false); void OnZoomOut(bool accel = false); void OnToggleScalebar(); void OnToggleColourKey(); void OnViewCompass(); void OnViewClino(); void OnViewGrid(); void OnReverseDirectionOfRotation(); void OnShowEntrances(); void OnShowFixedPts(); void OnShowExportedPts(); void OnCancelDistLine(); void OnMouseMove(wxMouseEvent& event); void OnLButtonDown(wxMouseEvent& event); void OnLButtonUp(wxMouseEvent& event); void OnMButtonDown(wxMouseEvent& event); void OnMButtonUp(wxMouseEvent& event); void OnRButtonDown(wxMouseEvent& event); void OnRButtonUp(wxMouseEvent& event); void OnMouseWheel(wxMouseEvent& event); void OnKeyPress(wxKeyEvent &e); void OnDisplayOverlappingNamesUpdate(wxUpdateUIEvent&); void OnColourByUpdate(wxUpdateUIEvent&); void OnColourByDepthUpdate(wxUpdateUIEvent&); void OnColourByDateUpdate(wxUpdateUIEvent&); void OnColourByErrorUpdate(wxUpdateUIEvent&); void OnColourByHErrorUpdate(wxUpdateUIEvent&); void OnColourByVErrorUpdate(wxUpdateUIEvent&); void OnColourByGradientUpdate(wxUpdateUIEvent&); void OnColourByLengthUpdate(wxUpdateUIEvent&); void OnColourBySurveyUpdate(wxUpdateUIEvent&); void OnColourByStyleUpdate(wxUpdateUIEvent&); void OnShowCrossesUpdate(wxUpdateUIEvent&); void OnShowStationNamesUpdate(wxUpdateUIEvent&); void OnShowSurveyLegsUpdate(wxUpdateUIEvent&); void OnSplaysUpdate(wxUpdateUIEvent&); void OnHideSplaysUpdate(wxUpdateUIEvent&); void OnShowSplaysDashedUpdate(wxUpdateUIEvent&); void OnShowSplaysFadedUpdate(wxUpdateUIEvent&); void OnShowSplaysNormalUpdate(wxUpdateUIEvent&); void OnDupesUpdate(wxUpdateUIEvent&); void OnHideDupesUpdate(wxUpdateUIEvent&); void OnShowDupesDashedUpdate(wxUpdateUIEvent&); void OnShowDupesFadedUpdate(wxUpdateUIEvent&); void OnShowDupesNormalUpdate(wxUpdateUIEvent&); void OnShowSurfaceUpdate(wxUpdateUIEvent&); void OnMoveEastUpdate(wxUpdateUIEvent&); void OnMoveNorthUpdate(wxUpdateUIEvent&); void OnMoveSouthUpdate(wxUpdateUIEvent&); void OnMoveWestUpdate(wxUpdateUIEvent&); void OnToggleRotationUpdate(wxUpdateUIEvent&); void OnReverseControlsUpdate(wxUpdateUIEvent&); void OnReverseDirectionOfRotationUpdate(wxUpdateUIEvent&); void OnDefaultsUpdate(wxUpdateUIEvent&); void OnElevationUpdate(wxUpdateUIEvent&); void OnPlanUpdate(wxUpdateUIEvent&); void OnToggleScalebarUpdate(wxUpdateUIEvent&); void OnToggleColourKeyUpdate(wxUpdateUIEvent&); void OnViewCompassUpdate(wxUpdateUIEvent&); void OnViewClinoUpdate(wxUpdateUIEvent&); void OnViewGridUpdate(wxUpdateUIEvent&); void OnShowEntrancesUpdate(wxUpdateUIEvent&); void OnShowExportedPtsUpdate(wxUpdateUIEvent&); void OnShowFixedPtsUpdate(wxUpdateUIEvent&); void OnIndicatorsUpdate(wxUpdateUIEvent&); void OnCancelDistLineUpdate(wxUpdateUIEvent&); void OnViewPerspective(); void OnViewPerspectiveUpdate(wxUpdateUIEvent& cmd); void OnViewSmoothShading(); void OnViewSmoothShadingUpdate(wxUpdateUIEvent& cmd); void OnViewTextured(); void OnViewTexturedUpdate(wxUpdateUIEvent& cmd); void OnViewFog(); void OnViewFogUpdate(wxUpdateUIEvent& cmd); void OnViewSmoothLines(); void OnViewSmoothLinesUpdate(wxUpdateUIEvent& cmd); void OnToggleMetric(); void OnToggleMetricUpdate(wxUpdateUIEvent& cmd); void OnToggleDegrees(); void OnToggleDegreesUpdate(wxUpdateUIEvent& cmd); void OnTogglePercent(); void OnTogglePercentUpdate(wxUpdateUIEvent& cmd); void OnToggleTubes(); void OnToggleTubesUpdate(wxUpdateUIEvent& cmd); void OnViewFullScreenUpdate(wxUpdateUIEvent&); void OnViewFullScreen(); void OnViewBoundingBoxUpdate(wxUpdateUIEvent&); void OnViewBoundingBox(); void OnViewTerrainUpdate(wxUpdateUIEvent&); void OnViewTerrain(); }; #endif survex-1.4.17/src/wx.h0000664000175000017500000000243614756727464010254 // // wx.h // // Include wxWidgets headers. // // Copyright (C) 2000,2001,2002 Mark R. Shinwell // Copyright (C) 2001,2003,2005,2006,2007,2008,2015 Olly Betts // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // #include #ifdef __BORLANDC__ # pragma hdrstop #endif #ifndef WX_PRECOMP # include #endif #if !wxCHECK_VERSION(3,0,0) # error We support building with wxWidgets 3.0.0 or newer #endif #include #include #include #include #if !wxUSE_GLCANVAS # error wxWidgets must be built with wxUSE_GLCANVAS set to 1 #endif #include survex-1.4.17/src/thgeomag.c0000644000175000017500000001336514567212227011367 /** * @file thgeomag.cxx */ /* Copyright (C) 2006 Martin Budaj * * based on GPL-licensed code by * Copyright (C) 2000 Edward A Williams * * -------------------------------------------------------------------- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * -------------------------------------------------------------------- */ #include "thgeomag.h" #include #include "thgeomagdata.h" #define max(a,b) (((a) > (b)) ? (a) : (b)) /*struct magfield_ { double X, Y, Z; }; magfield_ magfield;*/ #define nmax thgeomag_maxdeg #define nmaxl thgeomag_maxdeg #define pi 3.14159265358979 #define a 6378.137 #define b 6356.7523142 #define r_0 6371.2 double thgeomag(double lat, double lon, double h, double dat) { int n,m; static double P[nmax+1][nmax+1]; static double DP[nmax+1][nmax+1]; static double gnm[nmax+1][nmax+1]; static double hnm[nmax+1][nmax+1]; static double sm[nmax+1]; static double cm[nmax+1]; static double root[nmax+1]; static double roots[nmax+1][nmax+1][2]; double yearfrac,sr,r,theta,c,s,psi,fn,fn_0,B_r,B_theta,B_phi,X,Y; /* Z */ double sinpsi, cospsi, inv_s; static int been_here = 0; double sinlat = sin(lat); double coslat = cos(lat); h = h / 1000; /* convert to geocentric */ sr = sqrt(a*a*coslat*coslat + b*b*sinlat*sinlat); /* sr is effective radius */ theta = atan2(coslat * (h*sr + a*a), sinlat * (h*sr + b*b)); /* theta is geocentric co-latitude */ r = h*h + 2.0*h * sr + (a*a*a*a - ( a*a*a*a - b*b*b*b ) * sinlat*sinlat ) / (a*a - (a*a - b*b) * sinlat*sinlat ); r = sqrt(r); /* r is geocentric radial distance */ c = cos(theta); s = sin(theta); /* protect against zero divide at geographic poles */ inv_s = 1.0 / (s + (s == 0.)*1.0e-8); /*zero out arrays */ for ( n = 0; n <= nmax; n++ ) { for ( m = 0; m <= n; m++ ) { P[n][m] = 0; DP[n][m] = 0; } } /* diagonal elements */ P[0][0] = 1; P[1][1] = s; DP[0][0] = 0; DP[1][1] = c; P[1][0] = c ; DP[1][0] = -s; /* these values will not change for subsequent function calls */ if( !been_here ) { for ( n = 2; n <= nmax; n++ ) { root[n] = sqrt((2.0*n-1) / (2.0*n)); } for ( m = 0; m <= nmax; m++ ) { double mm = m*m; for ( n = max(m + 1, 2); n <= nmax; n++ ) { roots[m][n][0] = sqrt((n-1)*(n-1) - mm); roots[m][n][1] = 1.0 / sqrt( n*n - mm); } } been_here = 1; } for ( n=2; n <= nmax; n++ ) { /* double root = sqrt((2.0*n-1) / (2.0*n)); */ P[n][n] = P[n-1][n-1] * s * root[n]; DP[n][n] = (DP[n-1][n-1] * s + P[n-1][n-1] * c) * root[n]; } /* lower triangle */ for ( m = 0; m <= nmax; m++ ) { /* double mm = m*m; */ for ( n = max(m + 1, 2); n <= nmax; n++ ) { /* double root1 = sqrt((n-1)*(n-1) - mm); */ /* double root2 = 1.0 / sqrt( n*n - mm); */ P[n][m] = (P[n-1][m] * c * (2.0*n-1) - P[n-2][m] * roots[m][n][0]) * roots[m][n][1]; DP[n][m] = ((DP[n-1][m] * c - P[n-1][m] * s) * (2.0*n-1) - DP[n-2][m] * roots[m][n][0]) * roots[m][n][1]; } } /* compute gnm, hnm at dat */ int mindex = (int)((dat - thgeomag_minyear) / thgeomag_step); if (mindex < 0) mindex = 0; if (mindex > thgeomag_maxmindex) mindex = thgeomag_maxmindex; yearfrac = dat - thgeomag_step*mindex - thgeomag_minyear; for (n=1;n<=nmaxl;n++) { for (m = 0;m<=nmaxl;m++) { if (mindex == thgeomag_maxmindex) { gnm[n][m] = thgeomag_GNM[mindex][n][m] + yearfrac * thgeomag_GNMD[n][m]; hnm[n][m] = thgeomag_HNM[mindex][n][m] + yearfrac * thgeomag_HNMD[n][m]; } else { gnm[n][m] = thgeomag_GNM[mindex][n][m] + yearfrac / thgeomag_step * (thgeomag_GNM[mindex+1][n][m] - thgeomag_GNM[mindex][n][m]); hnm[n][m] = thgeomag_HNM[mindex][n][m] + yearfrac / thgeomag_step * (thgeomag_HNM[mindex+1][n][m] - thgeomag_HNM[mindex][n][m]); } } } /* compute sm (sin(m lon) and cm (cos(m lon)) */ for (m = 0;m<=nmaxl;m++) { sm[m] = sin(m * lon); cm[m] = cos(m * lon); } /* compute B fields */ B_r = 0.0; B_theta = 0.0; B_phi = 0.0; fn_0 = r_0/r; fn = fn_0 * fn_0; for ( n = 1; n <= nmaxl; n++ ) { double c1_n=0; double c2_n=0; double c3_n=0; for ( m = 0; m <= n; m++ ) { double tmp = (gnm[n][m] * cm[m] + hnm[n][m] * sm[m]); c1_n += tmp * P[n][m]; c2_n += tmp * DP[n][m]; c3_n += m * (gnm[n][m] * sm[m] - hnm[n][m] * cm[m]) * P[n][m]; } /* fn=pow(r_0/r,n+2.0); */ fn *= fn_0; B_r += (n + 1) * c1_n * fn; B_theta -= c2_n * fn; B_phi += c3_n * fn * inv_s; } /* Find geodetic field components: */ psi = theta - (pi / 2.0 - lat); sinpsi = sin(psi); cospsi = cos(psi); X = -B_theta * cospsi - B_r * sinpsi; Y = B_phi; /* Z = B_theta * sinpsi - B_r * cospsi; */ /* field[0]=B_r; field[1]=B_theta; field[2]=B_phi; field[3]=X; field[4]=Y; field[5]=Z;*/ /* output fields */ /* find variation in radians */ /* return zero variation at magnetic pole X=Y=0. */ /* E is positive */ /* magfield.X = X; magfield.Y = Y; magfield.Z = Z; */ return (X != 0. || Y != 0.) ? atan2(Y, X) : (double) 0.; } survex-1.4.17/src/model.cc0000664000175000017500000005245114766370246011047 // // model.cc // // Cave survey model. // // Copyright (C) 2000-2002,2005,2006 Mark R. Shinwell // Copyright (C) 2001-2024 Olly Betts // Copyright (C) 2005 Martin Green // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // #include #include "model.h" #include "img_for_survex.h" #include "namecompare.h" #include "useful.h" #include #include using namespace std; int Model::Load(const wxString& file, const wxString& prefix) { // Load the processed survey data. img* survey = img_read_stream_survey(wxFopen(file, wxT("rb")), fclose, file.c_str(), prefix.utf8_str()); if (!survey) { return img_error2msg(img_error()); } m_IsExtendedElevation = survey->is_extended_elevation; // Create a list of all the leg vertices, counting them and finding the // extent of the survey at the same time. m_NumFixedPts = 0; m_NumExportedPts = 0; m_NumEntrances = 0; m_HasUndergroundLegs = false; m_HasSplays = false; m_HasDupes = false; m_HasSurfaceLegs = false; m_HasErrorInformation = false; added_plot_order_keys = false; // FIXME: discard existing presentation? ask user about saving if we do! // Delete any existing list entries. m_Labels.clear(); double xmin = DBL_MAX; double xmax = -DBL_MAX; double ymin = DBL_MAX; double ymax = -DBL_MAX; double zmin = DBL_MAX; double zmax = -DBL_MAX; m_DepthMin = DBL_MAX; double depthmax = -DBL_MAX; m_DateMin = INT_MAX; int datemax = -1; complete_dateinfo = true; for (unsigned f = 0; f != sizeof(traverses) / sizeof(traverses[0]); ++f) { traverses[f].clear(); } tubes.clear(); // Ultimately we probably want different types (subclasses perhaps?) for // underground and surface data, so we don't need to store LRUD for surface // stuff. traverse * current_traverse = NULL; vector * current_tube = NULL; map labelmap; list::const_iterator last_mapped_label = m_Labels.begin(); int result; img_point prev_pt = {0,0,0}; bool current_polyline_is_surface = false; int current_flags = 0; int current_style = 0; string current_label; bool pending_move = false; // When legs within a traverse have different surface/splay/duplicate // flags, we split it into contiguous traverses of each flag combination, // but we need to track these so we can assign the error statistics to all // of them. So we keep counts of how many of each combination we've // generated for the current traverse. size_t n_traverses[8]; memset(n_traverses, 0, sizeof(n_traverses)); do { #if 0 if (++items % 200 == 0) { long pos = ftell(survey->fh); int progress = int((double(pos) / double(file_size)) * 100.0); // SetProgress(progress); } #endif img_point pt; result = img_read_item(survey, &pt); switch (result) { case img_MOVE: memset(n_traverses, 0, sizeof(n_traverses)); pending_move = true; prev_pt = pt; break; case img_LINE: { // Update survey extents. if (pt.x < xmin) xmin = pt.x; if (pt.x > xmax) xmax = pt.x; if (pt.y < ymin) ymin = pt.y; if (pt.y > ymax) ymax = pt.y; if (pt.z < zmin) zmin = pt.z; if (pt.z > zmax) zmax = pt.z; int date = survey->days1; if (date != -1) { date += (survey->days2 - date) / 2; if (date < m_DateMin) m_DateMin = date; if (date > datemax) datemax = date; } else { complete_dateinfo = false; } int flags = survey->flags & (img_FLAG_SURFACE|img_FLAG_SPLAY|img_FLAG_DUPLICATE); bool is_surface = (flags & img_FLAG_SURFACE); bool is_splay = (flags & img_FLAG_SPLAY); bool is_dupe = (flags & img_FLAG_DUPLICATE); if (!is_surface) { if (pt.z < m_DepthMin) m_DepthMin = pt.z; if (pt.z > depthmax) depthmax = pt.z; } if (is_splay) m_HasSplays = true; if (is_dupe) m_HasDupes = true; if (pending_move || current_flags != flags || current_label != survey->label || current_style != survey->style) { if (!current_polyline_is_surface && current_traverse) { //FixLRUD(*current_traverse); } ++n_traverses[flags]; // Start new traverse (surface or underground). if (is_surface) { m_HasSurfaceLegs = true; } else { m_HasUndergroundLegs = true; // The previous point was at a surface->ug transition. if (current_polyline_is_surface) { if (prev_pt.z < m_DepthMin) m_DepthMin = prev_pt.z; if (prev_pt.z > depthmax) depthmax = prev_pt.z; } } traverses[flags].push_back(traverse(survey->label)); current_traverse = &traverses[flags].back(); current_traverse->flags = survey->flags; current_traverse->style = survey->style; current_polyline_is_surface = is_surface; current_flags = flags; current_label = survey->label; current_style = survey->style; if (pending_move) { // Update survey extents. We only need to do this if // there's a pending move, since for a surface <-> // underground transition, we'll already have handled // this point. if (prev_pt.x < xmin) xmin = prev_pt.x; if (prev_pt.x > xmax) xmax = prev_pt.x; if (prev_pt.y < ymin) ymin = prev_pt.y; if (prev_pt.y > ymax) ymax = prev_pt.y; if (prev_pt.z < zmin) zmin = prev_pt.z; if (prev_pt.z > zmax) zmax = prev_pt.z; } current_traverse->push_back(PointInfo(prev_pt)); } current_traverse->push_back(PointInfo(pt, date)); prev_pt = pt; pending_move = false; break; } case img_LABEL: { wxString s(survey->label, wxConvUTF8); if (s.empty()) { // If label isn't valid UTF-8 then this conversion will // give an empty string. In this case, assume that the // label is CP1252 (the Microsoft superset of ISO8859-1). static wxCSConv ConvCP1252(wxFONTENCODING_CP1252); s = wxString(survey->label, ConvCP1252); if (s.empty()) { // Or if that doesn't work (ConvCP1252 doesn't like // strings with some bytes in) let's just go for // ISO8859-1. s = wxString(survey->label, wxConvISO8859_1); } } int flags = (survey->flags & LFLAG_IMG_MASK); LabelInfo* label = new LabelInfo(pt, s, flags); if (label->IsEntrance()) { m_NumEntrances++; } if (label->IsFixedPt()) { m_NumFixedPts++; } if (label->IsExportedPt()) { m_NumExportedPts++; } m_Labels.push_back(label); break; } case img_XSECT: { if (!current_tube) { // Start new current_tube. tubes.push_back(vector()); current_tube = &tubes.back(); } LabelInfo * lab; wxString label(survey->label, wxConvUTF8); map::const_iterator p; p = labelmap.find(label); if (p != labelmap.end()) { lab = p->second; } else { // Initialise labelmap lazily - we may have no // cross-sections. list::const_iterator i; if (labelmap.empty()) { i = m_Labels.begin(); } else { i = last_mapped_label; ++i; } while (i != m_Labels.end() && (*i)->GetText() != label) { labelmap[(*i)->GetText()] = *i; ++i; } last_mapped_label = i; if (i == m_Labels.end()) { // Unattached cross-section - ignore for now. printf("unattached cross-section\n"); if (current_tube->size() <= 1) tubes.resize(tubes.size() - 1); current_tube = NULL; if (!m_Labels.empty()) --last_mapped_label; break; } lab = *i; labelmap[label] = lab; } int date = survey->days1; if (date != -1) { date += (survey->days2 - date) / 2; if (date < m_DateMin) m_DateMin = date; if (date > datemax) datemax = date; } current_tube->emplace_back(lab, date, survey->l, survey->r, survey->u, survey->d); break; } case img_XSECT_END: // Finish off current_tube. // If there's only one cross-section in the tube, just // discard it for now. FIXME: we should handle this // when we come to skinning the tubes. if (current_tube && current_tube->size() <= 1) tubes.resize(tubes.size() - 1); current_tube = NULL; break; case img_ERROR_INFO: { if (survey->E == 0.0 && survey->H == 0.0 && survey->V == 0.0) { // Currently cavern doesn't spot all articulating traverses // so we assume that any traverse with no error isn't part // of a loop. FIXME: fix cavern! break; } m_HasErrorInformation = true; for (size_t f = 0; f != sizeof(traverses) / sizeof(traverses[0]); ++f) { list::reverse_iterator t = traverses[f].rbegin(); size_t n = n_traverses[f]; n_traverses[f] = 0; while (n) { assert(t != traverses[f].rend()); t->n_legs = survey->n_legs; t->length = survey->length; t->errors[traverse::ERROR_3D] = survey->E; t->errors[traverse::ERROR_H] = survey->H; t->errors[traverse::ERROR_V] = survey->V; --n; ++t; } } break; } case img_BAD: { m_Labels.clear(); // FIXME: Do we need to reset all these? - Olly m_NumFixedPts = 0; m_NumExportedPts = 0; m_NumEntrances = 0; m_HasUndergroundLegs = false; m_HasSplays = false; m_HasSurfaceLegs = false; img_close(survey); return img_error2msg(img_error()); } default: break; } } while (result != img_STOP); if (!current_polyline_is_surface && current_traverse) { //FixLRUD(*current_traverse); } // Finish off current_tube. // If there's only one cross-section in the tube, just // discard it for now. FIXME: we should handle this // when we come to skinning the tubes. if (current_tube && current_tube->size() <= 1) tubes.resize(tubes.size() - 1); m_separator = survey->separator; m_Title = wxString(survey->title, wxConvUTF8); m_DateStamp_numeric = survey->datestamp_numeric; if (survey->cs) { m_cs_proj = wxString(survey->cs, wxConvUTF8); } else { m_cs_proj = wxString(); } if (strcmp(survey->datestamp, "?") == 0) { /* TRANSLATORS: used a processed survey with no processing date/time info */ m_DateStamp = wmsg(/*Date and time not available.*/108); } else if (survey->datestamp[0] == '@') { const struct tm * tm = localtime(&m_DateStamp_numeric); char buf[256]; /* TRANSLATORS: This is the date format string used to timestamp .3d * files internally. Probably best to keep it the same for all * translations. */ strftime(buf, 256, msg(/*%a,%Y.%m.%d %H:%M:%S %Z*/107), tm); m_DateStamp = wxString(buf, wxConvUTF8); } if (m_DateStamp.empty()) { m_DateStamp = wxString(survey->datestamp, wxConvUTF8); } img_close(survey); // Check we've actually loaded some legs or stations! if (!m_HasUndergroundLegs && !m_HasSurfaceLegs && m_Labels.empty()) { return (/*No survey data in 3d file “%s”*/202); } if (traverses[0].empty() && traverses[1].empty() && traverses[2].empty() && traverses[3].empty() && traverses[4].empty() && traverses[5].empty() && traverses[6].empty() && traverses[7].empty()) { // No legs, so get survey extents from stations list::const_iterator i; for (i = m_Labels.begin(); i != m_Labels.end(); ++i) { if ((*i)->GetX() < xmin) xmin = (*i)->GetX(); if ((*i)->GetX() > xmax) xmax = (*i)->GetX(); if ((*i)->GetY() < ymin) ymin = (*i)->GetY(); if ((*i)->GetY() > ymax) ymax = (*i)->GetY(); if ((*i)->GetZ() < zmin) zmin = (*i)->GetZ(); if ((*i)->GetZ() > zmax) zmax = (*i)->GetZ(); } } m_Ext.assign(xmax - xmin, ymax - ymin, zmax - zmin); if (datemax < m_DateMin) m_DateMin = datemax; m_DateExt = datemax - m_DateMin; // Centre the dataset around the origin. CentreDataset(Vector3(xmin, ymin, zmin)); if (depthmax < m_DepthMin) { m_DepthMin = 0; m_DepthExt = 0; } else { m_DepthExt = depthmax - m_DepthMin; m_DepthMin -= GetOffset().GetZ(); } #if 0 printf("time to load = %.3f\n", (double)timer.Time()); #endif return 0; // OK } void Model::CentreDataset(const Vector3& vmin) { // Centre the dataset around the origin. m_Offset = vmin + (m_Ext * 0.5); for (unsigned f = 0; f != sizeof(traverses) / sizeof(traverses[0]); ++f) { list::iterator t = traverses[f].begin(); while (t != traverses[f].end()) { assert(t->size() > 1); vector::iterator pos = t->begin(); while (pos != t->end()) { Point & point = *pos++; point -= m_Offset; } ++t; } } list::iterator lpos = m_Labels.begin(); while (lpos != m_Labels.end()) { Point & point = **lpos++; point -= m_Offset; } } void Model::do_prepare_tubes() const { // Fill in "right_bearing" for each cross-section. for (auto&& tube : tubes) { assert(tube.size() > 1); Vector3 U[4]; XSect* prev_pt_v = NULL; Vector3 last_right(1.0, 0.0, 0.0); vector::iterator i = tube.begin(); vector::size_type segment = 0; while (i != tube.end()) { // get the coordinates of this vertex XSect & pt_v = *i++; bool cover_end = false; Vector3 right, up; const Vector3 up_v(0.0, 0.0, 1.0); if (segment == 0) { assert(i != tube.end()); // first segment // get the coordinates of the next vertex const XSect & next_pt_v = *i; // calculate vector from this pt to the next one Vector3 leg_v = next_pt_v - pt_v; // obtain a vector in the LRUD plane right = leg_v * up_v; if (right.magnitude() == 0) { right = last_right; // Obtain a second vector in the LRUD plane, // perpendicular to the first. //up = right * leg_v; up = up_v; } else { last_right = right; up = up_v; } cover_end = true; } else if (segment + 1 == tube.size()) { // last segment // Calculate vector from the previous pt to this one. Vector3 leg_v = pt_v - *prev_pt_v; // Obtain a horizontal vector in the LRUD plane. right = leg_v * up_v; if (right.magnitude() == 0) { right = Vector3(last_right.GetX(), last_right.GetY(), 0.0); // Obtain a second vector in the LRUD plane, // perpendicular to the first. //up = right * leg_v; up = up_v; } else { last_right = right; up = up_v; } cover_end = true; } else { assert(i != tube.end()); // Intermediate segment. // Get the coordinates of the next vertex. const XSect & next_pt_v = *i; // Calculate vectors from this vertex to the // next vertex, and from the previous vertex to // this one. Vector3 leg1_v = pt_v - *prev_pt_v; Vector3 leg2_v = next_pt_v - pt_v; // Obtain horizontal vectors perpendicular to // both legs, then normalise and average to get // a horizontal bisector. Vector3 r1 = leg1_v * up_v; Vector3 r2 = leg2_v * up_v; r1.normalise(); r2.normalise(); right = r1 + r2; if (right.magnitude() == 0) { // This is the "mid-pitch" case... right = last_right; } if (r1.magnitude() == 0) { up = up_v; // Rotate pitch section to minimise the // "torsional stress" - FIXME: use // triangles instead of rectangles? int shift = 0; double maxdotp = 0; // Scale to unit vectors in the LRUD plane. right.normalise(); up.normalise(); Vector3 vec = up - right; for (int orient = 0; orient <= 3; ++orient) { Vector3 tmp = U[orient] - prev_pt_v->GetPoint(); tmp.normalise(); double dotp = dot(vec, tmp); if (dotp > maxdotp) { maxdotp = dotp; shift = orient; } } if (shift) { if (shift != 2) { Vector3 temp(U[0]); U[0] = U[shift]; U[shift] = U[2]; U[2] = U[shift ^ 2]; U[shift ^ 2] = temp; } else { swap(U[0], U[2]); swap(U[1], U[3]); } } #if 0 // Check that the above code actually permuted // the vertices correctly. shift = 0; maxdotp = 0; for (int j = 0; j <= 3; ++j) { Vector3 tmp = U[j] - *prev_pt_v; tmp.normalise(); double dotp = dot(vec, tmp); if (dotp > maxdotp) { maxdotp = dotp + 1e-6; // Add small tolerance to stop 45 degree offset cases being flagged... shift = j; } } if (shift) { printf("New shift = %d!\n", shift); shift = 0; maxdotp = 0; for (int j = 0; j <= 3; ++j) { Vector3 tmp = U[j] - *prev_pt_v; tmp.normalise(); double dotp = dot(vec, tmp); printf(" %d : %.8f\n", j, dotp); } } #endif } else { up = up_v; } last_right = right; } // Scale to unit vectors in the LRUD plane. right.normalise(); up.normalise(); double l = fabs(pt_v.GetL()); double r = fabs(pt_v.GetR()); double u = fabs(pt_v.GetU()); double d = fabs(pt_v.GetD()); // Produce coordinates of the corners of the LRUD "plane". Vector3 v[4]; v[0] = pt_v.GetPoint() - right * l + up * u; v[1] = pt_v.GetPoint() + right * r + up * u; v[2] = pt_v.GetPoint() + right * r - up * d; v[3] = pt_v.GetPoint() - right * l - up * d; prev_pt_v = &pt_v; U[0] = v[0]; U[1] = v[1]; U[2] = v[2]; U[3] = v[3]; // FIXME: Store rather than recomputing on each draw? (void)cover_end; pt_v.set_right_bearing(deg(atan2(right.GetX(), right.GetY()))); ++segment; } } } void SurveyFilter::add(const wxString& name) { auto it = filters.lower_bound(name); if (it != filters.end()) { // It's invalid to add a survey which is already present. assert(*it != name); // Check if a survey prefixing name is visible. if (name.StartsWith(*it) && name[it->size()] == separator) { redundant_filters.insert(name); return; } } while (it != filters.begin()) { --it; const wxString& s = *it; if (s.size() <= name.size()) break; if (s.StartsWith(name) && s[name.size()] == separator) { redundant_filters.insert(s); it = filters.erase(it); } } filters.insert(name); } void SurveyFilter::remove(const wxString& name) { if (filters.erase(name) == 0) { redundant_filters.erase(name); return; } if (redundant_filters.empty()) { return; } auto it = redundant_filters.upper_bound(name); while (it != redundant_filters.begin()) { --it; // Check if a survey prefixed by name should be made visible. const wxString& s = *it; if (s.size() <= name.size()) { break; } if (!(s.StartsWith(name) && s[name.size()] == separator)) break; filters.insert(s); it = redundant_filters.erase(it); } } void SurveyFilter::SetSeparator(wxChar separator_) { if (separator_ == separator) return; separator = separator_; if (filters.empty()) { return; } // Move aside all the filters already set and re-add() them so they get // split into redundant_filters appropriately. std::set> old_filters; std::set> old_redundant_filters; swap(filters, old_filters); swap(redundant_filters, old_redundant_filters); for (auto& s : old_filters) { add(s); } for (auto& s : old_redundant_filters) { add(s); } } bool SurveyFilter::CheckVisible(const wxString& name) const { auto it = filters.lower_bound(name); if (it == filters.end()) { // There's no filter <= name so name is excluded. return false; } if (*it == name) { // Exact match. return true; } // Check if a survey prefixing name is visible. if (name.StartsWith(*it) && name[it->size()] == separator) return true; return false; } class LabelCmp : public greater { wxChar separator; public: explicit LabelCmp(wxChar separator_) : separator(separator_) {} bool operator()(const LabelInfo* pt1, const LabelInfo* pt2) { return name_cmp(pt1->GetText(), pt2->GetText(), separator) < 0; } }; void Model::SortLabelsByName() { m_Labels.sort(LabelCmp(GetSeparator())); } class LabelPlotCmp : public greater { wxChar separator; public: explicit LabelPlotCmp(wxChar separator_) : separator(separator_) {} bool operator()(const LabelInfo* pt1, const LabelInfo* pt2) { int n = pt1->get_flags() - pt2->get_flags(); if (n) return n > 0; wxString l1 = pt1->GetText().AfterLast(separator); wxString l2 = pt2->GetText().AfterLast(separator); n = name_cmp(l1, l2, separator); if (n) return n < 0; // Prefer non-2-nodes... // FIXME; implement // if leaf names are the same, prefer shorter labels as we can // display more of them n = pt1->GetText().length() - pt2->GetText().length(); if (n) return n < 0; // make sure that we don't ever compare different labels as equal return name_cmp(pt1->GetText(), pt2->GetText(), separator) < 0; } }; void Model::SortLabelsByPlotOrder() { if (!added_plot_order_keys) { const static int img2aven_tab[] = { #include "img2aven.h" }; for (LabelInfo* i : m_Labels) { i->set_flags(img2aven_tab[i->get_flags() & LFLAG_IMG_MASK]); } added_plot_order_keys = true; } m_Labels.sort(LabelPlotCmp(GetSeparator())); } survex-1.4.17/acinclude.m40000644000175000017500000000223714563510437011026 dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION]) dnl dnl This macro sets VARNAME to the expansion of the DIR variable, dnl taking care of fixing up ${prefix} and such. dnl dnl VARNAME is then offered as both an output variable and a C dnl preprocessor symbol. dnl dnl Example: dnl dnl AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.]) dnl dnl @category Misc dnl @author Stepan Kasal dnl @author Andreas Schwab dnl @author Guido Draheim dnl @author Alexandre Oliva dnl @version 2005-07-29 dnl @license AllPermissive AC_DEFUN([AC_DEFINE_DIR], [ prefix_NONE= exec_prefix_NONE= test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn dnl refers to ${prefix}. Thus we have to use `eval' twice. eval ac_define_dir="\"[$]$2\"" eval ac_define_dir="\"$ac_define_dir\"" AC_SUBST($1, "$ac_define_dir") AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3]) test "$prefix_NONE" && prefix=NONE test "$exec_prefix_NONE" && exec_prefix=NONE ]) survex-1.4.17/survex.spec.in0000664000175000017500000000257014756727464011472 # @configure_input@ Summary: Cave Surveying Software Name: @PACKAGE@ Vendor: The Survex Project Version: @VERSION@ Release: @RELEASE@ License: GPL Group: Applications/Misc Source: https://survex.com/software/@VERSION@/@PACKAGE@-@VERSION@.tar.gz URL: https://survex.com/ Packager: Olly Betts # Fedora have removed gcc from the default build environment so explicitly list it here BuildRequires: wxGTK3-devel, proj-devel, gcc-g++ Requires: wxGTK3, proj, proj-epsg BuildRoot: %{_tmppath}/%{name}-buildroot %description @DESC@ %prep %setup %build [ "%{buildroot}" = "/" ] && echo "buildroot cannot be /" && exit 1 ./configure --prefix=/usr make %install [ "%{buildroot}" = "/" ] && echo "buildroot cannot be /" && exit 1 [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} mkdir -p "%{buildroot}" make install DESTDIR="%{buildroot}" make -C vim vimdir=/usr/share/vim install DESTDIR="%{buildroot}" # Move docs back into build tree to keep rpmbuild happy by letting # it do the installing. mv "%{buildroot}"/usr/share/doc/@PACKAGE@ ./built-docs %clean [ "%{buildroot}" = "/" ] && echo "buildroot cannot be /" && exit 1 [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files %defattr(-, root, root) %doc @EXTRA_TEXT@ %doc built-docs/* %doc /usr/share/man/ /usr/bin/* /usr/share/@PACKAGE@/ /usr/share/mime/ /usr/share/applications/survex-aven.desktop /usr/share/icons/ /usr/share/vim/ survex-1.4.17/missing0000755000175000017500000001706014766657026010247 #! /bin/sh # Common wrapper for a few potentially missing GNU and other programs. scriptversion=2024-06-07.14; # UTC # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells # Copyright (C) 1996-2024 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autogen autoheader autom4te automake autoreconf bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Report bugs to . GNU Automake home page: . General help using GNU software: ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing (GNU Automake) $scriptversion" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=https://www.perl.org/ flex_URL=https://github.com/westes/flex gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in aclocal|automake|autoreconf) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; *) : ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" autoheader_deps="'acconfig.h'" automake_deps="'Makefile.am'" aclocal_deps="'acinclude.m4'" case $normalized_program in aclocal*) echo "You should only need it if you modified $aclocal_deps or" echo "$configure_deps." ;; autoconf*) echo "You should only need it if you modified $configure_deps." ;; autogen*) echo "You should only need it if you modified a '.def' or '.tpl' file." echo "You may want to install the GNU AutoGen package:" echo "<$gnu_software_URL/autogen/>" ;; autoheader*) echo "You should only need it if you modified $autoheader_deps or" echo "$configure_deps." ;; automake*) echo "You should only need it if you modified $automake_deps or" echo "$configure_deps." ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." ;; autoreconf*) echo "You should only need it if you modified $aclocal_deps or" echo "$automake_deps or $autoheader_deps or $automake_deps or" echo "$configure_deps." ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; perl*) echo "You should only need it to run GNU Autoconf, GNU Automake, " echo " assorted other tools, or if you modified a Perl source file." echo "You may want to install the Perl 5 language interpreter:" echo "<$perl_URL>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac program_details "$normalized_program" } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: survex-1.4.17/INSTALL0000664000175000017500000000512614765126030007664 Installing Survex on Unix ========================= If you are using Debian Linux or Ubuntu Linux or a distribution based on one of these, you will find it easier to install one of the prepackaged versions of Survex. Otherwise you'll need to build from source. These instructions assume you're building from released tar archive - if you want to build from by checking out code from the git repository then you'll need additional tools installed, documented at: https://survex.com/cvs.html First of all, you need to make sure you have the required libraries installed. Where possible it's usually easier to install these using your Linux distribution's package manager. Note that C/C++ library packages are usually split into runtime and development, usually with similar names but with a -dev or -devel or similar suffix on the development one. You'll need both installed to build Survex, but typically installing the development package will automatically install the corresponding runtime package too. * The main dependency is wxWidgets 3.0 or later - if there's a suitable wxWidgets package for your platform, then just use that. Otherwise download the source code from https://wxwidgets.org/ and follow their build instructions. IMPORTANT: You must enable OpenGL support by adding --with-opengl to the configure command line. * You'll also need a working C and C++ compiler (with support for C99 and C++11), and also the OpenGL development libraries if these aren't pulled in by installing wxWidgets. * Version 7.2.0 or later of the PROJ library is needed for coordinate conversion functionality. * Optionally, GDAL is used to support reading geodata files. If not available this feature is disabled. * Optionally, FFMPEG is used if available to implement Aven's movie export feature. If not available this feature is disabled. Then at a shell prompt, unpack the source code, cd into the directory, and enter the following commands: ./configure make make install By default 'make install' will try to install Survex under /usr/local, which means you'll probably need to become root for the 'make install' stage. If you use sudo to manage root access, then: sudo make install You can tell configure to install Survex elsewhere (e.g. under your home directory) like so: ./configure --prefix=/home/olly/survex make make install If your wxWidgets installation isn't picked up automatically, or you have more than one version installed and want to select a particular one, then you can specify this like so: ./configure WX_CONFIG=/opt/bin/wx-config You can use both --prefix and WX_CONFIG= if necessary.

This document only describes the most recent revision of the 3d format (version 8) which is produced by versions from 1.2.7. A separate document describes older versions.